Просмотр исходного кода

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 месяцев назад
Родитель
Сommit
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"
         required: true
       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
 
 env:
@@ -28,7 +28,7 @@ jobs:
   fetch-versions:
     runs-on: ubuntu-latest
     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 }}
         gui_VERSION: ${{ steps.version-setup.outputs.gui_VERSION }}
         rest_VERSION: ${{ steps.version-setup.outputs.rest_VERSION }}
@@ -73,11 +73,11 @@ jobs:
       - name: Set Build Variables
         id: set-variables
         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
             echo "package_version=${{needs.fetch-versions.outputs.core_VERSION}}" >> $GITHUB_OUTPUT
             echo "package_dir=./taipy/core" >> $GITHUB_OUTPUT
@@ -104,7 +104,7 @@ jobs:
       - name: Update setup.requirements.txt
         run: |
           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.gui_VERSION}} \
             ${{needs.fetch-versions.outputs.rest_VERSION}} \
@@ -145,7 +145,7 @@ jobs:
           python tools/release/build_package_structure.py  ${{ github.event.inputs.target_package }}
 
       - name: Copy Taipy Logger
-        if: github.event.inputs.target_package == 'config'
+        if: github.event.inputs.target_package == 'common'
         run: |
           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:
     runs-on: ubuntu-latest
     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 }}
         gui_VERSION: ${{ steps.version-setup.outputs.gui_VERSION }}
         rest_VERSION: ${{ steps.version-setup.outputs.rest_VERSION }}
@@ -50,7 +50,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        package: [config, core, gui, rest, templates]
+        package: [common, core, gui, rest, templates]
       max-parallel: 1
     steps:
       - uses: actions/checkout@v4
@@ -71,11 +71,11 @@ jobs:
       - name: Set Build Variables
         id: set-variables
         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
             echo "package_version=${{needs.fetch-versions.outputs.core_VERSION}}" >> $GITHUB_OUTPUT
             echo "package_dir=./taipy/core" >> $GITHUB_OUTPUT
@@ -102,7 +102,7 @@ jobs:
       - name: Update setup.requirements.txt
         run: |
           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.gui_VERSION}} \
             ${{needs.fetch-versions.outputs.rest_VERSION}} \
@@ -142,15 +142,6 @@ jobs:
         run: |
           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
         working-directory: ${{ steps.set-variables.outputs.package_dir }}
         run: |
@@ -192,7 +183,7 @@ jobs:
       - name: Update setup.requirements.txt
         run: |
           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.gui_VERSION}} \
             ${{needs.fetch-versions.outputs.rest_VERSION}} \
@@ -233,7 +224,7 @@ jobs:
 
       - name: Download packages
         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.gui_VERSION }}-gui --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:
           python-version: '3.11'
       - 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
         with:
           commit_message: "Update config.pyi"

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

@@ -14,7 +14,7 @@ jobs:
 
       - uses: jpetrucciani/mypy-check@master
         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
   tests:
@@ -33,10 +33,8 @@ jobs:
         id: changes
         with:
           filters: |
-            cli:
-              - 'taipy/_cli/**'
-            config:
-              - 'taipy/config/**'
+            common:
+              - 'taipy/common/**'
             core:
               - 'taipy/core/**'
             gui:
@@ -44,8 +42,6 @@ jobs:
               - 'frontend/taipy-gui/**'
             gui-core:
               - 'taipy/gui_core/**'
-            logger:
-              - 'taipy/logger/**'
             rest:
               - 'taipy/rest/**'
             templates:
@@ -103,13 +99,9 @@ jobs:
         if: steps.changes.outputs.gui == 'true' || steps.changes.outputs.gui-core == 'true'
         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
         if: steps.changes.outputs.core == 'true'
@@ -125,10 +117,6 @@ jobs:
         if: steps.changes.outputs.gui-core == 'true'
         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
         if: steps.changes.outputs.rest == 'true'
         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)"
         required: true
       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
 
 jobs:

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

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

+ 1 - 1
pyproject.toml

@@ -80,7 +80,7 @@ unfixable = []
 [tool.ruff.lint.per-file-ignores]
 "__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/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
 
 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"):
         from taipy.gui._init import *

+ 4 - 4
taipy/_entrypoint.py

@@ -13,15 +13,15 @@ import os
 import sys
 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._entity._migrate_cli import _MigrateCLI
 from taipy.core._version._cli._version_cli_factory import _VersionCLIFactory
 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
 
 

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

@@ -1,28 +1,28 @@
 # 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
-pip install taipy-config
+pip install taipy-common
 ```
 
 ## 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
 pip install git+https://git@github.com/Avaiga/taipy
 ```
 
 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:
 
 ```bash
 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.
 
 ## Running the tests
@@ -36,8 +36,8 @@ pip install pipenv
 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
-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 typing import List, Optional
 
-from taipy.logger._taipy_logger import _TaipyLogger
+from taipy.common.logger._taipy_logger import _TaipyLogger
 
 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
 
-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
 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"
 
     ```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)
     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"
 
-    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
     scenarios.
 
@@ -57,9 +57,6 @@ from .common.scope import Scope
 from .global_app.global_app_config import GlobalAppConfig
 from .section import Section
 from .unique_section import UniqueSection
