瀏覽代碼

Feature/#923 create taipy common (#1833)

* feat(taipy-common): add common package and move config, _cli and logger to it

* feat(taipy-common): refactor imports

* feat(taipy-common): refactor release action

* feat(taipy-common): fix templates tests

* fix(taipy-common): fix config.pyi path

Update config.pyi

* chore(taipy-common): fix missing imports on pyi_header

* chore(taipy-common): remove cli testing section on partial tests

* Update config.pyi

* chore(taipy-common): fix config import on migrate_cli

* fix: missing common when importing taipy config

* chore(taipy-common): bump dev version

* chore(taipy-common): fix package name

* chore(taipy-common): fix import format

---------

Co-authored-by: joaoandre-avaiga <joaoandre-avaiga@users.noreply.github.com>
Co-authored-by: trgiangdo <dtr.giang.1299@gmail.com>
João André 7 月之前
父節點
當前提交
03b3ff3100
共有 100 個文件被更改,包括 262 次插入259 次删除
  1. 9 9
      .github/workflows/build-and-release-single-package.yml
  2. 10 19
      .github/workflows/build-and-release.yml
  3. 1 1
      .github/workflows/check-config-pyi.yml
  4. 6 18
      .github/workflows/partial-tests.yml
  5. 1 1
      .github/workflows/publish-single-package.yml
  6. 1 1
      .github/workflows/publish.yml
  7. 1 1
      pyproject.toml
  8. 2 2
      taipy/__init__.py
  9. 4 4
      taipy/_entrypoint.py
  10. 8 8
      taipy/common/INSTALLATION.md
  11. 0 0
      taipy/common/LICENSE
  12. 64 0
      taipy/common/README.md
  13. 0 0
      taipy/common/__init__.py
  14. 0 0
      taipy/common/_cli/__init__.py
  15. 0 0
      taipy/common/_cli/_base_cli/__init__.py
  16. 1 1
      taipy/common/_cli/_base_cli/_abstract_cli.py
  17. 0 0
      taipy/common/_cli/_base_cli/_taipy_parser.py
  18. 0 0
      taipy/common/_cli/_create_cli.py
  19. 0 0
      taipy/common/_cli/_help_cli.py
  20. 0 0
      taipy/common/_cli/_run_cli.py
  21. 5 8
      taipy/common/config/__init__.py
  22. 0 0
      taipy/common/config/_config.py
  23. 0 0
      taipy/common/config/_config_comparator/__init__.py
  24. 0 0
      taipy/common/config/_config_comparator/_comparator_result.py
  25. 0 0
      taipy/common/config/_config_comparator/_config_comparator.py
  26. 0 0
      taipy/common/config/_init.py
  27. 0 0
      taipy/common/config/_serializer/__init__.py
  28. 2 2
      taipy/common/config/_serializer/_base_serializer.py
  29. 0 0
      taipy/common/config/_serializer/_json_serializer.py
  30. 0 0
      taipy/common/config/_serializer/_toml_serializer.py
  31. 0 0
      taipy/common/config/checker/__init__.py
  32. 0 0
      taipy/common/config/checker/_checker.py
  33. 0 0
      taipy/common/config/checker/_checkers/__init__.py
  34. 0 0
      taipy/common/config/checker/_checkers/_auth_config_checker.py
  35. 8 9
      taipy/common/config/checker/_checkers/_config_checker.py
  36. 0 0
      taipy/common/config/checker/issue.py
  37. 0 0
      taipy/common/config/checker/issue_collector.py
  38. 11 0
      taipy/common/config/common/__init__.py
  39. 0 0
      taipy/common/config/common/_classproperty.py
  40. 0 0
      taipy/common/config/common/_config_blocker.py
  41. 0 0
      taipy/common/config/common/_repr_enum.py
  42. 0 0
      taipy/common/config/common/_template_handler.py
  43. 0 0
      taipy/common/config/common/_validate_id.py
  44. 0 0
      taipy/common/config/common/frequency.py
  45. 0 0
      taipy/common/config/common/scope.py
  46. 0 0
      taipy/common/config/common/typing.py
  47. 6 4
      taipy/common/config/config.py
  48. 1 2
      taipy/common/config/config.pyi
  49. 2 1
      taipy/common/config/exceptions/__init__.py
  50. 0 0
      taipy/common/config/exceptions/exceptions.py
  51. 0 0
      taipy/common/config/global_app/__init__.py
  52. 0 0
      taipy/common/config/global_app/global_app_config.py
  53. 0 0
      taipy/common/config/section.py
  54. 3 3
      taipy/common/config/stubs/generate_pyi.py
  55. 1 2
      taipy/common/config/stubs/pyi_header.py
  56. 0 0
      taipy/common/config/unique_section.py
  57. 0 0
      taipy/common/logger/__init__.py
  58. 0 0
      taipy/common/logger/_taipy_logger.py
  59. 8 8
      taipy/common/package_desc.md
  60. 15 5
      taipy/common/pyproject.toml
  61. 8 6
      taipy/common/setup.py
  62. 1 0
      taipy/common/version.json
  63. 0 0
      taipy/common/version.py
  64. 0 62
      taipy/config/README.md
  65. 0 1
      taipy/config/version.json
  66. 1 1
      taipy/core/__init__.py
  67. 2 2
      taipy/core/_cli/_core_cli.py
  68. 1 1
      taipy/core/_cli/_core_cli_factory.py
  69. 1 1
      taipy/core/_core.py
  70. 1 1
      taipy/core/_entity/_migrate/_migrate_fs.py
  71. 1 1
      taipy/core/_entity/_migrate/_migrate_mongo.py
  72. 1 1
      taipy/core/_entity/_migrate/_utils.py
  73. 3 3
      taipy/core/_entity/_migrate_cli.py
  74. 1 1
      taipy/core/_entity/_properties.py
  75. 1 1
      taipy/core/_manager/_manager.py
  76. 1 1
      taipy/core/_manager/_manager_factory.py
  77. 2 2
      taipy/core/_orchestrator/_dispatcher/_job_dispatcher.py
  78. 2 2
      taipy/core/_orchestrator/_dispatcher/_standalone_job_dispatcher.py
  79. 3 3
      taipy/core/_orchestrator/_dispatcher/_task_function_wrapper.py
  80. 2 2
      taipy/core/_orchestrator/_orchestrator.py
  81. 1 1
      taipy/core/_orchestrator/_orchestrator_factory.py
  82. 1 1
      taipy/core/_repository/_filesystem_repository.py
  83. 4 4
      taipy/core/_version/_cli/_version_cli.py
  84. 1 1
      taipy/core/_version/_cli/_version_cli_factory.py
  85. 2 2
      taipy/core/_version/_version.py
  86. 1 1
      taipy/core/_version/_version_converter.py
  87. 4 4
      taipy/core/_version/_version_manager.py
  88. 1 1
      taipy/core/common/_utils.py
  89. 1 1
      taipy/core/common/mongo_default_document.py
  90. 1 1
      taipy/core/common/warn_if_inputs_not_ready.py
  91. 8 6
      taipy/core/config/__init__.py
  92. 3 3
      taipy/core/config/checkers/_config_id_checker.py
  93. 3 3
      taipy/core/config/checkers/_core_section_checker.py
  94. 4 4
      taipy/core/config/checkers/_data_node_config_checker.py
  95. 3 3
      taipy/core/config/checkers/_job_config_checker.py
  96. 5 5
      taipy/core/config/checkers/_scenario_config_checker.py
  97. 3 3
      taipy/core/config/checkers/_task_config_checker.py
  98. 4 4
      taipy/core/config/core_section.py
  99. 6 6
      taipy/core/config/data_node_config.py
  100. 4 4
      taipy/core/config/job_config.py

+ 9 - 9
.github/workflows/build-and-release-single-package.yml

@@ -15,7 +15,7 @@ on:
         description: "The version of the package to be released"
         description: "The version of the package to be released"
         required: true
         required: true
       target_package:
       target_package:
-        description: "The package to be released (gui, config, core, rest, templates, taipy)"
+        description: "The package to be released (gui, common, core, rest, templates, taipy)"
         required: true
         required: true
 
 
 env:
 env:
@@ -28,7 +28,7 @@ jobs:
   fetch-versions:
   fetch-versions:
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest
     outputs:
     outputs:
-        config_VERSION: ${{ steps.version-setup.outputs.config_VERSION }}
+        common_VERSION: ${{ steps.version-setup.outputs.common_VERSION }}
         core_VERSION: ${{ steps.version-setup.outputs.core_VERSION }}
         core_VERSION: ${{ steps.version-setup.outputs.core_VERSION }}
         gui_VERSION: ${{ steps.version-setup.outputs.gui_VERSION }}
         gui_VERSION: ${{ steps.version-setup.outputs.gui_VERSION }}
         rest_VERSION: ${{ steps.version-setup.outputs.rest_VERSION }}
         rest_VERSION: ${{ steps.version-setup.outputs.rest_VERSION }}
@@ -73,11 +73,11 @@ jobs:
       - name: Set Build Variables
       - name: Set Build Variables
         id: set-variables
         id: set-variables
         run: |
         run: |
