Repository: NVIDIA/NVFlare (language: python)

Issue:
Add API for Pythonic Job Creation
Fixes # .

### Description

- Adds API for Pythonic Job Creation
- `FedJob` allows users to generate job configurations in a Pythonic way. The `to()` routine allows users to send different components to either the server or clients.
- Adds the first set of examples utilizing Job API
- More tutorials to follow

Depends on https://github.com/NVIDIA/NVFlare/pull/2578

### Types of changes
<!--- Put an `x` in all the boxes that apply, and remove the not applicable items -->
- [x] Non-breaking change (fix or new feature that would not break existing functionality).
- [ ] Breaking change (fix or new feature that would cause existing functionality to change).
- [ ] New tests added to cover the changes.
- [ ] Quick tests passed locally by running `./runtest.sh`.
- [ ] In-line docstrings updated.
- [ ] Documentation updated.



Discussion / hints:
/build
> add few comments. I haven't look into the examples. only focused on the job APIs

@chesterxgchen addressed your comments and replied. Please take a look.
/build
/build
/build
/build
/build
/build
/build
/build
/build

Fix patch:
diff --git a/setup.cfg b/setup.cfg
index c07c44e483..44b1930d45 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -83,8 +83,8 @@ test_support =
     flake8==5.0.4
     black==22.10.0
     click==8.1.3
-    pytest-xdist==3.0.2
-    pytest-cov==4.0.0
+    pytest-xdist==3.6.1
+    pytest-cov==5.0.0
     pandas>=1.5.1
 
 test =


Test patch:
diff --git a/runtest.sh b/runtest.sh
index c097fa3c55..bc4d76a343 100755
--- a/runtest.sh
+++ b/runtest.sh
@@ -267,7 +267,7 @@ do
         ;;
 
         -u |--unit*)
-            cmd_prefix="python3 -m pytest --numprocesses=auto -v "
+            cmd_prefix="python3 -m pytest --numprocesses=8 -v "
 
             echo "coverage_report=" ${coverage_report}
             if [ "${coverage_report}" == true ]; then
@@ -304,7 +304,7 @@ if [[ -z $cmd ]]; then
     cmd="check_license;
         check_style_type_import "${DIR_TO_CHECK[@]}";
         fix_style_import "${DIR_TO_CHECK[@]}";
-        python3 -m pytest --numprocesses=auto -v --cov=nvflare --cov-report html:cov_html --cov-report xml:cov.xml --junitxml=unit_test.xml --dist loadgroup tests/unit_test;
+        python3 -m pytest --numprocesses=8 -v --cov=nvflare --cov-report html:cov_html --cov-report xml:cov.xml --junitxml=unit_test.xml --dist loadgroup tests/unit_test;
         "
 else
     cmd="$cmd $target"