-from .version import _get_version
-
-__version__ = _get_version()
 
 
 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():
             if section_class := cls._section_class.get(section_name, None):
                 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
-                    )  # type: ignore
+                    )
                 elif issubclass(section_class, Section):
                     config._sections[section_name] = cls._extract_node(as_dict, section_class, section_name, 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.",
             )
         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):
         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:
                 cls._default_config._unique_sections[default_section.name] = default_section
         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:
             cls._default_config._sections[default_section.name] = {default_section.id: default_section}
         cls._serializer._section_class[default_section.name] = default_section.__class__  # type: ignore
@@ -292,9 +292,11 @@ class Config:
     def _override_env_file(cls):
         if cfg_filename := os.environ.get(cls._ENVIRONMENT_VARIABLE_NAME_WITH_CONFIG_PATH):
             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
             cls.__logger.info(f"Loading configuration provided by environment variable. Filename: '{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
 # 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.
-
 import json
 from datetime import timedelta
 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 .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
 # 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 *

+ 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__":
-    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")
-    base_config = "taipy/config/config.py"
+    base_config = "taipy/common/config/config.py"
 
     dn_filename = "taipy/core/config/data_node_config.py"
     job_filename = "taipy/core/config/job_config.py"
@@ -164,5 +164,5 @@ if __name__ == "__main__":
     # Remove the final redundant \n
     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)

+ 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
 # 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.
-
 import json
 from datetime import timedelta
 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 .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
 
 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.
 
 Taipy Config is a package designed to help users configure their Taipy application.
 
 ## Installation
 
-The latest stable version of *taipy-config* is available through *pip*:
+The latest stable version of *taipy-common* is available through *pip*:
 ```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
 pip install git+https://git@github.com/Avaiga/taipy
 ```
 
 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:
 
 ```bash
 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"
 
 [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"
 requires-python = ">=3.9"
 license = {text = "Apache License 2.0"}
 authors = [{name = "Avaiga", email = "dev@taipy.io"}]
-keywords = ["taipy-config"]
+keywords = ["taipy-common"]
 classifiers = [
     "Intended Audience :: Developers",
     "License :: OSI Approved :: Apache Software License",
@@ -23,10 +23,20 @@ classifiers = [
 dynamic = ["version", "dependencies"]
 
 [project.optional-dependencies]
-testing = ["pytest>=3.8"]
+testing = ["pytest>=3.9"]
 
 [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]
 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(
         include=[
             "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,

+ 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.
 
 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
 [data nodes](../../../userman/scenario_features/data-integration/data-node-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 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
 

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

@@ -13,7 +13,7 @@ from importlib import import_module
 from operator import attrgetter
 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 ._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
 # 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 .orchestrator import Orchestrator

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

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

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

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

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

@@ -13,7 +13,7 @@ import json
 from importlib.metadata import version
 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()
 

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

@@ -12,9 +12,9 @@
 import sys
 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 (
     _migrate_fs_entities,

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

@@ -11,7 +11,7 @@
 
 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
 

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

@@ -11,7 +11,7 @@
 
 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 .._repository._abstract_repository import _AbstractRepository

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

@@ -12,7 +12,7 @@
 from abc import abstractmethod
 from typing import Type
 
-from taipy.config import Config
+from taipy.common.config import Config
 
 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 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 ...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 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 .._abstract_orchestrator import _AbstractOrchestrator

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

@@ -11,9 +11,9 @@
 
 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_node import DataNode

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

@@ -16,8 +16,8 @@ from threading import Lock
 from time import sleep
 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 ..data._data_manager_factory import _DataManagerFactory

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

@@ -11,7 +11,7 @@
 import typing
 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._utils import _load_fct

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

@@ -15,7 +15,7 @@ import pathlib
 import shutil
 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.typing import Converter, Entity, Json, ModelType

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

@@ -12,10 +12,10 @@
 import sys
 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 ...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 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 ._version_cli import _VersionCLI

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

@@ -12,8 +12,8 @@
 from datetime import datetime
 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
 

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

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

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

@@ -12,10 +12,10 @@
 import uuid
 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 ..exceptions.exceptions import (

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

@@ -16,7 +16,7 @@ from importlib import import_module
 from operator import attrgetter
 from typing import Callable, Optional, Tuple
 
-from taipy.config import Config
+from taipy.common.config import Config
 
 
 @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
 # 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:

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

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

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

@@ -10,12 +10,14 @@
 # specific language governing permissions and limitations under the License.
 """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._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 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):

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

@@ -11,9 +11,9 @@
 
 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
 

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

@@ -12,10 +12,10 @@
 from datetime import timedelta
 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 ...task.task import Task

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

@@ -11,9 +11,9 @@
 
 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 ..job_config import JobConfig

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

@@ -11,11 +11,11 @@
 
 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 ..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 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 ..data_node_config import DataNodeConfig

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

@@ -13,10 +13,10 @@ import re
 from copy import copy
 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.cycle._cycle_manager_factory import _CycleManagerFactory
 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 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.mongo_default_document import MongoDefaultDocument

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

@@ -12,10 +12,10 @@
 from copy import copy
 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):

Некоторые файлы не были показаны из-за большого количества измененных файлов