-          if [ "${{ github.event.inputs.target_package }}" == "config" ]; then
-            echo "package_version=${{needs.fetch-versions.outputs.config_VERSION}}" >> $GITHUB_OUTPUT
-            echo "package_dir=./taipy/config" >> $GITHUB_OUTPUT
-            echo "release_name=${{needs.fetch-versions.outputs.config_VERSION}}-config" >> $GITHUB_OUTPUT
-            echo "tar_path=./dist/${{ github.event.repository.name }}-config-${{needs.fetch-versions.outputs.config_VERSION}}.tar.gz" >> $GITHUB_OUTPUT
+          if [ "${{ github.event.inputs.target_package }}" == "common" ]; then
+            echo "package_version=${{needs.fetch-versions.outputs.common_VERSION}}" >> $GITHUB_OUTPUT
+            echo "package_dir=./taipy/common" >> $GITHUB_OUTPUT
+            echo "release_name=${{needs.fetch-versions.outputs.common_VERSION}}-common" >> $GITHUB_OUTPUT
+            echo "tar_path=./dist/${{ github.event.repository.name }}-common-${{needs.fetch-versions.outputs.common_VERSION}}.tar.gz" >> $GITHUB_OUTPUT
           elif [ "${{ github.event.inputs.target_package }}" == "core" ]; then
           elif [ "${{ github.event.inputs.target_package }}" == "core" ]; then
             echo "package_version=${{needs.fetch-versions.outputs.core_VERSION}}" >> $GITHUB_OUTPUT
             echo "package_version=${{needs.fetch-versions.outputs.core_VERSION}}" >> $GITHUB_OUTPUT
             echo "package_dir=./taipy/core" >> $GITHUB_OUTPUT
             echo "package_dir=./taipy/core" >> $GITHUB_OUTPUT
@@ -104,7 +104,7 @@ jobs:
       - name: Update setup.requirements.txt
       - name: Update setup.requirements.txt
         run: |
         run: |
           python tools/release/update_setup_requirements.py taipy-${{ github.event.inputs.target_package }} \
           python tools/release/update_setup_requirements.py taipy-${{ github.event.inputs.target_package }} \
-            ${{needs.fetch-versions.outputs.config_VERSION}} \
+            ${{needs.fetch-versions.outputs.common_VERSION}} \
             ${{needs.fetch-versions.outputs.core_VERSION}} \
             ${{needs.fetch-versions.outputs.core_VERSION}} \
             ${{needs.fetch-versions.outputs.gui_VERSION}} \
             ${{needs.fetch-versions.outputs.gui_VERSION}} \
             ${{needs.fetch-versions.outputs.rest_VERSION}} \
             ${{needs.fetch-versions.outputs.rest_VERSION}} \
@@ -145,7 +145,7 @@ jobs:
           python tools/release/build_package_structure.py  ${{ github.event.inputs.target_package }}
           python tools/release/build_package_structure.py  ${{ github.event.inputs.target_package }}
 
 
       - name: Copy Taipy Logger
       - name: Copy Taipy Logger
-        if: github.event.inputs.target_package == 'config'
+        if: github.event.inputs.target_package == 'common'
         run: |
         run: |
           cp -r taipy/logger/. ${{ steps.set-variables.outputs.package_dir }}/taipy/logger
           cp -r taipy/logger/. ${{ steps.set-variables.outputs.package_dir }}/taipy/logger
 
 

+ 10 - 19
.github/workflows/build-and-release.yml

@@ -25,7 +25,7 @@ jobs:
   fetch-versions:
   fetch-versions:
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest
     outputs:
     outputs:
-        config_VERSION: ${{ steps.version-setup.outputs.config_VERSION }}
+        common_VERSION: ${{ steps.version-setup.outputs.common_VERSION }}
         core_VERSION: ${{ steps.version-setup.outputs.core_VERSION }}
         core_VERSION: ${{ steps.version-setup.outputs.core_VERSION }}
         gui_VERSION: ${{ steps.version-setup.outputs.gui_VERSION }}
         gui_VERSION: ${{ steps.version-setup.outputs.gui_VERSION }}
         rest_VERSION: ${{ steps.version-setup.outputs.rest_VERSION }}
         rest_VERSION: ${{ steps.version-setup.outputs.rest_VERSION }}
@@ -50,7 +50,7 @@ jobs:
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest
     strategy:
     strategy:
       matrix:
       matrix:
-        package: [config, core, gui, rest, templates]
+        package: [common, core, gui, rest, templates]
       max-parallel: 1
       max-parallel: 1
     steps:
     steps:
       - uses: actions/checkout@v4
       - uses: actions/checkout@v4
@@ -71,11 +71,11 @@ jobs:
       - name: Set Build Variables
       - name: Set Build Variables
         id: set-variables
         id: set-variables
         run: |
         run: |
-          if [ "${{ matrix.package }}" == "config" ]; then
-            echo "package_version=${{needs.fetch-versions.outputs.config_VERSION}}" >> $GITHUB_OUTPUT
-            echo "package_dir=./taipy/config" >> $GITHUB_OUTPUT
-            echo "release_name=${{needs.fetch-versions.outputs.config_VERSION}}-config" >> $GITHUB_OUTPUT
-            echo "tar_path=./dist/${{ github.event.repository.name }}-config-${{needs.fetch-versions.outputs.config_VERSION}}.tar.gz" >> $GITHUB_OUTPUT
+          if [ "${{ matrix.package }}" == "common" ]; then
+            echo "package_version=${{needs.fetch-versions.outputs.common_VERSION}}" >> $GITHUB_OUTPUT
+            echo "package_dir=./taipy/common" >> $GITHUB_OUTPUT
+            echo "release_name=${{needs.fetch-versions.outputs.common_VERSION}}-common" >> $GITHUB_OUTPUT
+            echo "tar_path=./dist/${{ github.event.repository.name }}-common-${{needs.fetch-versions.outputs.common_VERSION}}.tar.gz" >> $GITHUB_OUTPUT
           elif [ "${{ matrix.package }}" == "core" ]; then
           elif [ "${{ matrix.package }}" == "core" ]; then
             echo "package_version=${{needs.fetch-versions.outputs.core_VERSION}}" >> $GITHUB_OUTPUT
             echo "package_version=${{needs.fetch-versions.outputs.core_VERSION}}" >> $GITHUB_OUTPUT
             echo "package_dir=./taipy/core" >> $GITHUB_OUTPUT
             echo "package_dir=./taipy/core" >> $GITHUB_OUTPUT
@@ -102,7 +102,7 @@ jobs:
       - name: Update setup.requirements.txt
       - name: Update setup.requirements.txt
         run: |
         run: |
           python tools/release/update_setup_requirements.py taipy-${{ matrix.package }} \
           python tools/release/update_setup_requirements.py taipy-${{ matrix.package }} \
-            ${{needs.fetch-versions.outputs.config_VERSION}} \
+            ${{needs.fetch-versions.outputs.common_VERSION}} \
             ${{needs.fetch-versions.outputs.core_VERSION}} \
             ${{needs.fetch-versions.outputs.core_VERSION}} \
             ${{needs.fetch-versions.outputs.gui_VERSION}} \
             ${{needs.fetch-versions.outputs.gui_VERSION}} \
             ${{needs.fetch-versions.outputs.rest_VERSION}} \
             ${{needs.fetch-versions.outputs.rest_VERSION}} \
@@ -142,15 +142,6 @@ jobs:
         run: |
         run: |
           python tools/release/build_package_structure.py ${{ matrix.package }}
           python tools/release/build_package_structure.py ${{ matrix.package }}
 
 
-      - name: Copy Taipy Logger
-        if: matrix.package == 'config'
-        run: |
-          cp -r taipy/logger/. ${{ steps.set-variables.outputs.package_dir }}/taipy/logger
-
-      - name: Copy _cli folder
-        run: |
-          cp -r taipy/_cli/. ${{ steps.set-variables.outputs.package_dir }}/taipy/_cli
-
       - name: Build package
       - name: Build package
         working-directory: ${{ steps.set-variables.outputs.package_dir }}
         working-directory: ${{ steps.set-variables.outputs.package_dir }}
         run: |
         run: |
@@ -192,7 +183,7 @@ jobs:
       - name: Update setup.requirements.txt
       - name: Update setup.requirements.txt
         run: |
         run: |
           python tools/release/update_setup_requirements.py taipy \
           python tools/release/update_setup_requirements.py taipy \
-            ${{needs.fetch-versions.outputs.config_VERSION}} \
+            ${{needs.fetch-versions.outputs.common_VERSION}} \
             ${{needs.fetch-versions.outputs.core_VERSION}} \
             ${{needs.fetch-versions.outputs.core_VERSION}} \
             ${{needs.fetch-versions.outputs.gui_VERSION}} \
             ${{needs.fetch-versions.outputs.gui_VERSION}} \
             ${{needs.fetch-versions.outputs.rest_VERSION}} \
             ${{needs.fetch-versions.outputs.rest_VERSION}} \
@@ -233,7 +224,7 @@ jobs:
 
 
       - name: Download packages
       - name: Download packages
         run: |
         run: |
-          gh release download ${{ needs.fetch-versions.outputs.config_VERSION }}-config --skip-existing --dir dist
+          gh release download ${{ needs.fetch-versions.outputs.common_VERSION }}-common --skip-existing --dir dist
           gh release download ${{ needs.fetch-versions.outputs.core_VERSION }}-core --skip-existing --dir dist
           gh release download ${{ needs.fetch-versions.outputs.core_VERSION }}-core --skip-existing --dir dist
           gh release download ${{ needs.fetch-versions.outputs.gui_VERSION }}-gui --skip-existing --dir dist
           gh release download ${{ needs.fetch-versions.outputs.gui_VERSION }}-gui --skip-existing --dir dist
           gh release download ${{ needs.fetch-versions.outputs.rest_VERSION }}-rest --skip-existing --dir dist
           gh release download ${{ needs.fetch-versions.outputs.rest_VERSION }}-rest --skip-existing --dir dist

+ 1 - 1
.github/workflows/check-config-pyi.yml

@@ -17,7 +17,7 @@ jobs:
         with:
         with:
           python-version: '3.11'
           python-version: '3.11'
       - name: Update config.pyi
       - name: Update config.pyi
-        run: python taipy/config/stubs/generate_pyi.py
+        run: python taipy/common/config/stubs/generate_pyi.py
       - uses: stefanzweifel/git-auto-commit-action@v5
       - uses: stefanzweifel/git-auto-commit-action@v5
         with:
         with:
           commit_message: "Update config.pyi"
           commit_message: "Update config.pyi"

+ 6 - 18
.github/workflows/partial-tests.yml

@@ -14,7 +14,7 @@ jobs:
 
 
       - uses: jpetrucciani/mypy-check@master
       - uses: jpetrucciani/mypy-check@master
         with:
         with:
-          mypy_flags:  "--ignore-missing-imports --implicit-optional --no-namespace-packages --exclude (taipy/templates/|tools/|doc/gui/examples/.*/builder.py) --follow-imports skip --disable-error-code import-untyped"
+          mypy_flags:  "--ignore-missing-imports --implicit-optional --disable-error-code attr-defined --no-namespace-packages --exclude (taipy/templates/|tools/|doc/gui/examples/.*/builder.py|taipy/common/config/config.pyi) --follow-imports skip --disable-error-code import-untyped"
 
 
       - uses: chartboost/ruff-action@v1
       - uses: chartboost/ruff-action@v1
   tests:
   tests:
@@ -33,10 +33,8 @@ jobs:
         id: changes
         id: changes
         with:
         with:
           filters: |
           filters: |
-            cli:
-              - 'taipy/_cli/**'
-            config:
-              - 'taipy/config/**'
+            common:
+              - 'taipy/common/**'
             core:
             core:
               - 'taipy/core/**'
               - 'taipy/core/**'
             gui:
             gui:
@@ -44,8 +42,6 @@ jobs:
               - 'frontend/taipy-gui/**'
               - 'frontend/taipy-gui/**'
             gui-core:
             gui-core:
               - 'taipy/gui_core/**'
               - 'taipy/gui_core/**'
-            logger:
-              - 'taipy/logger/**'
             rest:
             rest:
               - 'taipy/rest/**'
               - 'taipy/rest/**'
             templates:
             templates:
@@ -103,13 +99,9 @@ jobs:
         if: steps.changes.outputs.gui == 'true' || steps.changes.outputs.gui-core == 'true'
         if: steps.changes.outputs.gui == 'true' || steps.changes.outputs.gui-core == 'true'
         run: pipenv run playwright install chromium --with-deps
         run: pipenv run playwright install chromium --with-deps
 
 
-      - name: Pytest CLI
-        if: steps.changes.outputs.cli == 'true'
-        run: pipenv run pytest tests/cli
-
-      - name: Pytest Config
-        if: steps.changes.outputs.config == 'true'
-        run: pipenv run pytest tests/config
+      - name: Pytest Common
+        if: steps.changes.outputs.common == 'true'
+        run: pipenv run pytest tests/common
 
 
       - name: Pytest Core
       - name: Pytest Core
         if: steps.changes.outputs.core == 'true'
         if: steps.changes.outputs.core == 'true'
@@ -125,10 +117,6 @@ jobs:
         if: steps.changes.outputs.gui-core == 'true'
         if: steps.changes.outputs.gui-core == 'true'
         run: pipenv run pytest tests/gui_core
         run: pipenv run pytest tests/gui_core
 
 
-      - name: Pytest Logger
-        if: steps.changes.outputs.logger == 'true'
-        run: pipenv run pytest tests/logger
-
       - name: Pytest Rest
       - name: Pytest Rest
         if: steps.changes.outputs.rest == 'true'
         if: steps.changes.outputs.rest == 'true'
         run: pipenv run pytest tests/rest
         run: pipenv run pytest tests/rest

+ 1 - 1
.github/workflows/publish-single-package.yml

@@ -7,7 +7,7 @@ on:
         description: "The tag of the package to publish on Pypi (ex: 1.0.0, 1.0.0.dev0)"
         description: "The tag of the package to publish on Pypi (ex: 1.0.0, 1.0.0.dev0)"
         required: true
         required: true
       target_package:
       target_package:
-        description: "The package to be released (gui, config, core, rest, templates, taipy)"
+        description: "The package to be released (gui, common, core, rest, templates, taipy)"
         required: true
         required: true
 
 
 jobs:
 jobs:

+ 1 - 1
.github/workflows/publish.yml

@@ -38,7 +38,7 @@ jobs:
     timeout-minutes: 20
     timeout-minutes: 20
     strategy:
     strategy:
       matrix:
       matrix:
-        package: [ config, core, gui, rest, templates ]
+        package: [ common, core, gui, rest, templates ]
       max-parallel: 1
       max-parallel: 1
     environment: publish
     environment: publish
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest

+ 1 - 1
pyproject.toml

@@ -80,7 +80,7 @@ unfixable = []
 [tool.ruff.lint.per-file-ignores]
 [tool.ruff.lint.per-file-ignores]
 "__init__.py" = ["F401", "F403"]  # unused import
 "__init__.py" = ["F401", "F403"]  # unused import
 "_init.py" = ["F401", "F403"]  # unused import
 "_init.py" = ["F401", "F403"]  # unused import
-"taipy/config/stubs/pyi_header.py" = ["F401", "F403"]  # unused import
+"taipy/common/config/stubs/pyi_header.py" = ["F401", "F403"]  # unused import
 "taipy/templates/*" = ["F401", "F403", "T201"]  # unused import, `print` found
 "taipy/templates/*" = ["F401", "F403", "T201"]  # unused import, `print` found
 "taipy/gui/utils/types.py" = ["B024"] # abstract base class with no abstract methods
 "taipy/gui/utils/types.py" = ["B024"] # abstract base class with no abstract methods
 
 

+ 2 - 2
taipy/__init__.py

@@ -12,8 +12,8 @@
 from importlib.util import find_spec
 from importlib.util import find_spec
 
 
 if find_spec("taipy"):
 if find_spec("taipy"):
-    if find_spec("taipy.config"):
-        from taipy.config._init import *
+    if find_spec("taipy.common"):
+        from taipy.common.config._init import *
 
 
     if find_spec("taipy.gui"):
     if find_spec("taipy.gui"):
         from taipy.gui._init import *
         from taipy.gui._init import *

+ 4 - 4
taipy/_entrypoint.py

@@ -13,15 +13,15 @@ import os
 import sys
 import sys
 from importlib.util import find_spec
 from importlib.util import find_spec
 
 
-from taipy._cli._base_cli._taipy_parser import _TaipyParser
+from taipy.common._cli._base_cli._taipy_parser import _TaipyParser
+from taipy.common._cli._create_cli import _CreateCLI
+from taipy.common._cli._help_cli import _HelpCLI
+from taipy.common._cli._run_cli import _RunCLI
 from taipy.core._cli._core_cli_factory import _CoreCLIFactory
 from taipy.core._cli._core_cli_factory import _CoreCLIFactory
 from taipy.core._entity._migrate_cli import _MigrateCLI
 from taipy.core._entity._migrate_cli import _MigrateCLI
 from taipy.core._version._cli._version_cli_factory import _VersionCLIFactory
 from taipy.core._version._cli._version_cli_factory import _VersionCLIFactory
 from taipy.gui._gui_cli import _GuiCLI
 from taipy.gui._gui_cli import _GuiCLI
 
 
-from ._cli._create_cli import _CreateCLI
-from ._cli._help_cli import _HelpCLI
-from ._cli._run_cli import _RunCLI
 from .version import _get_version
 from .version import _get_version
 
 
 
 

+ 8 - 8
taipy/config/INSTALLATION.md → taipy/common/INSTALLATION.md

@@ -1,28 +1,28 @@
 # Installation
 # Installation
 
 
-The latest stable version of *taipy-config* can be installed using `pip`:
+The latest stable version of *taipy-common* can be installed using `pip`:
 ```bash
 ```bash
-pip install taipy-config
+pip install taipy-common
 ```
 ```
 
 
 ## Development version
 ## Development version
 
 
-You can install the development version of *taipy-config* with `pip` and `git` directly from the Taipy repository:
+You can install the development version of *taipy-common* with `pip` and `git` directly from the Taipy repository:
 ```bash
 ```bash
 pip install git+https://git@github.com/Avaiga/taipy
 pip install git+https://git@github.com/Avaiga/taipy
 ```
 ```
 
 
 This command installs the development version of *taipy* package in the Python environment with all
 This command installs the development version of *taipy* package in the Python environment with all
-its dependencies, including the *taipy-config* package.
+its dependencies, including the *taipy-common* package.
 
 
-If you need the source code for *taipy-config* on your system so you can see how things are done or
+If you need the source code for *taipy-common* on your system so you can see how things are done or
 maybe participate in the improvement of the packages, you can clone the GitHub repository:
 maybe participate in the improvement of the packages, you can clone the GitHub repository:
 
 
 ```bash
 ```bash
 git clone https://github.com/Avaiga/taipy.git
 git clone https://github.com/Avaiga/taipy.git
 ```
 ```
 
 
-This creates the 'taipy' directory holding all the package's source code, and the 'taipy-config'
+This creates the 'taipy' directory holding all the package's source code, and the 'taipy-common'
 source code is in the 'taipy/config' directory.
 source code is in the 'taipy/config' directory.
 
 
 ## Running the tests
 ## Running the tests
@@ -36,8 +36,8 @@ pip install pipenv
 pipenv install --dev
 pipenv install --dev
 ```
 ```
 
 
-Then you can run *taipy-config* tests with the following command:
+Then you can run *taipy-common* tests with the following command:
 
 
 ```bash
 ```bash
-pipenv run pytest tests/config
+pipenv run pytest tests/common
 ```
 ```

+ 0 - 0
taipy/config/LICENSE → taipy/common/LICENSE


+ 64 - 0
taipy/common/README.md

@@ -0,0 +1,64 @@
+# Taipy Common
+
+## License
+Copyright 2021-2024 Avaiga Private Limited
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+[http://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)
+
+Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+specific language governing permissions and limitations under the License.
+
+## Usage
+- [License](#license)
+- [Usage](#usage)
+- [Taipy Common](#what-is-taipy-common)
+- [Installation](#installation)
+- [Contributing](#contributing)
+- [Code of conduct](#code-of-conduct)
+- [Directory Structure](#directory-structure)
+
+## What is Taipy Common
+
+Taipy is a Python library for creating Business Applications. More information on our
+[website](https://www.taipy.io). Taipy is split into multiple packages including *taipy-common* to let users
+install the minimum they need.
+
+Taipy Common is a package designed to have the code that serves as basis for the other Taipy packages,
+including classes and methods to enable logging, cli and users to configure their Taipy application.
+
+More in-depth documentation of taipy can be found [here](https://docs.taipy.io).
+
+## Installation
+
+Want to install *Taipy Common*? Check out our [`INSTALLATION.md`](INSTALLATION.md) file.
+
+## Contributing
+
+Want to help build *Taipy Common*? Check out our [`CONTRIBUTING.md`](../../CONTRIBUTING.md) file.
+
+## Code of conduct
+
+Want to be part of the *Taipy Common* community? Check out our [`CODE_OF_CONDUCT.md`](../../CODE_OF_CONDUCT.md) file.
+
+## Directory Structure
+
+- `taipy/`:
+  - `common/`: Common data structures, types, and functions.
+    - `config/`: Configuration definition, management, and implementation. `taipy.Config` is the main entrypoint for configuring a Taipy Core application.
+      - `_config_comparator/`: Internal package for comparing configurations.
+      - `_serializer/`: Internal package for serializing and deserializing configurations.
+      - `checker/`: Configuration checker and issue collector implementation.
+      - `common/`: Shared data structures, types, and functions.
+      - `exceptions/`: *taipy-common* exceptions.
+      - `global_app/`: `GlobalAppConfig` implementation.
+      - `stubs/`: Helper functions to create the `config.pyi` file.
+      - `INSTALLATION.md`: Instructions to install *taipy-common*.
+      - `LICENSE`: The Apache 2.0 License.
+      - `README.md`: Current file.
+      - `setup.py`: The setup script managing building, distributing, and installing *taipy-common*.
+    - `logger/`: Taipy logger implementation.
+- `tests/`:
+  - `common/`: Tests for the *taipy-common* package.

+ 0 - 0
taipy/_cli/__init__.py → taipy/common/__init__.py


+ 0 - 0
taipy/_cli/_base_cli/__init__.py → taipy/common/_cli/__init__.py


+ 0 - 0
taipy/config/_config_comparator/__init__.py → taipy/common/_cli/_base_cli/__init__.py


+ 1 - 1
taipy/_cli/_base_cli/_abstract_cli.py → taipy/common/_cli/_base_cli/_abstract_cli.py

@@ -14,7 +14,7 @@ from abc import abstractmethod
 from difflib import SequenceMatcher
 from difflib import SequenceMatcher
 from typing import List, Optional
 from typing import List, Optional
 
 
-from taipy.logger._taipy_logger import _TaipyLogger
+from taipy.common.logger._taipy_logger import _TaipyLogger
 
 
 from ._taipy_parser import _TaipyParser
 from ._taipy_parser import _TaipyParser
 
 

+ 0 - 0
taipy/_cli/_base_cli/_taipy_parser.py → taipy/common/_cli/_base_cli/_taipy_parser.py


+ 0 - 0
taipy/_cli/_create_cli.py → taipy/common/_cli/_create_cli.py


+ 0 - 0
taipy/_cli/_help_cli.py → taipy/common/_cli/_help_cli.py


+ 0 - 0
taipy/_cli/_run_cli.py → taipy/common/_cli/_run_cli.py


+ 5 - 8
taipy/config/__init__.py → taipy/common/config/__init__.py

@@ -11,7 +11,7 @@
 
 
 """# Taipy `config` Package
 """# Taipy `config` Package
 
 
-The `taipy.config` package provides features to configure a Taipy application.
+The `taipy.common.config` package provides features to configure a Taipy application.
 
 
 Its main class is the `Config^` singleton. It exposes various static methods
 Its main class is the `Config^` singleton. It exposes various static methods
 and attributes to configure the Taipy application and retrieve the configuration values.
 and attributes to configure the Taipy application and retrieve the configuration values.
@@ -19,9 +19,9 @@ and attributes to configure the Taipy application and retrieve the configuration
 !!! example "Standard usage"
 !!! example "Standard usage"
 
 
     ```python
     ```python
-    from taipy.config import Config
-    from taipy.config import Frequency
-    from taipy.config import Scope
+    from taipy.common.config import Config
+    from taipy.common.config import Frequency
+    from taipy.common.config import Scope
 
 
     data_node_cfg = Config.configure_data_node("my_data_node", scope=Scope.SCENARIO)
     data_node_cfg = Config.configure_data_node("my_data_node", scope=Scope.SCENARIO)
     Config.configure_scenario("my_scenario", additional_data_node_configs=[data_node_cfg], frequency=Frequency.DAILY)
     Config.configure_scenario("my_scenario", additional_data_node_configs=[data_node_cfg], frequency=Frequency.DAILY)
@@ -39,7 +39,7 @@ and attributes to configure the Taipy application and retrieve the configuration
 
 
 !!! note "`Frequency^` and `Scope^` for scenario and data nodes configurations"
 !!! note "`Frequency^` and `Scope^` for scenario and data nodes configurations"
 
 
-    Besides the `Config^` class which is the main entrypoint, the `taipy.config` package exposes
+    Besides the `Config^` class which is the main entrypoint, the `taipy.common.config` package exposes
     the `Frequency^` and `Scope^` enums that are frequently used to configure data nodes and
     the `Frequency^` and `Scope^` enums that are frequently used to configure data nodes and
     scenarios.
     scenarios.
 
 
@@ -57,9 +57,6 @@ from .common.scope import Scope
 from .global_app.global_app_config import GlobalAppConfig
 from .global_app.global_app_config import GlobalAppConfig
 from .section import Section
 from .section import Section
 from .unique_section import UniqueSection
 from .unique_section import UniqueSection
-from .version import _get_version
-
-__version__ = _get_version()
 
 
 
 
 def _config_doc(func):
 def _config_doc(func):

+ 0 - 0
taipy/config/_config.py → taipy/common/config/_config.py


+ 0 - 0
taipy/config/_serializer/__init__.py → taipy/common/config/_config_comparator/__init__.py


+ 0 - 0
taipy/config/_config_comparator/_comparator_result.py → taipy/common/config/_config_comparator/_comparator_result.py


+ 0 - 0
taipy/config/_config_comparator/_config_comparator.py → taipy/common/config/_config_comparator/_config_comparator.py


+ 0 - 0
taipy/config/_init.py → taipy/common/config/_init.py


+ 0 - 0
taipy/config/checker/__init__.py → taipy/common/config/_serializer/__init__.py


+ 2 - 2
taipy/config/_serializer/_base_serializer.py → taipy/common/config/_serializer/_base_serializer.py

@@ -101,9 +101,9 @@ class _BaseSerializer(object):
         for section_name, sect_as_dict in as_dict.items():
         for section_name, sect_as_dict in as_dict.items():
             if section_class := cls._section_class.get(section_name, None):
             if section_class := cls._section_class.get(section_name, None):
                 if issubclass(section_class, UniqueSection):
                 if issubclass(section_class, UniqueSection):
-                    config._unique_sections[section_name] = section_class._from_dict(
+                    config._unique_sections[section_name] = section_class._from_dict(  # type: ignore
                         sect_as_dict, None, None
                         sect_as_dict, None, None
-                    )  # type: ignore
+                    )
                 elif issubclass(section_class, Section):
                 elif issubclass(section_class, Section):
                     config._sections[section_name] = cls._extract_node(as_dict, section_class, section_name, config)
                     config._sections[section_name] = cls._extract_node(as_dict, section_class, section_name, config)
         return config
         return config

+ 0 - 0
taipy/config/_serializer/_json_serializer.py → taipy/common/config/_serializer/_json_serializer.py


+ 0 - 0
taipy/config/_serializer/_toml_serializer.py → taipy/common/config/_serializer/_toml_serializer.py


+ 0 - 0
taipy/config/checker/_checkers/__init__.py → taipy/common/config/checker/__init__.py


+ 0 - 0
taipy/config/checker/_checker.py → taipy/common/config/checker/_checker.py


+ 0 - 0
taipy/config/common/__init__.py → taipy/common/config/checker/_checkers/__init__.py


+ 0 - 0
taipy/config/checker/_checkers/_auth_config_checker.py → taipy/common/config/checker/_checkers/_auth_config_checker.py


+ 8 - 9
taipy/config/checker/_checkers/_config_checker.py → taipy/common/config/checker/_checkers/_config_checker.py

@@ -52,15 +52,14 @@ class _ConfigChecker:
                 f"{config_key} field of {parent_config_class.__name__} `{config_id}` is empty.",
                 f"{config_key} field of {parent_config_class.__name__} `{config_id}` is empty.",
             )
             )
         elif not (
         elif not (
-                (isinstance(config_value, (List, Set)))
-                and all(isinstance(x, child_config_class) for x in config_value)
-            ):
-                self._error(
-                    config_key,
-                    config_value,
-                    f"{config_key} field of {parent_config_class.__name__} `{config_id}` must be populated with a list "
-                    f"of {child_config_class.__name__} objects.",
-                )
+            (isinstance(config_value, (List, Set))) and all(isinstance(x, child_config_class) for x in config_value)
+        ):
+            self._error(
+                config_key,
+                config_value,
+                f"{config_key} field of {parent_config_class.__name__} `{config_id}` must be populated with a list "
+                f"of {child_config_class.__name__} objects.",
+            )
 
 
     def _check_existing_config_id(self, config):
     def _check_existing_config_id(self, config):
         if not config.id:
         if not config.id:

+ 0 - 0
taipy/config/checker/issue.py → taipy/common/config/checker/issue.py


+ 0 - 0
taipy/config/checker/issue_collector.py → taipy/common/config/checker/issue_collector.py


+ 11 - 0
taipy/common/config/common/__init__.py

@@ -0,0 +1,11 @@
+# Copyright 2021-2024 Avaiga Private Limited
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations under the License.
+from .scope import Scope

+ 0 - 0
taipy/config/common/_classproperty.py → taipy/common/config/common/_classproperty.py


+ 0 - 0
taipy/config/common/_config_blocker.py → taipy/common/config/common/_config_blocker.py


+ 0 - 0
taipy/config/common/_repr_enum.py → taipy/common/config/common/_repr_enum.py


+ 0 - 0
taipy/config/common/_template_handler.py → taipy/common/config/common/_template_handler.py


+ 0 - 0
taipy/config/common/_validate_id.py → taipy/common/config/common/_validate_id.py


+ 0 - 0
taipy/config/common/frequency.py → taipy/common/config/common/frequency.py


+ 0 - 0
taipy/config/common/scope.py → taipy/common/config/common/scope.py


+ 0 - 0
taipy/config/common/typing.py → taipy/common/config/common/typing.py


+ 6 - 4
taipy/config/config.py → taipy/common/config/config.py

@@ -262,7 +262,7 @@ class Config:
             else:
             else:
                 cls._default_config._unique_sections[default_section.name] = default_section
                 cls._default_config._unique_sections[default_section.name] = default_section
         elif def_sections := cls._default_config._sections.get(default_section.name, None):
         elif def_sections := cls._default_config._sections.get(default_section.name, None):
-                def_sections[default_section.id] = default_section
+            def_sections[default_section.id] = default_section
         else:
         else:
             cls._default_config._sections[default_section.name] = {default_section.id: default_section}
             cls._default_config._sections[default_section.name] = {default_section.id: default_section}
         cls._serializer._section_class[default_section.name] = default_section.__class__  # type: ignore
         cls._serializer._section_class[default_section.name] = default_section.__class__  # type: ignore
@@ -292,9 +292,11 @@ class Config:
     def _override_env_file(cls):
     def _override_env_file(cls):
         if cfg_filename := os.environ.get(cls._ENVIRONMENT_VARIABLE_NAME_WITH_CONFIG_PATH):
         if cfg_filename := os.environ.get(cls._ENVIRONMENT_VARIABLE_NAME_WITH_CONFIG_PATH):
             if not os.path.exists(cfg_filename):
             if not os.path.exists(cfg_filename):
-                cls.__logger.error(f"File '{cfg_filename}' provided by environment variable "
-                                   f"'{cls._ENVIRONMENT_VARIABLE_NAME_WITH_CONFIG_PATH}' does not exist. "
-                                   f"No configuration will be loaded from environment variable.")
+                cls.__logger.error(
+                    f"File '{cfg_filename}' provided by environment variable "
+                    f"'{cls._ENVIRONMENT_VARIABLE_NAME_WITH_CONFIG_PATH}' does not exist. "
+                    f"No configuration will be loaded from environment variable."
+                )
                 return
                 return
             cls.__logger.info(f"Loading configuration provided by environment variable. Filename: '{cfg_filename}'")
             cls.__logger.info(f"Loading configuration provided by environment variable. Filename: '{cfg_filename}'")
             cls._env_file_config = cls._serializer._read(cfg_filename)
             cls._env_file_config = cls._serializer._read(cfg_filename)

+ 1 - 2
taipy/config/config.pyi → taipy/common/config/config.pyi

@@ -8,12 +8,11 @@
 # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
 # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
 # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 # specific language governing permissions and limitations under the License.
 # specific language governing permissions and limitations under the License.
-
 import json
 import json
 from datetime import timedelta
 from datetime import timedelta
 from typing import Any, Callable, Dict, List, Optional, Union
 from typing import Any, Callable, Dict, List, Optional, Union
 
 
-from taipy.config._config import _Config
+from taipy.common.config._config import _Config
 from taipy.core.config import CoreSection, DataNodeConfig, JobConfig, ScenarioConfig, TaskConfig
 from taipy.core.config import CoreSection, DataNodeConfig, JobConfig, ScenarioConfig, TaskConfig
 
 
 from .checker.issue_collector import IssueCollector
 from .checker.issue_collector import IssueCollector

+ 2 - 1
taipy/config/exceptions/__init__.py → taipy/common/config/exceptions/__init__.py

@@ -9,5 +9,6 @@
 # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 # specific language governing permissions and limitations under the License.
 # specific language governing permissions and limitations under the License.
 
 
-"""# Exceptions raised by the `taipy.config` package."""
+"""# Exceptions raised by the `taipy.common.config` package."""
+
 from .exceptions import *
 from .exceptions import *

+ 0 - 0
taipy/config/exceptions/exceptions.py → taipy/common/config/exceptions/exceptions.py


+ 0 - 0
taipy/config/global_app/__init__.py → taipy/common/config/global_app/__init__.py


+ 0 - 0
taipy/config/global_app/global_app_config.py → taipy/common/config/global_app/global_app_config.py


+ 0 - 0
taipy/config/section.py → taipy/common/config/section.py


+ 3 - 3
taipy/config/stubs/generate_pyi.py → taipy/common/config/stubs/generate_pyi.py

@@ -141,9 +141,9 @@ def _build_header(filename) -> str:
 
 
 
 
 if __name__ == "__main__":
 if __name__ == "__main__":
-    header_file = "taipy/config/stubs/pyi_header.py"
+    header_file = "taipy/common/config/stubs/pyi_header.py"
     config_init = Path("taipy/core/config/__init__.py")
     config_init = Path("taipy/core/config/__init__.py")
-    base_config = "taipy/config/config.py"
+    base_config = "taipy/common/config/config.py"
 
 
     dn_filename = "taipy/core/config/data_node_config.py"
     dn_filename = "taipy/core/config/data_node_config.py"
     job_filename = "taipy/core/config/job_config.py"
     job_filename = "taipy/core/config/job_config.py"
@@ -164,5 +164,5 @@ if __name__ == "__main__":
     # Remove the final redundant \n
     # Remove the final redundant \n
     pyi = pyi[:-1]
     pyi = pyi[:-1]
 
 
-    with open("taipy/config/config.pyi", "w") as f:
+    with open("taipy/common/config/config.pyi", "w") as f:
         f.writelines(pyi)
         f.writelines(pyi)

+ 1 - 2
taipy/config/stubs/pyi_header.py → taipy/common/config/stubs/pyi_header.py

@@ -8,12 +8,11 @@
 # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
 # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
 # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 # specific language governing permissions and limitations under the License.
 # specific language governing permissions and limitations under the License.
-
 import json
 import json
 from datetime import timedelta
 from datetime import timedelta
 from typing import Any, Callable, Dict, List, Optional, Union
 from typing import Any, Callable, Dict, List, Optional, Union
 
 
-from taipy.config._config import _Config
+from taipy.common.config._config import _Config
 from taipy.core.config import CoreSection, DataNodeConfig, JobConfig, ScenarioConfig, TaskConfig
 from taipy.core.config import CoreSection, DataNodeConfig, JobConfig, ScenarioConfig, TaskConfig
 
 
 from .checker.issue_collector import IssueCollector
 from .checker.issue_collector import IssueCollector

+ 0 - 0
taipy/config/unique_section.py → taipy/common/config/unique_section.py


+ 0 - 0
taipy/logger/__init__.py → taipy/common/logger/__init__.py


+ 0 - 0
taipy/logger/_taipy_logger.py → taipy/common/logger/_taipy_logger.py


+ 8 - 8
taipy/config/package_desc.md → taipy/common/package_desc.md

@@ -16,32 +16,32 @@ and limitations under the License.
 ## What is Taipy Config
 ## What is Taipy Config
 
 
 Taipy is a Python library for creating Business Applications. More information on our
 Taipy is a Python library for creating Business Applications. More information on our
-[website](https://www.taipy.io). Taipy is split into multiple packages including *taipy-config*
+[website](https://www.taipy.io). Taipy is split into multiple packages including *taipy-common*
 to let users install the minimum they need.
 to let users install the minimum they need.
 
 
 Taipy Config is a package designed to help users configure their Taipy application.
 Taipy Config is a package designed to help users configure their Taipy application.
 
 
 ## Installation
 ## Installation
 
 
-The latest stable version of *taipy-config* is available through *pip*:
+The latest stable version of *taipy-common* is available through *pip*:
 ```bash
 ```bash
-pip install taipy-config
+pip install taipy-common
 ```
 ```
 
 
-You can install the development version of *taipy-config* with *pip* and *git* via the taipy repository:
+You can install the development version of *taipy-common* with *pip* and *git* via the taipy repository:
 ```bash
 ```bash
 pip install git+https://git@github.com/Avaiga/taipy
 pip install git+https://git@github.com/Avaiga/taipy
 ```
 ```
 
 
 This command installs the development version of *taipy* package in the Python environment with all
 This command installs the development version of *taipy* package in the Python environment with all
-its dependencies, including the *taipy-config* package.
+its dependencies, including the *taipy-common* package.
 
 
-If you need the source code for *taipy-config* on your system so you can see how things are done or
+If you need the source code for *taipy-common* on your system so you can see how things are done or
 maybe participate in the improvement of the packages, you can clone the GitHub repository:
 maybe participate in the improvement of the packages, you can clone the GitHub repository:
 
 
 ```bash
 ```bash
 git clone https://github.com/Avaiga/taipy.git
 git clone https://github.com/Avaiga/taipy.git
 ```
 ```
 
 
-This creates the 'taipy' directory holding all the package's source code, and the 'taipy-config'
-source code is in the 'taipy/config' directory.
+This creates the 'taipy' directory holding all the package's source code, and the 'taipy-common'
+source code is in the 'taipy/common' directory.

+ 15 - 5
taipy/config/pyproject.toml → taipy/common/pyproject.toml

@@ -3,13 +3,13 @@ requires = ["setuptools>=42", "wheel"]
 build-backend = "setuptools.build_meta"
 build-backend = "setuptools.build_meta"
 
 
 [project]
 [project]
-name = "taipy-config"
-description = "A Taipy package dedicated to easily configure a Taipy application."
+name = "taipy-common"
+description = "A Taipy package dedicated to provide common data structures, types, classes and functions."
 readme = "package_desc.md"
 readme = "package_desc.md"
 requires-python = ">=3.9"
 requires-python = ">=3.9"
 license = {text = "Apache License 2.0"}
 license = {text = "Apache License 2.0"}
 authors = [{name = "Avaiga", email = "dev@taipy.io"}]
 authors = [{name = "Avaiga", email = "dev@taipy.io"}]
-keywords = ["taipy-config"]
+keywords = ["taipy-common"]
 classifiers = [
 classifiers = [
     "Intended Audience :: Developers",
     "Intended Audience :: Developers",
     "License :: OSI Approved :: Apache Software License",
     "License :: OSI Approved :: Apache Software License",
@@ -23,10 +23,20 @@ classifiers = [
 dynamic = ["version", "dependencies"]
 dynamic = ["version", "dependencies"]
 
 
 [project.optional-dependencies]
 [project.optional-dependencies]
-testing = ["pytest>=3.8"]
+testing = ["pytest>=3.9"]
 
 
 [tool.setuptools.packages]
 [tool.setuptools.packages]
-find = {include = ["taipy", "taipy.config", "taipy.config.*", "taipy.logger", "taipy.logger.*", "taipy._cli", "taipy._cli.*"]}
+find = {include = [
+    "taipy",
+    "taipy.common",
+    "taipy.common.*",
+    "taipy.common.config",
+    "taipy.common.config.*",
+    "taipy.common.logger",
+    "taipy.common.logger.*",
+    "taipy.common._cli",
+    "taipy.common._cli.*"
+]}
 
 
 [project.urls]
 [project.urls]
 homepage = "https://github.com/avaiga/taipy"
 homepage = "https://github.com/avaiga/taipy"

+ 8 - 6
taipy/config/setup.py → taipy/common/setup.py

@@ -41,12 +41,14 @@ setup(
     packages=find_namespace_packages(where=".")+ find_packages(
     packages=find_namespace_packages(where=".")+ find_packages(
         include=[
         include=[
             "taipy",
             "taipy",
-            "taipy.config",
-            "taipy.config.*",
-            "taipy.logger",
-            "taipy.logger.*",
-            "taipy._cli",
-            "taipy._cli.*"
+            "taipy.common",
+            "taipy.common.*",
+            "taipy.common.config",
+            "taipy.common.config.*",
+            "taipy.common.logger",
+            "taipy.common.logger.*",
+            "taipy.common._cli",
+            "taipy.common._cli.*"
         ]
         ]
     ),
     ),
     include_package_data=True,
     include_package_data=True,

+ 1 - 0
taipy/common/version.json

@@ -0,0 +1 @@
+{"major": 4, "minor": 0, "patch": 0, "ext": "dev4"}

+ 0 - 0
taipy/config/version.py → taipy/common/version.py


+ 0 - 62
taipy/config/README.md

@@ -1,62 +0,0 @@
-# Taipy Config
-
-## License
-Copyright 2021-2024 Avaiga Private Limited
-
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
-the License. You may obtain a copy of the License at
-[http://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)
-
-Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
-an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
-specific language governing permissions and limitations under the License.
-
-## Usage
-- [License](#license)
-- [Usage](#usage)
-- [Taipy Config](#what-is-taipy-config)
-- [Installation](#installation)
-- [Contributing](#contributing)
-- [Code of conduct](#code-of-conduct)
-- [Directory Structure](#directory-structure)
-
-## What is Taipy Config
-
-Taipy is a Python library for creating Business Applications. More information on our
-[website](https://www.taipy.io). Taipy is split into multiple packages including *taipy-config* to let users
-install the minimum they need.
-
-Taipy Config is a package designed to help users configure their Taipy application.
-
-More in-depth documentation of taipy can be found [here](https://docs.taipy.io).
-
-## Installation
-
-Want to install *Taipy Config*? Check out our [`INSTALLATION.md`](INSTALLATION.md) file.
-
-## Contributing
-
-Want to help build *Taipy Config*? Check out our [`CONTRIBUTING.md`](../../CONTRIBUTING.md) file.
-
-## Code of conduct
-
-Want to be part of the *Taipy Config* community? Check out our [`CODE_OF_CONDUCT.md`](../../CODE_OF_CONDUCT.md) file.
-
-## Directory Structure
-
-- `taipy/`:
-  - `config/`: Configuration definition, management, and implementation. `taipy.Config` is the main entrypoint for configuring a Taipy Core application.
-    - `_config_comparator/`: Internal package for comparing configurations.
-    - `_serializer/`: Internal package for serializing and deserializing configurations.
-    - `checker/`: Configuration checker and issue collector implementation.
-    - `common/`: Shared data structures, types, and functions.
-    - `exceptions/`: *taipy-config* exceptions.
-    - `global_app/`: `GlobalAppConfig` implementation.
-    - `stubs/`: Helper functions to create the `config.pyi` file.
-    - `INSTALLATION.md`: Instructions to install *taipy-config*.
-    - `LICENSE`: The Apache 2.0 License.
-    - `README.md`: Current file.
-    - `setup.py`: The setup script managing building, distributing, and installing *taipy-config*.
-  - `logger/`: Taipy logger implementation.
-- `tests/`:
-  - `config/`: Tests for the *taipy-config* package.

+ 0 - 1
taipy/config/version.json

@@ -1 +0,0 @@
-{"major": 4, "minor": 0, "patch": 0, "ext": "dev3"}

+ 1 - 1
taipy/core/__init__.py

@@ -23,7 +23,7 @@ into a complete back-end application. In particular, it helps with:
 More details on the Core functionalities are available in the user manual.
 More details on the Core functionalities are available in the user manual.
 
 
 To use such functionalities, the first step consists of setting up the Taipy configuration to design
 To use such functionalities, the first step consists of setting up the Taipy configuration to design
-your application's characteristics and behaviors. Use the `Config^` singleton class (from `taipy.config`)
+your application's characteristics and behaviors. Use the `Config^` singleton class (from `taipy.common.config`)
 to configure your application. Please refer to the
 to configure your application. Please refer to the
 [data nodes](../../../userman/scenario_features/data-integration/data-node-config.md),
 [data nodes](../../../userman/scenario_features/data-integration/data-node-config.md),
 [tasks](../../../userman/scenario_features/task-orchestration/scenario-config.md),
 [tasks](../../../userman/scenario_features/task-orchestration/scenario-config.md),

+ 2 - 2
taipy/core/_cli/_core_cli.py

@@ -11,8 +11,8 @@
 
 
 from typing import Dict
 from typing import Dict
 
 
-from taipy._cli._base_cli._abstract_cli import _AbstractCLI
-from taipy._cli._base_cli._taipy_parser import _TaipyParser
+from taipy.common._cli._base_cli._abstract_cli import _AbstractCLI
+from taipy.common._cli._base_cli._taipy_parser import _TaipyParser
 
 
 from ..config import CoreSection
 from ..config import CoreSection
 
 

+ 1 - 1
taipy/core/_cli/_core_cli_factory.py

@@ -13,7 +13,7 @@ from importlib import import_module
 from operator import attrgetter
 from operator import attrgetter
 from typing import Type
 from typing import Type
 
 
-from taipy._cli._base_cli._abstract_cli import _AbstractCLI
+from taipy.common._cli._base_cli._abstract_cli import _AbstractCLI
 
 
 from ..common._check_dependencies import _TAIPY_ENTERPRISE_CORE_MODULE, _using_enterprise
 from ..common._check_dependencies import _TAIPY_ENTERPRISE_CORE_MODULE, _using_enterprise
 from ._core_cli import _CoreCLI
 from ._core_cli import _CoreCLI

+ 1 - 1
taipy/core/_core.py

@@ -9,7 +9,7 @@
 # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 # specific language governing permissions and limitations under the License.
 # specific language governing permissions and limitations under the License.
 
 
-from taipy.logger._taipy_logger import _TaipyLogger
+from taipy.common.logger._taipy_logger import _TaipyLogger
 
 
 from .common._warnings import _warn_deprecated
 from .common._warnings import _warn_deprecated
 from .orchestrator import Orchestrator
 from .orchestrator import Orchestrator

+ 1 - 1
taipy/core/_entity/_migrate/_migrate_fs.py

@@ -14,7 +14,7 @@ import os
 import shutil
 import shutil
 from typing import Dict
 from typing import Dict
 
 
-from taipy.logger._taipy_logger import _TaipyLogger
+from taipy.common.logger._taipy_logger import _TaipyLogger
 
 
 from ._utils import _migrate
 from ._utils import _migrate
 
 

+ 1 - 1
taipy/core/_entity/_migrate/_migrate_mongo.py

@@ -17,7 +17,7 @@ from typing import Dict
 import bson
 import bson
 import pymongo
 import pymongo
 
 
-from taipy.logger._taipy_logger import _TaipyLogger
+from taipy.common.logger._taipy_logger import _TaipyLogger
 
 
 from ._utils import _migrate
 from ._utils import _migrate
 
 

+ 1 - 1
taipy/core/_entity/_migrate/_utils.py

@@ -13,7 +13,7 @@ import json
 from importlib.metadata import version
 from importlib.metadata import version
 from typing import Dict, List, Optional, Tuple
 from typing import Dict, List, Optional, Tuple
 
 
-from taipy.logger._taipy_logger import _TaipyLogger
+from taipy.common.logger._taipy_logger import _TaipyLogger
 
 
 __logger = _TaipyLogger._get_logger()
 __logger = _TaipyLogger._get_logger()
 
 

+ 3 - 3
taipy/core/_entity/_migrate_cli.py

@@ -12,9 +12,9 @@
 import sys
 import sys
 from typing import List
 from typing import List
 
 
-from taipy._cli._base_cli._abstract_cli import _AbstractCLI
-from taipy._cli._base_cli._taipy_parser import _TaipyParser
-from taipy.config.config import Config
+from taipy.common._cli._base_cli._abstract_cli import _AbstractCLI
+from taipy.common._cli._base_cli._taipy_parser import _TaipyParser
+from taipy.common.config import Config
 
 
 from ._migrate import (
 from ._migrate import (
     _migrate_fs_entities,
     _migrate_fs_entities,

+ 1 - 1
taipy/core/_entity/_properties.py

@@ -11,7 +11,7 @@
 
 
 from collections import UserDict
 from collections import UserDict
 
 
-from taipy.config.common._template_handler import _TemplateHandler as _tpl
+from taipy.common.config.common._template_handler import _TemplateHandler as _tpl
 
 
 from ..notification import EventOperation, Notifier, _make_event
 from ..notification import EventOperation, Notifier, _make_event
 
 

+ 1 - 1
taipy/core/_manager/_manager.py

@@ -11,7 +11,7 @@
 
 
 from typing import Dict, Generic, Iterable, List, Optional, TypeVar, Union
 from typing import Dict, Generic, Iterable, List, Optional, TypeVar, Union
 
 
-from taipy.logger._taipy_logger import _TaipyLogger
+from taipy.common.logger._taipy_logger import _TaipyLogger
 
 
 from .._entity._entity_ids import _EntityIds
 from .._entity._entity_ids import _EntityIds
 from .._repository._abstract_repository import _AbstractRepository
 from .._repository._abstract_repository import _AbstractRepository

+ 1 - 1
taipy/core/_manager/_manager_factory.py

@@ -12,7 +12,7 @@
 from abc import abstractmethod
 from abc import abstractmethod
 from typing import Type
 from typing import Type
 
 
-from taipy.config import Config
+from taipy.common.config import Config
 
 
 from ._manager import _Manager
 from ._manager import _Manager
 
 

+ 2 - 2
taipy/core/_orchestrator/_dispatcher/_job_dispatcher.py

@@ -16,8 +16,8 @@ from abc import abstractmethod
 from queue import Empty
 from queue import Empty
 from typing import Optional
 from typing import Optional
 
 
-from taipy.config.config import Config
-from taipy.logger._taipy_logger import _TaipyLogger
+from taipy.common.config import Config
+from taipy.common.logger._taipy_logger import _TaipyLogger
 
 
 from ...data._data_manager_factory import _DataManagerFactory
 from ...data._data_manager_factory import _DataManagerFactory
 from ...job._job_manager_factory import _JobManagerFactory
 from ...job._job_manager_factory import _JobManagerFactory

+ 2 - 2
taipy/core/_orchestrator/_dispatcher/_standalone_job_dispatcher.py

@@ -15,8 +15,8 @@ from functools import partial
 from threading import Lock
 from threading import Lock
 from typing import Callable, Optional
 from typing import Callable, Optional
 
 
-from taipy.config._serializer._toml_serializer import _TomlSerializer
-from taipy.config.config import Config
+from taipy.common.config import Config
+from taipy.common.config._serializer._toml_serializer import _TomlSerializer
 
 
 from ...job.job import Job
 from ...job.job import Job
 from .._abstract_orchestrator import _AbstractOrchestrator
 from .._abstract_orchestrator import _AbstractOrchestrator

+ 3 - 3
taipy/core/_orchestrator/_dispatcher/_task_function_wrapper.py

@@ -11,9 +11,9 @@
 
 
 from typing import Any, List
 from typing import Any, List
 
 
-from taipy.config._serializer._toml_serializer import _TomlSerializer
-from taipy.config.config import Config
-from taipy.logger._taipy_logger import _TaipyLogger
+from taipy.common.config import Config
+from taipy.common.config._serializer._toml_serializer import _TomlSerializer
+from taipy.common.logger._taipy_logger import _TaipyLogger
 
 
 from ...data._data_manager_factory import _DataManagerFactory
 from ...data._data_manager_factory import _DataManagerFactory
 from ...data.data_node import DataNode
 from ...data.data_node import DataNode

+ 2 - 2
taipy/core/_orchestrator/_orchestrator.py

@@ -16,8 +16,8 @@ from threading import Lock
 from time import sleep
 from time import sleep
 from typing import Callable, Iterable, List, Optional, Set, Union
 from typing import Callable, Iterable, List, Optional, Set, Union
 
 
-from taipy.config.config import Config
-from taipy.logger._taipy_logger import _TaipyLogger
+from taipy.common.config import Config
+from taipy.common.logger._taipy_logger import _TaipyLogger
 
 
 from .._entity.submittable import Submittable
 from .._entity.submittable import Submittable
 from ..data._data_manager_factory import _DataManagerFactory
 from ..data._data_manager_factory import _DataManagerFactory

+ 1 - 1
taipy/core/_orchestrator/_orchestrator_factory.py

@@ -11,7 +11,7 @@
 import typing
 import typing
 from typing import Optional, Type
 from typing import Optional, Type
 
 
-from taipy.config.config import Config
+from taipy.common.config import Config
 
 
 from ..common._check_dependencies import _TAIPY_ENTERPRISE_MODULE, _using_enterprise
 from ..common._check_dependencies import _TAIPY_ENTERPRISE_MODULE, _using_enterprise
 from ..common._utils import _load_fct
 from ..common._utils import _load_fct

+ 1 - 1
taipy/core/_repository/_filesystem_repository.py

@@ -15,7 +15,7 @@ import pathlib
 import shutil
 import shutil
 from typing import Any, Dict, Iterable, Iterator, List, Optional, Type, Union
 from typing import Any, Dict, Iterable, Iterator, List, Optional, Type, Union
 
 
-from taipy.config.config import Config
+from taipy.common.config import Config
 
 
 from ..common._utils import _retry_repository_operation
 from ..common._utils import _retry_repository_operation
 from ..common.typing import Converter, Entity, Json, ModelType
 from ..common.typing import Converter, Entity, Json, ModelType

+ 4 - 4
taipy/core/_version/_cli/_version_cli.py

@@ -12,10 +12,10 @@
 import sys
 import sys
 from importlib.util import find_spec
 from importlib.util import find_spec
 
 
-from taipy._cli._base_cli._abstract_cli import _AbstractCLI
-from taipy._cli._base_cli._taipy_parser import _TaipyParser
-from taipy.config import Config
-from taipy.config.exceptions.exceptions import InconsistentEnvVariableError
+from taipy.common._cli._base_cli._abstract_cli import _AbstractCLI
+from taipy.common._cli._base_cli._taipy_parser import _TaipyParser
+from taipy.common.config import Config
+from taipy.common.config.exceptions.exceptions import InconsistentEnvVariableError
 
 
 from ...data._data_manager_factory import _DataManagerFactory
 from ...data._data_manager_factory import _DataManagerFactory
 from ...job._job_manager_factory import _JobManagerFactory
 from ...job._job_manager_factory import _JobManagerFactory

+ 1 - 1
taipy/core/_version/_cli/_version_cli_factory.py

@@ -13,7 +13,7 @@ from importlib import import_module
 from operator import attrgetter
 from operator import attrgetter
 from typing import Type
 from typing import Type
 
 
-from taipy._cli._base_cli._abstract_cli import _AbstractCLI
+from taipy.common._cli._base_cli._abstract_cli import _AbstractCLI
 
 
 from ...common._check_dependencies import _TAIPY_ENTERPRISE_CORE_MODULE, _using_enterprise
 from ...common._check_dependencies import _TAIPY_ENTERPRISE_CORE_MODULE, _using_enterprise
 from ._version_cli import _VersionCLI
 from ._version_cli import _VersionCLI

+ 2 - 2
taipy/core/_version/_version.py

@@ -12,8 +12,8 @@
 from datetime import datetime
 from datetime import datetime
 from typing import Any
 from typing import Any
 
 
-from taipy.config import Config
-from taipy.config._config import _Config
+from taipy.common.config import Config
+from taipy.common.config._config import _Config
 
 
 from .._entity._entity import _Entity
 from .._entity._entity import _Entity
 
 

+ 1 - 1
taipy/core/_version/_version_converter.py

@@ -11,7 +11,7 @@
 
 
 from datetime import datetime
 from datetime import datetime
 
 
-from taipy.config import Config
+from taipy.common.config import Config
 
 
 from .._repository._abstract_converter import _AbstractConverter
 from .._repository._abstract_converter import _AbstractConverter
 from .._version._version import _Version
 from .._version._version import _Version

+ 4 - 4
taipy/core/_version/_version_manager.py

@@ -12,10 +12,10 @@
 import uuid
 import uuid
 from typing import List, Optional, Union
 from typing import List, Optional, Union
 
 
-from taipy.config import Config
-from taipy.config._config_comparator._comparator_result import _ComparatorResult
-from taipy.config.exceptions.exceptions import InconsistentEnvVariableError
-from taipy.logger._taipy_logger import _TaipyLogger
+from taipy.common.config import Config
+from taipy.common.config._config_comparator._comparator_result import _ComparatorResult
+from taipy.common.config.exceptions.exceptions import InconsistentEnvVariableError
+from taipy.common.logger._taipy_logger import _TaipyLogger
 
 
 from .._manager._manager import _Manager
 from .._manager._manager import _Manager
 from ..exceptions.exceptions import (
 from ..exceptions.exceptions import (

+ 1 - 1
taipy/core/common/_utils.py

@@ -16,7 +16,7 @@ from importlib import import_module
 from operator import attrgetter
 from operator import attrgetter
 from typing import Callable, Optional, Tuple
 from typing import Callable, Optional, Tuple
 
 
-from taipy.config import Config
+from taipy.common.config import Config
 
 
 
 
 @functools.lru_cache
 @functools.lru_cache

+ 1 - 1
taipy/core/common/mongo_default_document.py

@@ -9,7 +9,7 @@
 # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 # specific language governing permissions and limitations under the License.
 # specific language governing permissions and limitations under the License.
 
 
-from taipy.config.common._validate_id import _validate_id
+from taipy.common.config.common._validate_id import _validate_id
 
 
 
 
 class MongoDefaultDocument:
 class MongoDefaultDocument:

+ 1 - 1
taipy/core/common/warn_if_inputs_not_ready.py

@@ -11,7 +11,7 @@
 
 
 from typing import Iterable
 from typing import Iterable
 
 
-from taipy.logger._taipy_logger import _TaipyLogger
+from taipy.common.logger._taipy_logger import _TaipyLogger
 
 
 from ..data import DataNode
 from ..data import DataNode
 
 

+ 8 - 6
taipy/core/config/__init__.py

@@ -10,12 +10,14 @@
 # specific language governing permissions and limitations under the License.
 # specific language governing permissions and limitations under the License.
 """Configuration of the core package functionalities."""
 """Configuration of the core package functionalities."""
 
 
-from taipy.config import _inject_section
-from taipy.config.checker._checker import _Checker
-from taipy.config.common.frequency import Frequency  # type: ignore
-from taipy.config.common.scope import Scope  # type: ignore
-from taipy.config.config import Config  # type: ignore
-from taipy.config.global_app.global_app_config import GlobalAppConfig  # type: ignore
+from taipy.common.config import (
+    Config,  # type: ignore
+    _inject_section,
+)
+from taipy.common.config.checker._checker import _Checker
+from taipy.common.config.common.frequency import Frequency  # type: ignore
+from taipy.common.config.common.scope import Scope  # type: ignore
+from taipy.common.config.global_app.global_app_config import GlobalAppConfig  # type: ignore
 
 
 from .checkers._config_id_checker import _ConfigIdChecker
 from .checkers._config_id_checker import _ConfigIdChecker
 from .checkers._core_section_checker import _CoreSectionChecker
 from .checkers._core_section_checker import _CoreSectionChecker

+ 3 - 3
taipy/core/config/checkers/_config_id_checker.py

@@ -11,9 +11,9 @@
 
 
 from typing import Dict, List
 from typing import Dict, List
 
 
-from taipy.config._config import _Config
-from taipy.config.checker._checkers._config_checker import _ConfigChecker
-from taipy.config.checker.issue_collector import IssueCollector
+from taipy.common.config._config import _Config
+from taipy.common.config.checker._checkers._config_checker import _ConfigChecker
+from taipy.common.config.checker.issue_collector import IssueCollector
 
 
 
 
 class _ConfigIdChecker(_ConfigChecker):
 class _ConfigIdChecker(_ConfigChecker):

+ 3 - 3
taipy/core/config/checkers/_core_section_checker.py

@@ -11,9 +11,9 @@
 
 
 from typing import Set, cast
 from typing import Set, cast
 
 
-from taipy.config._config import _Config
-from taipy.config.checker._checkers._config_checker import _ConfigChecker
-from taipy.config.checker.issue_collector import IssueCollector
+from taipy.common.config._config import _Config
+from taipy.common.config.checker._checkers._config_checker import _ConfigChecker
+from taipy.common.config.checker.issue_collector import IssueCollector
 
 
 from ..core_section import CoreSection
 from ..core_section import CoreSection
 
 

+ 4 - 4
taipy/core/config/checkers/_data_node_config_checker.py

@@ -12,10 +12,10 @@
 from datetime import timedelta
 from datetime import timedelta
 from typing import Dict, List, cast
 from typing import Dict, List, cast
 
 
-from taipy.config._config import _Config
-from taipy.config.checker._checkers._config_checker import _ConfigChecker
-from taipy.config.checker.issue_collector import IssueCollector
-from taipy.config.common.scope import Scope
+from taipy.common.config._config import _Config
+from taipy.common.config.checker._checkers._config_checker import _ConfigChecker
+from taipy.common.config.checker.issue_collector import IssueCollector
+from taipy.common.config.common.scope import Scope
 
 
 from ...scenario.scenario import Scenario
 from ...scenario.scenario import Scenario
 from ...task.task import Task
 from ...task.task import Task

+ 3 - 3
taipy/core/config/checkers/_job_config_checker.py

@@ -11,9 +11,9 @@
 
 
 from typing import Dict, cast
 from typing import Dict, cast
 
 
-from taipy.config._config import _Config
-from taipy.config.checker._checkers._config_checker import _ConfigChecker
-from taipy.config.checker.issue_collector import IssueCollector
+from taipy.common.config._config import _Config
+from taipy.common.config.checker._checkers._config_checker import _ConfigChecker
+from taipy.common.config.checker.issue_collector import IssueCollector
 
 
 from ..data_node_config import DataNodeConfig
 from ..data_node_config import DataNodeConfig
 from ..job_config import JobConfig
 from ..job_config import JobConfig

+ 5 - 5
taipy/core/config/checkers/_scenario_config_checker.py

@@ -11,11 +11,11 @@
 
 
 from typing import Dict, cast
 from typing import Dict, cast
 
 
-from taipy.config import Config
-from taipy.config._config import _Config
-from taipy.config.checker._checkers._config_checker import _ConfigChecker
-from taipy.config.checker.issue_collector import IssueCollector
-from taipy.config.common.frequency import Frequency
+from taipy.common.config import Config
+from taipy.common.config._config import _Config
+from taipy.common.config.checker._checkers._config_checker import _ConfigChecker
+from taipy.common.config.checker.issue_collector import IssueCollector
+from taipy.common.config.common.frequency import Frequency
 
 
 from ..data_node_config import DataNodeConfig
 from ..data_node_config import DataNodeConfig
 from ..scenario_config import ScenarioConfig
 from ..scenario_config import ScenarioConfig

+ 3 - 3
taipy/core/config/checkers/_task_config_checker.py

@@ -11,9 +11,9 @@
 
 
 from typing import Dict, List, cast
 from typing import Dict, List, cast
 
 
-from taipy.config._config import _Config
-from taipy.config.checker._checkers._config_checker import _ConfigChecker
-from taipy.config.checker.issue_collector import IssueCollector
+from taipy.common.config._config import _Config
+from taipy.common.config.checker._checkers._config_checker import _ConfigChecker
+from taipy.common.config.checker.issue_collector import IssueCollector
 
 
 from ...scenario.scenario import Scenario
 from ...scenario.scenario import Scenario
 from ..data_node_config import DataNodeConfig
 from ..data_node_config import DataNodeConfig

+ 4 - 4
taipy/core/config/core_section.py

@@ -13,10 +13,10 @@ import re
 from copy import copy
 from copy import copy
 from typing import Any, Dict, Optional, Union
 from typing import Any, Dict, Optional, Union
 
 
-from taipy.config import Config, UniqueSection
-from taipy.config._config import _Config
-from taipy.config.common._config_blocker import _ConfigBlocker
-from taipy.config.common._template_handler import _TemplateHandler as _tpl
+from taipy.common.config import Config, UniqueSection
+from taipy.common.config._config import _Config
+from taipy.common.config.common._config_blocker import _ConfigBlocker
+from taipy.common.config.common._template_handler import _TemplateHandler as _tpl
 from taipy.core._version._version_manager_factory import _VersionManagerFactory
 from taipy.core._version._version_manager_factory import _VersionManagerFactory
 from taipy.core.cycle._cycle_manager_factory import _CycleManagerFactory
 from taipy.core.cycle._cycle_manager_factory import _CycleManagerFactory
 from taipy.core.data._data_manager_factory import _DataManagerFactory
 from taipy.core.data._data_manager_factory import _DataManagerFactory

+ 6 - 6
taipy/core/config/data_node_config.py

@@ -14,12 +14,12 @@ from copy import copy
 from datetime import timedelta
 from datetime import timedelta
 from typing import Any, Callable, Dict, List, Optional, Union
 from typing import Any, Callable, Dict, List, Optional, Union
 
 
-from taipy.config._config import _Config
-from taipy.config.common._config_blocker import _ConfigBlocker
-from taipy.config.common._template_handler import _TemplateHandler as _tpl
-from taipy.config.common.scope import Scope
-from taipy.config.config import Config
-from taipy.config.section import Section
+from taipy.common.config import Config
+from taipy.common.config._config import _Config
+from taipy.common.config.common._config_blocker import _ConfigBlocker
+from taipy.common.config.common._template_handler import _TemplateHandler as _tpl
+from taipy.common.config.common.scope import Scope
+from taipy.common.config.section import Section
 
 
 from ..common._warnings import _warn_deprecated
 from ..common._warnings import _warn_deprecated
 from ..common.mongo_default_document import MongoDefaultDocument
 from ..common.mongo_default_document import MongoDefaultDocument

+ 4 - 4
taipy/core/config/job_config.py

@@ -12,10 +12,10 @@
 from copy import copy
 from copy import copy
 from typing import Any, Dict, Optional, Union
 from typing import Any, Dict, Optional, Union
 
 
-from taipy.config import Config
-from taipy.config._config import _Config
-from taipy.config.common._template_handler import _TemplateHandler as _tpl
-from taipy.config.unique_section import UniqueSection
+from taipy.common.config import Config
+from taipy.common.config._config import _Config
+from taipy.common.config.common._template_handler import _TemplateHandler as _tpl
+from taipy.common.config.unique_section import UniqueSection
 
 
 
 
 class JobConfig(UniqueSection):
 class JobConfig(UniqueSection):

Some files were not shown because too many files changed in this diff