Преглед на файлове

Merge pull request #841 from Avaiga/feature/#681-remove-obsolate-files

Feature/#681 - Remove obsolete files
Đỗ Trường Giang преди 1 година
родител
ревизия
8548aa6ede
променени са 87 файла, в които са добавени 385 реда и са изтрити 1773 реда
  1. 0 1
      .editorconfig
  2. 2 3
      .github/ISSUE_TEMPLATE/bug_report.md
  3. 75 3
      .gitignore
  4. 3 3
      CONTRIBUTING.md
  5. 30 25
      INSTALLATION.md
  6. 6 0
      MANIFEST.in
  7. 0 1
      Pipfile
  8. 1 1
      README.md
  9. 15 0
      contributors.txt
  10. 5 6
      doc/gui/extension/README.md
  11. 6 6
      frontend/taipy-gui/README.md
  12. 3 4
      frontend/taipy-gui/extension-index.md
  13. 3 3
      frontend/taipy/README.md
  14. 0 1
      pyproject.toml
  15. 0 14
      taipy/config/.coveragerc
  16. 0 22
      taipy/config/.editorconfig
  17. 0 23
      taipy/config/.flake8
  18. 0 2
      taipy/config/.gitattributes
  19. 0 97
      taipy/config/.gitignore
  20. 0 9
      taipy/config/.isort.cfg
  21. 0 10
      taipy/config/.license-header
  22. 0 46
      taipy/config/.pre-commit-config.yaml
  23. 4 4
      taipy/config/CONTRIBUTING.md
  24. 29 15
      taipy/config/INSTALLATION.md
  25. 0 2
      taipy/config/MANIFEST.in
  26. 0 28
      taipy/config/Pipfile
  27. 18 22
      taipy/config/README.md
  28. 0 5
      taipy/config/contributors.txt
  29. 0 49
      taipy/config/tox.ini
  30. 0 14
      taipy/core/.coveragerc
  31. 0 22
      taipy/core/.editorconfig
  32. 0 23
      taipy/core/.flake8
  33. 0 2
      taipy/core/.gitattributes
  34. 0 94
      taipy/core/.gitignore
  35. 0 9
      taipy/core/.isort.cfg
  36. 0 10
      taipy/core/.license-header
  37. 0 46
      taipy/core/.pre-commit-config.yaml
  38. 3 3
      taipy/core/CONTRIBUTING.md
  39. 28 14
      taipy/core/INSTALLATION.md
  40. 0 2
      taipy/core/MANIFEST.in
  41. 0 35
      taipy/core/Pipfile
  42. 29 30
      taipy/core/README.md
  43. 0 11
      taipy/core/contributors.txt
  44. 0 2
      taipy/core/pyproject.toml
  45. 0 57
      taipy/core/tox.ini
  46. 0 18
      taipy/gui/.coveragerc
  47. 0 22
      taipy/gui/.editorconfig
  48. 0 23
      taipy/gui/.flake8
  49. 0 2
      taipy/gui/.gitattributes
  50. 1 95
      taipy/gui/.gitignore
  51. 0 9
      taipy/gui/.isort.cfg
  52. 0 10
      taipy/gui/.license-header
  53. 0 65
      taipy/gui/.pre-commit-config.yaml
  54. 3 3
      taipy/gui/CONTRIBUTING.md
  55. 19 11
      taipy/gui/INSTALLATION.md
  56. 0 4
      taipy/gui/MANIFEST.in
  57. 0 65
      taipy/gui/Pipfile
  58. 2 15
      taipy/gui/README.md
  59. 0 2
      taipy/gui/mypy.ini
  60. 0 2
      taipy/gui/pyproject.toml
  61. 0 65
      taipy/gui/tox.ini
  62. 0 2
      taipy/rest/.coveragerc
  63. 0 24
      taipy/rest/.flake8
  64. 0 87
      taipy/rest/.gitignore
  65. 0 9
      taipy/rest/.isort.cfg
  66. 0 10
      taipy/rest/.license-header
  67. 0 41
      taipy/rest/.pre-commit-config.yaml
  68. 3 3
      taipy/rest/CONTRIBUTING.md
  69. 58 35
      taipy/rest/INSTALLATION.md
  70. 0 1
      taipy/rest/MANIFEST.in
  71. 0 28
      taipy/rest/Pipfile
  72. 18 22
      taipy/rest/README.md
  73. 0 8
      taipy/rest/contributors.txt
  74. 0 44
      taipy/rest/tox.ini
  75. 0 22
      taipy/templates/.editorconfig
  76. 0 23
      taipy/templates/.flake8
  77. 0 2
      taipy/templates/.gitattributes
  78. 0 25
      taipy/templates/.gitignore
  79. 0 50
      taipy/templates/.pre-commit-config.yaml
  80. 3 3
      taipy/templates/CONTRIBUTING.md
  81. 0 2
      taipy/templates/MANIFEST.in
  82. 0 26
      taipy/templates/Pipfile
  83. 18 11
      taipy/templates/README.md
  84. 0 2
      taipy/templates/mypy.ini
  85. 0 4
      taipy/templates/pyproject.toml
  86. 0 18
      taipy/templates/tox.ini
  87. 0 81
      tox.ini

+ 0 - 1
.editorconfig

@@ -17,7 +17,6 @@ indent_size = 2
 charset = utf-8
 end_of_line = lf
 
-
 [*.bat]
 indent_style = tab
 end_of_line = crlf

+ 2 - 3
.github/ISSUE_TEMPLATE/bug_report.md

@@ -13,12 +13,12 @@ A complete and clear description of the problem.
 **How to reproduce**
 
 - A code fragment
-    ```
+    ```python
     from taipy import ...
     ```
 
 - And/or configuration files or code:
-    ```
+    ```python
     from taipy import Config;
 
 
@@ -44,4 +44,3 @@ and any other relevant information.
 **Acceptance Criteria**
 - [ ] Ensure new code is unit tested, and check code coverage is at least 90%
 - [ ] Create related issue in taipy-doc for documentation and Release Notes if relevant
-

+ 75 - 3
.gitignore

@@ -1,11 +1,72 @@
-.idea
-.venv
-__pycache__
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
 
 # Distribution / packaging
 Pipfile.lock
+.Python
+env/
 build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
 *.egg-info/
+.installed.cfg
+*.egg
+
+# PyInstaller
+#  Usually these files are written by a python script from a template
+#  before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*.cover
+.hypothesis/
+.pytest_cache/
+
+# Translations
+*.mo
+*.pot
+
+# Jupyter Notebook
+.ipynb_checkpoints
+*.ipynb
+
+# pyenv
+.python-version
+
+# dotenv
+*.env
+
+# virtualenv
+.venv
+venv/
+ENV/
+
 # mypy
 .mypy_cache/
 dist/
@@ -16,11 +77,22 @@ dist/
 .idea/taipy.iml
 .DS_Store
 
+# Spyder project settings
+.spyderproject
+.spyproject
+
 # Core .data directory
 .data/
 .taipy/
 user_data/
+.my_data/
 
 # demo files
 demo-*
 demo_*/
+.airflow
+*.dags
+data_sources
+pipelines
+tasks
+pickles

+ 3 - 3
CONTRIBUTING.md

@@ -97,9 +97,9 @@ working on it.
    This tool will run before each commit and will automatically reformat code or raise warnings and errors based on the
    code format or Python typing.
    You can install and setup it up by doing:
-   ```
-     pipenv install pre-commit
-     pipenv run python -m pre-commit install
+   ```bash
+   pipenv install pre-commit
+   pipenv run python -m pre-commit install
    ```
 
 4. Make the changes.<br/>

+ 30 - 25
INSTALLATION.md

@@ -13,13 +13,13 @@ The easiest way to install Taipy is from the
 [Pypi software repository](https://pypi.org/project/taipy/).
 
 Run the command:
-```console
-$ pip install taipy
+```bash
+pip install taipy
 ```
 
 If you are running in a virtual environment, you will have to issue the command:
-```console
-$ pipenv install taipy
+```bash
+pipenv install taipy
 ```
 
 These commands install the `taipy` package in the Python environment with all its
@@ -32,8 +32,8 @@ contributors whom we praise for their input.
 
 The development version of Taipy can be installed using *pip* and *git*:
 
-```console
-$ pip install git+https://git@github.com/Avaiga/taipy
+```bash
+pip install git+https://git@github.com/Avaiga/taipy
 ```
 
 ## Installing for development
@@ -41,8 +41,8 @@ $ pip install git+https://git@github.com/Avaiga/taipy
 If you need the source code for Taipy 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:
 
-```console
-$ git clone https://github.com/Avaiga/taipy.git
+```bash
+git clone https://github.com/Avaiga/taipy.git
 ```
 
 This creates the 'taipy' directory holding all the package's source code.
@@ -72,21 +72,21 @@ The build process is described in the [Taipy GUI front-end](frontend/taipy-gui/R
 
 Here is the sequence of commands that can be issued to build both sets of files:
 
-```console
+```bash
 # Current directory is the repository's root directory
 #
 # Build the Taipy GUI bundle
-$ cd frontend/taipy-gui
-$ cd dom
-$ npm i
-$ cd ..
-$ npm i --omit=optional
-$ npm run build
+cd frontend/taipy-gui
+cd dom
+npm i
+cd ..
+npm i --omit=optional
+npm run build
 #
 # Build the Taipy front-end bundle
-$ cd ../taipy # Current directory is [taipy-dir]/frontend/taipy
-$ npm i
-$ npm run build
+cd ../taipy # Current directory is [taipy-dir]/frontend/taipy
+npm i
+npm run build
 ```
 
 These commands should create the directories `taipy/gui/webapp` and `taipy/gui_core/lib` in the
@@ -96,8 +96,8 @@ root directory of the taipy repository.
 
 If you plan to modify the front-end code and need to debug the TypeScript
 code, you must use the following:
-```
-$ npm run build:dev
+```bash
+npm run build:dev
 ```
 
 instead of the *standard* build option.
@@ -124,12 +124,17 @@ TypeScript code from your debugger.
 
 ## Running the tests
 
-To run the tests on the package, you need to create a virtual
-environment and install the development packages:
-
-Here are the commands to issue:
+To run the tests on the package, you need to install the required development packages.
+We recommend using [Pipenv](https://pipenv.pypa.io/en/latest/) to create a virtual environment
+and install the development packages.
 
-```console
+```bash
+pip install pipenv
 pipenv install --dev
+```
+
+Then you can run the tests with the following command:
+
+```bash
 pipenv run pytest
 ```

+ 6 - 0
MANIFEST.in

@@ -1,20 +1,26 @@
 recursive-include tools *
+
 # Package taipy
 include taipy/*.json
 include taipy/gui_core/*.json
 include taipy/gui_core/lib/*.js
+
 # Package taipy-config
 include taipy/config/*.pyi
 include taipy/config/*.json
+
 # Package taipy-core
 include taipy/core/*.json
 include taipy/core/config/*.json
+
 # Package taipy-gui
 recursive-include taipy/gui/webapp *
 include taipy/gui/version.json
 include taipy/gui/viselements.json
 include taipy/gui/*.pyi
+
 # Package taipy-rest
 include taipy/rest/*.json
+
 # Package taipy-templates
 recursive-include taipy/templates *

+ 0 - 1
Pipfile

@@ -61,7 +61,6 @@ pytest-playwright = "*"
 pytest-timeout = "*"
 python-dotenv = "*"
 testbook = "*"
-tox = "*"
 twine = "*"
 types-flask = "*"
 types-Flask-Cors = "*"

+ 1 - 1
README.md

@@ -59,7 +59,7 @@ Taipy is designed for data scientists and machine learning engineers to build fu
 
 ## ⚙️ Quickstart
 To install Taipy stable release run:
-```
+```bash
 pip install taipy
 ```
 

+ 15 - 0
contributors.txt

@@ -1 +1,16 @@
+jrobinAV
+FabienLelaquais
+florian-vuillemot
+FredLL-Avaiga
+dinhlongviolin1
+joaoandre-avaiga
+toan-quach
+trgiangdo
+gmarabout
+tsuu2092
+arcanaxion
+Dr-Irv
 enarroied
+bobbyshermi
+Forchapeatl
+yarikoptic

+ 5 - 6
doc/gui/extension/README.md

@@ -148,13 +148,13 @@ the "TAIPY_DIR" variable is set, we can build the JavaScript module file:
 - Set your directory to `example_library/front-end`
 - Install the Taipy GUI JavaScript bundle and the other dependencies:<br/>
   You must run the command:
-  ```
+  ```bash
   npm install
   ```
   This command will fail with a message indicating that the Taipy GUI 'webapp' directory
   could not be found if the "TAIPY_DIR" environment variable was not set properly.
 - You can now build the custom element library JavaScript bundle file:
-  ```
+  ```bash
   npm run build
   ```
   This generates the bundle `exampleLibrary.js` in the `dist` directory (if you have not
@@ -168,7 +168,7 @@ creates a Taipy GUI application with a page that demonstrates the various
 elements defined by this extension library example.
 
 To execute this application, you can run:
-```sh
+```bash
 python main.py
 ```
 (prefixed by `pipenv run` if you are using `pipenv`)
@@ -180,16 +180,15 @@ You can create an autonomous Python package for this extension library.
 The following two simple steps must be performed:
 
 - Install the build package:
-  ```sh
+  ```bash
   pip install build
   ```
   (prefixed by `pipenv run` if you are using `pipenv`)
 - Build the package:
-  ```sh
+  ```bash
   python -m build
   ```
   (prefixed by `pipenv run` if you are using `pipenv`)
 
 This generates an autonomous Python package that contains both the back-end and the
 front-end code for the extension library.
-

+ 6 - 6
frontend/taipy-gui/README.md

@@ -15,18 +15,18 @@ of the standard installation.
 To build the Taipy GUI bundle, you must set your current directory to this directory and then
 run the following commands:
 
-```console
+```bash
 # Current directory is the directory where this README file is located:
 #   [taipy-dir]/frontend/taipy-gui
 #
 # Install the DOM dependencies (once and for all)
-$ cd dom
-$ npm i
-$ cd ..
+cd dom
+npm i
+cd ..
 # Install the web app dependencies
-$ npm i --omit=optional
+npm i --omit=optional
 # Build the web app and all elements
-$ npm run build
+npm run build
 ```
 
 

+ 3 - 4
frontend/taipy-gui/extension-index.md

@@ -26,7 +26,7 @@ The Extension API is located by the 'taipy-gui' module.
 
 In order to import items from this module, you have to install it, using `npm`.
 The most simple way to install the Taipy GUI Extension module is:
-```
+```bash
 npm i <TAIPY_DIR>/taipy/gui/webapp
 ```
 
@@ -34,7 +34,7 @@ Where *<TAIPY_DIR>* represents the directory where, in the development machine's
 filesystem, the Taipy GUI Python package has been installed.
 
 When the package is installed, your JavaScript code can import items from it:
-```
+```javascript
 import { ... } from "taipy-gui";
 ```
 
@@ -61,11 +61,10 @@ In order for the front-end to notify the backend of a change or query data, an `
 must be created (using the `create*Action()` functions) and dispatched to the React
 context:
 
-```
+```javascript
 const dispatch = useDispatch();
 ...
 const action = create*Action(...);
 ...
 dispatch(action);
 ```
-

+ 3 - 3
frontend/taipy/README.md

@@ -13,13 +13,13 @@ Check [this file](../taipy-gui/README.md) for more information.
 To build the Taipy bundle, you must set your current directory to this directory and then
 run the following commands:
 
-```console
+```bash
 # Current directory is the directory where this README file is located:
 #   [taipy-dir]/frontend/taipy
 #
-$ npm i
+npm i
 # Build the Taipy front-end bundle
-$ npm run build
+npm run build
 ```
 
 After these commands are successfully executed, a new directory will be created in

+ 0 - 1
pyproject.toml

@@ -7,7 +7,6 @@ exclude = [
     "dist",
     "releases",
     ".venv",
-    ".tox",
     ".mypy_cache",
     ".pytest_cache",
     ".vscode",

+ 0 - 14
taipy/config/.coveragerc

@@ -1,14 +0,0 @@
-[run]
-# uncomment the following to omit files during running
-#omit =
-[report]
-exclude_lines =
-    pragma: no cover
-    def __repr__
-    if self.debug:
-    if settings.DEBUG
-    raise AssertionError
-    raise NotImplementedError
-    if 0:
-    if __name__ == .__main__.:
-    def main

+ 0 - 22
taipy/config/.editorconfig

@@ -1,22 +0,0 @@
-# http://editorconfig.org
-
-root = true
-
-[*]
-indent_style = space
-indent_size = 4
-max_line_length = 120
-trim_trailing_whitespace = true
-insert_final_newline = true
-charset = utf-8
-end_of_line = lf
-
-[*.bat]
-indent_style = tab
-end_of_line = crlf
-
-[LICENSE]
-insert_final_newline = false
-
-[Makefile]
-indent_style = tab

+ 0 - 23
taipy/config/.flake8

@@ -1,23 +0,0 @@
-[flake8]
-# required by black, https://github.com/psf/black/blob/master/.flake8
-max-line-length = 120
-max-complexity = 18
-ignore = E203, E266, E501, E722, W503, F403, F401
-select = B,C,E,F,W,T4,B9
-docstring-convention = google
-per-file-ignores =
-    __init__.py:F401
-exclude =
-    .git,
-    __pycache__,
-    setup.py,
-    build,
-    dist,
-    releases,
-    .venv,
-    .tox,
-    .mypy_cache,
-    .pytest_cache,
-    .vscode,
-    .github,
-    tests

+ 0 - 2
taipy/config/.gitattributes

@@ -1,2 +0,0 @@
-# Set the default behavior, in case people don't have core.autocrlf set.
-* text=auto

+ 0 - 97
taipy/config/.gitignore

@@ -1,97 +0,0 @@
-# Byte-compiled / optimized / DLL files
-__pycache__/
-*.py[cod]
-*$py.class
-
-# C extensions
-*.so
-
-# Distribution / packaging
-Pipfile.lock
-.Python
-env/
-build/
-develop-eggs/
-dist/
-downloads/
-eggs/
-.eggs/
-lib/
-lib64/
-parts/
-sdist/
-var/
-wheels/
-*.egg-info/
-.installed.cfg
-*.egg
-
-# PyInstaller
-#  Usually these files are written by a python script from a template
-#  before PyInstaller builds the exe, so as to inject date/other infos into it.
-*.manifest
-*.spec
-
-# Installer logs
-pip-log.txt
-pip-delete-this-directory.txt
-
-# Unit test / coverage reports
-htmlcov/
-.tox/
-.coverage
-.coverage.*
-.cache
-nosetests.xml
-coverage.xml
-*.cover
-.hypothesis/
-.pytest_cache/
-
-# Translations
-*.mo
-*.pot
-
-# Jupyter Notebook
-.ipynb_checkpoints
-
-# pyenv
-.python-version
-
-# dotenv
-*.env
-
-# virtualenv
-.venv
-venv/
-ENV/
-
-# mypy
-.mypy_cache/
-
-# IDE settings
-.vscode/
-.idea/
-.idea/taipy.iml
-.DS_Store
-
-# Demo Testing File
-object_selection.py
-dataset
-
-# Filesystem default local storage
-.data/
-user_data/
-.taipy/
-
-# python notebook
-*.ipynb
-
-.airflow
-*.dags
-data_sources
-sequences
-tasks
-pickles
-
-*.sqlite3

+ 0 - 9
taipy/config/.isort.cfg

@@ -1,9 +0,0 @@
-[settings]
-multi_line_output = 3
-include_trailing_comma = True
-force_grid_wrap = 0
-use_parentheses = True
-ensure_newline_before_comments = True
-line_length = 120
-# you can skip files as below
-#skip_glob = docs/conf.py

+ 0 - 10
taipy/config/.license-header

@@ -1,10 +0,0 @@
-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.

+ 0 - 46
taipy/config/.pre-commit-config.yaml

@@ -1,46 +0,0 @@
-repos:
--   repo: https://github.com/pre-commit/mirrors-mypy
-    rev: 'v0.910'  # Use the sha / tag you want to point at
-    hooks:
-    -   id: mypy
-        additional_dependencies: [
-                'types-Markdown',
-                'types-python-dateutil',
-                'types-pytz',
-                'types-tzlocal',
-        ]
--   repo: https://github.com/Lucas-C/pre-commit-hooks
-    rev: v1.1.13
-    hooks:
-    -   id: forbid-crlf
-    -   id: remove-crlf
-    -   id: forbid-tabs
-    -   id: remove-tabs
-    -   id: insert-license
-        files: \.py$
-        args:
-        - --license-filepath
-        - .license-header
--   repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v4.0.1
-    hooks:
-    - id: trailing-whitespace
-    - id: end-of-file-fixer
-    - id: check-merge-conflict
-    - id: check-yaml
-      args: [--unsafe]
--   repo: https://github.com/pre-commit/mirrors-isort
-    rev: v5.9.3
-    hooks:
-    - id: isort
--   repo: https://github.com/ambv/black
-    rev: 22.3.0
-    hooks:
-    - id: black
-      args: [--line-length=120]
-      language_version: python3
--   repo: https://gitlab.com/pycqa/flake8
-    rev: 3.9.2
-    hooks:
-    -   id: flake8
-        additional_dependencies: [flake8-typing-imports==1.10.0]

+ 4 - 4
taipy/config/CONTRIBUTING.md

@@ -95,11 +95,11 @@ working on it.
 
 3. For convention help, we provide a [pre-commit](https://pre-commit.com/hooks.html) file.
    This tool will run before each commit and will automatically reformat code or raise warnings and errors based on the
-   code format or Python typing.
+   code format or Python typing.<br/>
    You can install and setup it up by doing:
-   ```
-     pipenv install pre-commit
-     pipenv run python -m pre-commit install
+   ```bash
+   pipenv install pre-commit
+   pipenv run python -m pre-commit install
    ```
 
 4. Make the changes.<br/>

+ 29 - 15
taipy/config/INSTALLATION.md

@@ -1,29 +1,43 @@
 # Installation
 
-The latest stable version of _taipy-config_ is available through _pip_:
-```
+The latest stable version of *taipy-config* can be installed using `pip`:
+```bash
 pip install taipy-config
 ```
 
 ## Development version
 
-You can install the development version of _taipy-config_ with _pip_ and _git_:
-```
-pip install git+https://git@github.com/Avaiga/taipy-config
+You can install the development version of *taipy-config* with `pip` and `git` directly from the Taipy repository:
+```bash
+pip install git+https://git@github.com/Avaiga/taipy
 ```
 
-## Work with the _taipy-config_ code
-```
-git clone https://github.com/Avaiga/taipy-config.git
-cd taipy-config
-pip install .
-```
+This command installs the development version of _taipy_ package in the Python environment with all
+its dependencies, including the _taipy-config_ package.
+
+If you need the source code for _taipy-config_ 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:
 
-If you want to run tests, please install `Pipenv`:
+```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.
+
+## Running the tests
+
+To run the tests on the package, you need to install the required development packages.
+We recommend using [Pipenv](https://pipenv.pypa.io/en/latest/) to create a virtual environment
+and install the development packages.
+
+```bash
 pip install pipenv
-git clone https://github.com/Avaiga/taipy-config.git
-cd taipy-config
 pipenv install --dev
-pipenv run pytest
+```
+
+Then you can run *taipy-config* tests with the following command:
+
+```bash
+pipenv run pytest tests/config
 ```

+ 0 - 2
taipy/config/MANIFEST.in

@@ -1,2 +0,0 @@
-include *.pyi
-include *.json

+ 0 - 28
taipy/config/Pipfile

@@ -1,28 +0,0 @@
-[[source]]
-url = "https://pypi.org/simple"
-verify_ssl = true
-name = "pypi"
-
-[packages]
-toml = "==0.10"
-deepdiff = "==6.2.2"
-
-[dev-packages]
-black = "*"
-flake8 = "*"
-flake8-docstrings = "*"
-isort = "*"
-mypy = "*"
-pre-commit = "*"
-pytest = "*"
-pytest-cov = "*"
-pytest-mock = ">=3.6"
-tox = ">=3.24"
-types-toml = ">=0.10.0"
-autopep8 = "*"
-
-[requires]
-python_version = "3"
-
-[pipenv]
-allow_prereleases = true

+ 18 - 22
taipy/config/README.md

@@ -1,11 +1,3 @@
-# 🚧 Under construction 🚧
-
-WARNING: The Taipy team is performing a repository restructuration. This current repository taipy-config is about to be
-merged into the main repository: taipy. Once the merge is done, the current code base will be in the
-[taipy repository](https://github.com/Avaiga/taipy). The migration should take a maximum of a few days.
-<br>
-
-
 # Taipy config
 
 ## License
@@ -34,7 +26,7 @@ Taipy is a Python library for creating Business Applications. More information o
 [website](https://www.taipy.io). Taipy is split into multiple repositories including _taipy-config_ to let users
 install the minimum they need.
 
-[Taipy config](https://github.com/Avaiga/taipy-config) is dedicated to helping the user configure a Taipy application.
+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).
 
@@ -53,16 +45,20 @@ Want to be part of the _Taipy config_ community? Check out our [`CODE_OF_CONDUCT
 ## Directory Structure
 
 - `taipy/`:
-    - `config`: Configuration definition, management, and implementation. `config.config.Config` is the main
-      entrypoint for configuring a Taipy Core application.
-    - `logger`: Taipy logger.
-    - `tests`: Unit tests following the `taipy/` structure.
-- `CODE_OF_CONDUCT.md`: Code of conduct for members and contributors of _taipy-config_.
-- `CONTRIBUTING.md`: Instructions to contribute to _taipy-config_.
-- `INSTALLATION.md`: Instructions to install _taipy-config_.
-- `LICENSE`: The Apache 2.0 License.
-- `Pipfile`: File used by the Pipenv virtual environment to manage project dependencies.
-- `README.md`: Current file.
-- `contributors.txt`: The list of contributors.
-- `setup.py`: The setup script managing building, distributing, and installing _taipy-config_.
-- `tox.ini`: Contains test scenarios to be run.
+  - `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.
+    - `CODE_OF_CONDUCT.md`: Code of conduct for members and contributors of *taipy-config*.
+    - `CONTRIBUTING.md`: Instructions to contribute to _taipy-config_.
+    - `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 - 5
taipy/config/contributors.txt

@@ -1,5 +0,0 @@
-jrobinAV
-joaoandre-avaiga
-trgiangdo
-tsuu2092
-Dr-Irv

+ 0 - 49
taipy/config/tox.ini

@@ -1,49 +0,0 @@
-[tox]
-skipsdist = true
-isolated_build = true
-envlist = clean, lint, without-pyodbc
-
-[pytest]
-filterwarnings =
-    ignore::DeprecationWarning
-
-[testenv]
-allowlist_externals = pytest
-deps = pipenv==2023.7.23
-
-[testenv:lint]
-platform = linux
-allowlist_externals =
-    isort
-    black
-    flake8
-deps =
-    isort
-    black
-    flake8
-commands =
-    isort taipy
-    black taipy tests
-    flake8 taipy tests
-
-[testenv:without-pyodbc]
-commands =
-    pipenv install --dev
-    pytest tests
-
-[testenv:all-tests]
-commands =
-    pipenv install --dev
-    pytest tests
-
-[testenv:coverage]
-platform = linux
-deps =
-    pipenv
-    coverage
-commands =
-    coverage erase
-    pipenv install --dev
-    pytest -s --cov=src --cov-append --cov-report=xml --cov-report term-missing tests
-    coverage report
-    coverage html

+ 0 - 14
taipy/core/.coveragerc

@@ -1,14 +0,0 @@
-[run]
-# uncomment the following to omit files during running
-#omit =
-[report]
-exclude_lines =
-    pragma: no cover
-    def __repr__
-    if self.debug:
-    if settings.DEBUG
-    raise AssertionError
-    raise NotImplementedError
-    if 0:
-    if __name__ == .__main__.:
-    def main

+ 0 - 22
taipy/core/.editorconfig

@@ -1,22 +0,0 @@
-# http://editorconfig.org
-
-root = true
-
-[*]
-indent_style = space
-indent_size = 4
-max_line_length = 120
-trim_trailing_whitespace = true
-insert_final_newline = true
-charset = utf-8
-end_of_line = lf
-
-[*.bat]
-indent_style = tab
-end_of_line = crlf
-
-[LICENSE]
-insert_final_newline = false
-
-[Makefile]
-indent_style = tab

+ 0 - 23
taipy/core/.flake8

@@ -1,23 +0,0 @@
-[flake8]
-# required by black, https://github.com/psf/black/blob/master/.flake8
-max-line-length = 120
-max-complexity = 18
-ignore = E203, E266, E501, E722, W503, F403, F401
-select = B,C,E,F,W,T4,B9
-docstring-convention = google
-per-file-ignores =
-    __init__.py:F401
-exclude =
-    .git,
-    __pycache__,
-    setup.py,
-    build,
-    dist,
-    releases,
-    .venv,
-    .tox,
-    .mypy_cache,
-    .pytest_cache,
-    .vscode,
-    .github,
-    tests

+ 0 - 2
taipy/core/.gitattributes

@@ -1,2 +0,0 @@
-# Set the default behavior, in case people don't have core.autocrlf set.
-* text=auto

+ 0 - 94
taipy/core/.gitignore

@@ -1,94 +0,0 @@
-# Byte-compiled / optimized / DLL files
-__pycache__/
-*.py[cod]
-*$py.class
-
-# C extensions
-*.so
-
-# Distribution / packaging
-Pipfile.lock
-.Python
-env/
-build/
-develop-eggs/
-dist/
-downloads/
-eggs/
-.eggs/
-lib/
-lib64/
-parts/
-sdist/
-var/
-wheels/
-*.egg-info/
-.installed.cfg
-*.egg
-
-# PyInstaller
-#  Usually these files are written by a python script from a template
-#  before PyInstaller builds the exe, so as to inject date/other infos into it.
-*.manifest
-*.spec
-
-# Installer logs
-pip-log.txt
-pip-delete-this-directory.txt
-
-# Unit test / coverage reports
-htmlcov/
-.tox/
-.coverage
-.coverage.*
-.cache
-nosetests.xml
-coverage.xml
-*.cover
-.hypothesis/
-.pytest_cache/
-
-# Translations
-*.mo
-*.pot
-
-# Jupyter Notebook
-.ipynb_checkpoints
-
-# pyenv
-.python-version
-
-# dotenv
-*.env
-
-# virtualenv
-.venv
-venv/
-ENV/
-
-# mypy
-.mypy_cache/
-
-# IDE settings
-.vscode/
-.idea/
-.idea/taipy.iml
-.DS_Store
-
-# Demo Testing File
-object_selection.py
-dataset
-
-# Filesystem default local storage
-.data/
-.my_data/
-user_data/
-.taipy/
-
-# python notebook
-*.ipynb
-
-.airflow
-*.dags
-
-dask-worker-space/

+ 0 - 9
taipy/core/.isort.cfg

@@ -1,9 +0,0 @@
-[settings]
-multi_line_output = 3
-include_trailing_comma = True
-force_grid_wrap = 0
-use_parentheses = True
-ensure_newline_before_comments = True
-line_length = 120
-# you can skip files as below
-#skip_glob = docs/conf.py

+ 0 - 10
taipy/core/.license-header

@@ -1,10 +0,0 @@
-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.

+ 0 - 46
taipy/core/.pre-commit-config.yaml

@@ -1,46 +0,0 @@
-repos:
--   repo: https://github.com/pre-commit/mirrors-mypy
-    rev: 'v0.961'  # Use the sha / tag you want to point at
-    hooks:
-    -   id: mypy
-        additional_dependencies: [
-                'types-Markdown',
-                'types-python-dateutil',
-                'types-pytz',
-                'types-tzlocal',
-        ]
--   repo: https://github.com/Lucas-C/pre-commit-hooks
-    rev: v1.1.13
-    hooks:
-    -   id: forbid-crlf
-    -   id: remove-crlf
-    -   id: forbid-tabs
-    -   id: remove-tabs
-    -   id: insert-license
-        files: \.py$
-        args:
-        - --license-filepath
-        - .license-header
--   repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v4.0.1
-    hooks:
-    - id: trailing-whitespace
-    - id: end-of-file-fixer
-    - id: check-merge-conflict
-    - id: check-yaml
-      args: [--unsafe]
--   repo: https://github.com/pre-commit/mirrors-isort
-    rev: v5.9.3
-    hooks:
-    - id: isort
--   repo: https://github.com/ambv/black
-    rev: 22.3.0
-    hooks:
-    - id: black
-      args: [--line-length=120]
-      language_version: python3
--   repo: https://github.com/pycqa/flake8
-    rev: 3.9.2
-    hooks:
-    -   id: flake8
-        additional_dependencies: [flake8-typing-imports==1.10.0]

+ 3 - 3
taipy/core/CONTRIBUTING.md

@@ -97,9 +97,9 @@ working on it.
    This tool will run before each commit and will automatically reformat code or raise warnings and errors based on the
    code format or Python typing.
    You can install and setup it up by doing:
-   ```
-     pipenv install pre-commit
-     pipenv run python -m pre-commit install
+   ```bash
+   pipenv install pre-commit
+   pipenv run python -m pre-commit install
    ```
 
 4. Make the changes.<br/>

+ 28 - 14
taipy/core/INSTALLATION.md

@@ -1,29 +1,43 @@
 # Installation
 
 The latest stable version of _taipy-core_ is available through _pip_:
-```
+```bash
 pip install taipy-core
 ```
 
 ## Development version
 
-You can install the development version of _taipy_ with _pip_ and _git_:
-```
-pip install git+https://git@github.com/Avaiga/taipy-core
+You can install the development version of _taipy-core_ with _pip_ and _git_ via the taipy repository:
+```bash
+pip install git+https://git@github.com/Avaiga/taipy
 ```
 
-## Work with the _taipy-core_ code
-```
-git clone https://github.com/Avaiga/taipy-core.git
-cd taipy-core
-pip install .
-```
+This command installs the development version of _taipy_ package in the Python environment with all
+its dependencies, including the _taipy-core_ package.
+
+If you need the source code for _taipy-core_ 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:
 
-If you want to run tests, please install `Pipenv`:
+```bash
+git clone https://github.com/Avaiga/taipy.git
 ```
+
+This creates the 'taipy' directory holding all the package's source code, and the 'taipy-core'
+source code is in the 'taipy/core' directory.
+
+## Running the tests
+
+To run the tests on the package, you need to install the required development packages.
+We recommend using [Pipenv](https://pipenv.pypa.io/en/latest/) to create a virtual environment
+and install the development packages.
+
+```bash
 pip install pipenv
-git clone https://github.com/Avaiga/taipy-core.git
-cd taipy-core
 pipenv install --dev
-pipenv run pytest
+```
+
+Then you can run _taipy-core_ tests with the following command:
+
+```bash
+pipenv run pytest tests/core
 ```

+ 0 - 2
taipy/core/MANIFEST.in

@@ -1,2 +0,0 @@
-include *.json
-include config/*.json

+ 0 - 35
taipy/core/Pipfile

@@ -1,35 +0,0 @@
-[[source]]
-url = "https://pypi.org/simple"
-verify_ssl = true
-name = "pypi"
-
-[packages]
-pandas = "==1.3.5"
-networkx = "==2.6"
-openpyxl = "==3.1.2"
-pyarrow = "==14.0.2"
-pymongo = {extras = ["srv"], version = "==4.2.0"}
-sqlalchemy = "==2.0.16"
-toml = "==0.10"
-taipy-config = {ref = "develop", git = "https://github.com/avaiga/taipy-config.git"}
-
-[dev-packages]
-black = "*"
-flake8 = "*"
-flake8-docstrings = "*"
-isort = "*"
-mypy = "*"
-pre-commit = "*"
-pytest = "*"
-pytest-cov = "*"
-pytest-mock = ">=3.6"
-tox = ">=3.24"
-types-toml = ">=0.10.0"
-autopep8 = "*"
-mongomock = ">=4.1.2"
-
-[requires]
-python_version = "3"
-
-[pipenv]
-allow_prereleases = true

+ 29 - 30
taipy/core/README.md

@@ -1,8 +1,5 @@
 # Taipy Core
 
-[![Python](https://img.shields.io/pypi/pyversions/taipy-core)](https://pypi.org/project/taipy-core)
-[![PyPI](https://img.shields.io/pypi/v/taipy-core.svg?label=pip&logo=PyPI&logoColor=white)](https://pypi.org/project/taipy-core)
-
 ## License
 
 Copyright 2021-2024 Avaiga Private Limited
@@ -33,7 +30,7 @@ Taipy is a Python library for creating Business Applications. More information o
 [website](https://www.taipy.io). Taipy is split into multiple repositories including
 _taipy-core_ to let users install the minimum they need.
 
-[Taipy Core](https://github.com/Avaiga/taipy-core) mostly includes business-oriented
+Taipy Core mostly includes business-oriented
 features. It helps users create and manage business applications and improve analyses
 capability through time, conditions and hypothesis.
 
@@ -54,29 +51,31 @@ Want to be part of the _Taipy Core_ community? Check out our
 
 ## Directory Structure
 
-- `src/`:
-  - `taipy/core/`:
-    - `_manager`: Internal package for entity manager.
-    - `_repository`: Internal package for data storage.
-    - `_orchestrator`: Internal package for task orchestrating and execution.
-    - `_version`: Internal package for managing Taipy Core application version.
-    - `common`: Shared data structures, types, and functions.
-    - `config`: Configuration definition, management and implementation.
-    - `cycle`: Work cycle definition, management and implementation.
-    - `data`: Data Node definition, management and implementation.
-    - `exceptions`: _taipy-core_ exceptions.
-    - `job`: Job definition, management and implementation.
-    - `sequence`: Sequence definition, management and implementation.
-    - `scenario`: Scenario definition, management and implementation.
-    - `task`: Task definition, management and implementation.
-    - `taipy`: Main entrypoint for _taipy-core_ runtime features.
-- `tests`: Unit tests following the `taipy/core/` structure.
-- `CODE_OF_CONDUCT.md`: Code of conduct for members and contributors of _taipy-core_.
-- `CONTRIBUTING.md`: Instructions to contribute to _taipy-core_.
-- `INSTALLATION.md`: Instructions to install _taipy-core_.
-- `LICENSE`: The Apache 2.0 License.
-- `Pipfile`: File used by the Pipenv virtual environment to manage project dependencies.
-- `README.md`: Current file.
-- `contributors.txt`: The list of contributors.
-- `setup.py`: The setup script managing building, distributing, and installing _taipy-core_.
-- `tox.ini`: Contains test scenarios to be run.
+- `taipy/`:
+  - `core/`:
+    - `_backup/`: Internal package for Taipy data backup mechanism.
+    - `_entity/`: Internal package for abstract entity definition and entity's properties management.
+    - `_manager/`: Internal package for entity manager.
+    - `_orchestrator/`: Internal package for task orchestrating and execution.
+    - `_repository/`: Internal package for data storage.
+    - `_version/`: Internal package for managing Taipy Core application version.
+    - `common/`: Shared data structures, types, and functions.
+    - `config/`: Configuration definition, management and implementation.
+    - `cycle/`: Work cycle definition, management and implementation.
+    - `data/`: Data Node definition, management and implementation.
+    - `exceptions/`: _taipy-core_ exceptions.
+    - `job/`: Job definition, management and implementation.
+    - `notification/`: Notification management system implementation.
+    - `scenario/`: Scenario definition, management and implementation.
+    - `sequence/`: Sequence definition, management and implementation.
+    - `submission/`: Submission definition, management and implementation.
+    - `task/`: Task definition, management and implementation.
+    - `taipy.py`: Main entrypoint for _taipy-core_ runtime features.
+    - `CODE_OF_CONDUCT.md`: Code of conduct for members and contributors of _taipy-core_.
+    - `CONTRIBUTING.md`: Instructions to contribute to _taipy-core_.
+    - `INSTALLATION.md`: Instructions to install _taipy-core_.
+    - `LICENSE`: The Apache 2.0 License.
+    - `README.md`: Current file.
+    - `setup.py`: The setup script managing building, distributing, and installing _taipy-core_.
+- `tests/`:
+  - `core/`: Unit tests following the `taipy/core/` structure.

+ 0 - 11
taipy/core/contributors.txt

@@ -1,11 +0,0 @@
-jrobinAV
-tsuu2092
-joaoandre-avaiga
-toan-quach
-florian-vuillemot
-trgiangdo
-FabienLelaquais
-gmarabout
-Dr-Irv
-arcanaxion
-dinhlongviolin1

+ 0 - 2
taipy/core/pyproject.toml

@@ -1,2 +0,0 @@
-[tool.black]
-line-length = 120

+ 0 - 57
taipy/core/tox.ini

@@ -1,57 +0,0 @@
-[tox]
-skipsdist = true
-isolated_build = true
-envlist = clean, lint, without-pyodbc-pymysql-psycopg2-fastparquet
-
-[pytest]
-filterwarnings =
-    ignore::DeprecationWarning
-
-[testenv]
-allowlist_externals = pytest
-deps = pipenv==2023.7.23
-
-[testenv:lint]
-platform = linux
-allowlist_externals =
-    isort
-    black
-    flake8
-deps =
-    isort
-    black
-    flake8
-commands =
-    isort taipy
-    black taipy tests
-    flake8 taipy tests
-
-[testenv:without-pyodbc-pymysql-psycopg2-fastparquet]
-commands =
-    pipenv install --dev
-    pytest tests
-
-[testenv:all-tests]
-commands =
-    pipenv install --dev
-    pip install pyodbc
-    pip install pymysql
-    pip install psycopg2
-    pip install fastparquet
-    pytest tests
-
-[testenv:coverage]
-platform = linux
-deps =
-    pipenv==2023.7.23
-    coverage
-commands =
-    coverage erase
-    pipenv install --dev
-    pipenv install pyodbc
-    pipenv install pymysql
-    pipenv install psycopg2
-    pipenv install fastparquet
-    pytest -s --cov=src --cov-append --cov-report=xml --cov-report term-missing tests
-    coverage report
-    coverage html

+ 0 - 18
taipy/gui/.coveragerc

@@ -1,18 +0,0 @@
-[run]
-# uncomment the following to omit files during running
-omit =
-    proxy.py
-    _gui_cli.py
-    *tests*
-[report]
-exclude_lines =
-    pragma: no cover
-    if t.TYPE_CHECKING:
-    def __repr__
-    if self.debug:
-    if settings.DEBUG
-    raise AssertionError
-    raise NotImplementedError
-    if 0:
-    if __name__ == .__main__.:
-    def main

+ 0 - 22
taipy/gui/.editorconfig

@@ -1,22 +0,0 @@
-# http://editorconfig.org
-
-root = true
-
-[*]
-indent_style = space
-indent_size = 4
-max_line_length = 120
-trim_trailing_whitespace = true
-insert_final_newline = true
-charset = utf-8
-end_of_line = lf
-
-[*.bat]
-indent_style = tab
-end_of_line = crlf
-
-[LICENSE]
-insert_final_newline = false
-
-[Makefile]
-indent_style = tab

+ 0 - 23
taipy/gui/.flake8

@@ -1,23 +0,0 @@
-[flake8]
-# required by black, https://github.com/psf/black/blob/master/.flake8
-max-line-length = 120
-max-complexity = 18
-ignore = E203, E266, E501, E722, W503, F403, F401, F811
-select = B,C,E,F,W,T4,B9
-docstring-convention = google
-per-file-ignores =
-    __init__.py:F401
-exclude =
-    .git,
-    __pycache__,
-    setup.py,
-    build,
-    dist,
-    releases,
-    .venv,
-    .tox,
-    .mypy_cache,
-    .pytest_cache,
-    .vscode,
-    .github,
-    tests

+ 0 - 2
taipy/gui/.gitattributes

@@ -1,2 +0,0 @@
-# Set the default behavior, in case people don't have core.autocrlf set.
-* text=auto

+ 1 - 95
taipy/gui/.gitignore

@@ -1,57 +1,3 @@
-# Byte-compiled / optimized / DLL files
-__pycache__/
-*.py[cod]
-*$py.class
-
-# C extensions
-*.so
-
-# Distribution / packaging
-Pipfile.lock
-.Python
-env/
-build/
-develop-eggs/
-dist/
-downloads/
-eggs/
-.eggs/
-lib/
-lib64/
-parts/
-sdist/
-var/
-wheels/
-*.egg-info/
-.installed.cfg
-*.egg
-
-# PyInstaller
-#  Usually these files are generated by a Python script from a template
-#  before PyInstaller builds the exe, so as to inject date/other infos into it.
-*.manifest
-*.spec
-
-# Installer logs
-pip-log.txt
-pip-delete-this-directory.txt
-
-# Unit test / coverage reports
-htmlcov/
-.tox/
-.coverage
-.coverage.*
-.cache
-nosetests.xml
-coverage.xml
-*.cover
-.hypothesis/
-.pytest_cache/
-
-# Translations
-*.mo
-*.pot
-
 # Django stuff:
 *.log
 local_settings.py
@@ -69,45 +15,18 @@ docs/_build/
 # PyBuilder
 target/
 
-# Jupyter Notebook
-.ipynb_checkpoints
-
-# pyenv
-.python-version
-
 # celery beat schedule file
 celerybeat-schedule
 
 # SageMath parsed files
 *.sage.py
 
-# dotenv
-*.env
-
-# virtualenv
-.venv
-venv/
-ENV/
-
-# Spyder project settings
-.spyderproject
-.spyproject
-
 # Rope project settings
 .ropeproject
 
 # mkdocs documentation
 /site
 
-# mypy
-.mypy_cache/
-
-# IDE settings
-.vscode/
-.idea/
-.idea/taipy.iml
-.DS_Store
-
 # mkdocs build dir
 site/
 
@@ -126,22 +45,9 @@ demo*/
 docker-compose-dev*.yml
 Dockerfile.dev
 
-# Filesystem default local storage
-.data/
-user_data/
-.taipy/
-
-# Python notebook
-*.ipynb
+# Ignore jupyter notebook files except the simple_gui.ipynb
 !simple_gui.ipynb
 
-.airflow
-*.dags
-data_sources
-pipelines
-tasks
-pickles
-
 # GUI generation
 taipy_webapp/
 

+ 0 - 9
taipy/gui/.isort.cfg

@@ -1,9 +0,0 @@
-[settings]
-multi_line_output = 3
-include_trailing_comma = True
-force_grid_wrap = 0
-use_parentheses = True
-ensure_newline_before_comments = True
-line_length = 120
-# you can skip files as below
-#skip_glob = docs/conf.py

+ 0 - 10
taipy/gui/.license-header

@@ -1,10 +0,0 @@
-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.

+ 0 - 65
taipy/gui/.pre-commit-config.yaml

@@ -1,65 +0,0 @@
-# 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.
-
-exclude: 'tools/'
-repos:
--   repo: https://github.com/pre-commit/mirrors-mypy
-    rev: 'v0.910'  # Use the sha / tag you want to point at
-    hooks:
-    -   id: mypy
-        additional_dependencies: [
-                'types-Markdown',
-                'types-python-dateutil',
-                'types-pytz',
-                'types-tzlocal',
-        ]
--   repo: https://github.com/Lucas-C/pre-commit-hooks
-    rev: v1.1.13
-    hooks:
-    -   id: forbid-crlf
-    -   id: remove-crlf
-    -   id: forbid-tabs
-    -   id: remove-tabs
-    -   id: insert-license
-        files: \.py$
-        args:
-        - --license-filepath
-        - .license-header
-    -   id: insert-license
-        files: \.(js|css|ts|tsx)$
-        args:
-        - --license-filepath
-        - .license-header
-        - --comment-style
-        - /*| *| */
--   repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v4.0.1
-    hooks:
-    - id: trailing-whitespace
-    - id: end-of-file-fixer
-    - id: check-merge-conflict
-    - id: check-yaml
-      args: [--unsafe]
--   repo: https://github.com/pre-commit/mirrors-isort
-    rev: v5.9.3
-    hooks:
-    - id: isort
--   repo: https://github.com/ambv/black
-    rev: 22.3.0
-    hooks:
-    - id: black
-      args: [--line-length=120]
-      language_version: python3
--   repo: https://github.com/pycqa/flake8
-    rev: 3.9.2
-    hooks:
-    -   id: flake8
-        additional_dependencies: [flake8-typing-imports==1.10.0]

+ 3 - 3
taipy/gui/CONTRIBUTING.md

@@ -97,9 +97,9 @@ working on it.
    This tool will run before each commit and will automatically reformat code or raise warnings and errors based on the
    code format or Python typing.
    You can install and setup it up by doing:
-   ```
-     pipenv install pre-commit
-     pipenv run python -m pre-commit install
+   ```bash
+   pipenv install pre-commit
+   pipenv run python -m pre-commit install
    ```
 
 4. Make the changes.<br/>

+ 19 - 11
taipy/gui/INSTALLATION.md

@@ -32,13 +32,16 @@ Taipy R&D and external contributors that we praise for their input.
 
 You should also install this version if you want to contribute to the development of Taipy GUI. Here are the steps to follow:
 
-### 1 - Clone the repository
+### 1 - Clone the Taipy repository
 
-Clone the repository using the following command:
+Clone the Taipy repository using the following command:
 ```bash
-git clone https://github.com/Avaiga/taipy-gui.git
+git clone https://github.com/Avaiga/taipy.git
 ```
 
+This creates the 'taipy' directory holding all the package's source code, and the 'taipy-gui'
+source code is in the 'taipy/gui' directory.
+
 ### 2 - Install Node.js
 
 Taipy GUI has some code dealing with the client side of the web applications.
@@ -89,8 +92,8 @@ This should install the dev version of Taipy GUI as editable. You are now ready
 
 If you plan to modify the front-end code and need to debug the TypeScript
 code, you must use the following:
-```
-$ npm run build:dev
+```bash
+npm run build:dev
 ```
 
 instead of the *standard* build option.
@@ -117,12 +120,17 @@ TypeScript code from your debugger.
 
 ## Running the tests
 
-To run the tests on the package, you need to create a virtual
-environment and install the development packages:
+To run the tests on the package, you need to install the required development packages.
+We recommend using [Pipenv](https://pipenv.pypa.io/en/latest/) to create a virtual environment
+and install the development packages.
 
-Here are the commands to issue:
-
-```console
+```bash
+pip install pipenv
 pipenv install --dev
-pipenv run pytest
+```
+
+Then you can run _taipy-gui_ tests with the following command:
+
+```bash
+pipenv run pytest tests/gui
 ```

+ 0 - 4
taipy/gui/MANIFEST.in

@@ -1,4 +0,0 @@
-recursive-include webapp *
-include version.json
-include viselements.json
-include *.pyi

+ 0 - 65
taipy/gui/Pipfile

@@ -1,65 +0,0 @@
-[[source]]
-url = "https://pypi.org/simple"
-verify_ssl = true
-name = "pypi"
-
-[packages]
-"backports.zoneinfo" = {version="==0.2.1", markers="python_version < '3.9'", extras=["tzdata"]}
-flask = "==3.0.0"
-flask-cors = "==4.0.0"
-flask-socketio = "==5.3.6"
-gevent = "==23.7.0"
-gevent-websocket = "==0.10.1"
-kthread = "==0.2.3"
-markdown = "==3.4.4"
-pandas = "==1.3.5"
-pyarrow = "==14.0.2"
-pyngrok = "==5.1"
-python-dotenv = "==1.0.0"
-python-magic = {version = "==0.4.24", markers="sys_platform != 'win32'"}
-python-magic-bin = {version = "==0.4.14", markers="sys_platform == 'win32'"}
-pytz = "==2021.3"
-simple-websocket = "==0.10.1"
-taipy-config = {ref = "develop", git = "https://github.com/avaiga/taipy-config.git"}
-tzlocal = "==3.0"
-gitignore-parser = "==0.1.1"
-twisted = "==23.10.0"
-
-[dev-packages]
-black = "*"
-flake8 = "*"
-flake8-docstrings = "*"
-isort = "*"
-mkdocs = "*"
-mkdocs-autorefs = "*"
-mkdocs-include-markdown-plugin = "*"
-mkdocs-macros-plugin = "*"
-mkdocs-material = "==7.3.0"
-mkdocs-material-extensions = "*"
-mkdocstrings = "*"
-mypy = "*"
-pre-commit = "*"
-pytest = "*"
-pytest-cov = "*"
-tox = "*"
-twine = "*"
-playwright = "*"
-pytest-playwright = "*"
-types-Markdown = "*"
-types-python-dateutil = "*"
-types-pytz = "*"
-types-tzlocal = "*"
-types-flask = "*"
-types-Flask-Cors = "*"
-pandas-stubs = "*"
-pyopenssl = "*"
-pytest-timeout = "*"
-testbook = "*"
-ipython = "*"
-ipykernel = "*"
-
-[requires]
-python_version = "3"
-
-[pipenv]
-allow_prereleases = true

+ 2 - 15
taipy/gui/README.md

@@ -1,10 +1,3 @@
-# 🚧 Under construction 🚧
-
-WARNING: The Taipy team is performing a repository restructuration. This current repository taipy-gui is about to be
-merged into the main repository: taipy. Once the merge is done, the current code base will be in the
-[taipy repository](https://github.com/Avaiga/taipy). The migration should take a maximum of a few days.
-<be>
-
 # Taipy GUI
 
 ## License
@@ -33,7 +26,7 @@ Taipy is a Python library for creating Business Applications. More information o
 [website](https://www.taipy.io). Taipy is split into multiple repositories including `taipy-gui` to let users
 install the minimum they need.
 
-[Taipy GUI](https://github.com/Avaiga/taipy-gui) provides Python classes that make it easy to create powerful web apps in minutes.
+Taipy GUI provides Python classes that make it easy to create powerful web apps in minutes.
 
 A more in depth documentation of Taipy can be found [here](https://docs.taipy.io/).
 
@@ -53,17 +46,11 @@ Want to be part of the *Taipy GUI* community? Check out our [`CODE_OF_CONDUCT.md
 
 - `frontend/taipy-gui`: Graphical user interface related files;
 - `taipy/gui`: Python source files;
-- `tests/taipy/gui`: Unit tests;
+- `tests/gui`: Unit tests;
 - `tools`: Files used to document `taipy-gui`;
 - `CODE_OF_CONDUCT.md`: Code of conduct for members and contributors of `taipy-gui`;
 - `CONTRIBUTING.md`: Instructions to contribute to `taipy-gui`;
 - `INSTALLATION.md`: Instructions to build and install `taipy-gui`;
 - `LICENSE`: The Apache 2.0 License;
-- `MANIFEST.in`: Build configuration file;
-- `mypy.ini`: [mypy](http://mypy-lang.org/) linter configuration file;
-- `Pipfile`: File used by the Pipenv virtual environment to manage project dependencies;
-- `pyproject.toml`: Python build configuration file use for linters here;
-- `pytest.ini`: [pytest](https://pytest.org/) configuration file;
 - `README.md`: Current file;
 - `setup.py`: The setup script managing building, distributing, and installing `taipy-gui`;
-- `tox.ini`: Contains test scenarios to be run.

+ 0 - 2
taipy/gui/mypy.ini

@@ -1,2 +0,0 @@
-[mypy]
-ignore_missing_imports = True

+ 0 - 2
taipy/gui/pyproject.toml

@@ -1,2 +0,0 @@
-[tool.black]
-line-length = 120

+ 0 - 65
taipy/gui/tox.ini

@@ -1,65 +0,0 @@
-[tox]
-skipsdist = true
-isolated_build = true
-envlist = clean, lint, linux, windows, macos, report
-
-[testenv]
-allowlist_externals = pytest
-deps =
-    pipenv==2023.7.23
-    mypy
-
-[testenv:lint]
-platform = linux
-allowlist_externals =
-    isort
-    black
-    flake8
-deps =
-    isort
-    black
-    flake8
-commands =
-    isort src --check
-    black src tests --check
-    flake8 src tests
-
-[testenv:linux]
-platform = linux
-commands =
-    pipenv install --dev
-    pipenv run ipython kernel install --name "python3" --user
-    pipenv run playwright install chromium --with-deps
-    pipenv run mypy --config-file mypy.ini src
-    pipenv run pytest -s --cov=src --cov-append --cov-report=xml --cov-report term-missing tests
-
-[testenv:windows]
-platform = win32
-commands =
-    pipenv install --dev
-    pipenv run ipython kernel install --name "python3" --user
-    pipenv run playwright install chromium --with-deps
-    pipenv run pytest -s tests
-
-[testenv:macos]
-platform = darwin
-commands =
-    pipenv install --dev
-    pipenv run ipython kernel install --name "python3" --user
-    pipenv run playwright install chromium --with-deps
-    pipenv run pytest -s tests
-
-[testenv:report]
-depends = linux
-platform = linux
-deps = coverage
-skip_install = true
-commands =
-    coverage report
-    coverage html
-
-[testenv:clean]
-platform = linux
-deps = coverage
-skip_install = true
-commands = coverage erase

+ 0 - 2
taipy/rest/.coveragerc

@@ -1,2 +0,0 @@
-[run]
-omit = taipy_rest/setup/*

+ 0 - 24
taipy/rest/.flake8

@@ -1,24 +0,0 @@
-[flake8]
-# required by black, https://github.com/psf/black/blob/master/.flake8
-max-line-length = 120
-max-complexity = 18
-ignore = E203, E266, E501, E722, W503, F403, F401
-select = B,C,E,F,W,T4,B9
-docstring-convention = google
-per-file-ignores =
-    __init__.py:F401
-exclude =
-    .git,
-    __pycache__,
-    setup.py,
-    build,
-    dist,
-    releases,
-    .venv,
-    .tox,
-    .mypy_cache,
-    .pytest_cache,
-    .vscode,
-    .github,
-    tests,
-    tests/setup

+ 0 - 87
taipy/rest/.gitignore

@@ -1,63 +1,3 @@
-# Byte-compiled / optimized / DLL files
-__pycache__/
-*.py[cod]
-*$py.class
-
-# C extensions
-*.so
-
-# Distribution / packaging
-Pipfile.lock
-.Python
-env/
-build/
-develop-eggs/
-dist/
-downloads/
-eggs/
-.eggs/
-lib/
-lib64/
-parts/
-sdist/
-var/
-wheels/
-*.egg-info/
-.installed.cfg
-*.egg
-
-# GUI generation
-taipy_webapp/
-# Doc generation
-docs/gui/controls.md
-docs/gui/controls/*.md
-
-# PyInstaller
-#  Usually these files are written by a python script from a template
-#  before PyInstaller builds the exe, so as to inject date/other infos into it.
-*.manifest
-*.spec
-
-# Installer logs
-pip-log.txt
-pip-delete-this-directory.txt
-
-# Unit test / coverage reports
-htmlcov/
-.tox/
-.coverage
-.coverage.*
-.cache
-nosetests.xml
-coverage.xml
-*.cover
-.hypothesis/
-.pytest_cache/
-
-# Translations
-*.mo
-*.pot
-
 # Django stuff:
 *.log
 local_settings.py
@@ -75,45 +15,18 @@ docs/_build/
 # PyBuilder
 target/
 
-# Jupyter Notebook
-.ipynb_checkpoints
-
-# pyenv
-.python-version
-
 # celery beat schedule file
 celerybeat-schedule
 
 # SageMath parsed files
 *.sage.py
 
-# dotenv
-*.env
-
-# virtualenv
-.venv
-venv/
-ENV/
-
-# Spyder project settings
-.spyderproject
-.spyproject
-
 # Rope project settings
 .ropeproject
 
 # mkdocs documentation
 /site
 
-# mypy
-.mypy_cache/
-
-# IDE settings
-.vscode/
-.idea/
-.idea/taipy.iml
-.DS_Store
-
 # mkdocs build dir
 site/
 

+ 0 - 9
taipy/rest/.isort.cfg

@@ -1,9 +0,0 @@
-[settings]
-multi_line_output = 3
-include_trailing_comma = True
-force_grid_wrap = 0
-use_parentheses = True
-ensure_newline_before_comments = True
-line_length = 120
-# you can skip files as below
-#skip_glob = docs/conf.py

+ 0 - 10
taipy/rest/.license-header

@@ -1,10 +0,0 @@
-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.

+ 0 - 41
taipy/rest/.pre-commit-config.yaml

@@ -1,41 +0,0 @@
-repos:
-  - repo: https://github.com/pre-commit/mirrors-mypy
-    rev: "v0.910" # Use the sha / tag you want to point at
-    hooks:
-      - id: mypy
-        additional_dependencies: ["types-Markdown", "types-python-dateutil", "types-pytz", "types-tzlocal"]
-  - repo: https://github.com/Lucas-C/pre-commit-hooks
-    rev: v1.1.13
-    hooks:
-      - id: forbid-crlf
-      - id: remove-crlf
-      - id: forbid-tabs
-      - id: remove-tabs
-      - id: insert-license
-        files: \.py$
-        args:
-          - --license-filepath
-          - .license-header
-  - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v4.0.1
-    hooks:
-      - id: trailing-whitespace
-      - id: end-of-file-fixer
-      - id: check-merge-conflict
-      - id: check-yaml
-        args: [--unsafe]
-  - repo: https://github.com/pre-commit/mirrors-isort
-    rev: v5.9.3
-    hooks:
-      - id: isort
-  - repo: https://github.com/ambv/black
-    rev: 22.3.0
-    hooks:
-      - id: black
-        args: [--line-length=120]
-        language_version: python3
-  - repo: https://gitlab.com/pycqa/flake8
-    rev: 3.9.2
-    hooks:
-      - id: flake8
-        additional_dependencies: [flake8-typing-imports==1.10.0]

+ 3 - 3
taipy/rest/CONTRIBUTING.md

@@ -97,9 +97,9 @@ working on it.
    This tool will run before each commit and will automatically reformat code or raise warnings and errors based on the
    code format or Python typing.
    You can install and setup it up by doing:
-   ```
-     pipenv install pre-commit
-     pipenv run python -m pre-commit install
+   ```bash
+   pipenv install pre-commit
+   pipenv run python -m pre-commit install
    ```
 
 4. Make the changes.<br/>

+ 58 - 35
taipy/rest/INSTALLATION.md

@@ -1,22 +1,32 @@
-# Installation, Configuration and Run
+# Installation
 
-## Installation
-1. Clone the taipy rest repository
+The latest stable version of _taipy-rest_ is available through _pip_:
+```bash
+pip install taipy-rest
 ```
-$ git clone https://github.com/Avaiga/taipy-rest
-```
-2. Enter taipy rest directory
 
-```
-$ cd taipy-rest
-```
+## Development version
 
-3. Install dependencies
+You can install the development version of _taipy-rest_ with _pip_ and _git_ via the taipy repository:
+```bash
+pip install git+https://git@github.com/Avaiga/taipy
 ```
-$ pip install pipenv && pipenv install
+
+This command installs the development version of _taipy_ package in the Python environment with all
+its dependencies, including the _taipy-rest_ package.
+
+If you need the source code for _taipy-rest_ 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
 ```
 
-## Configuration
+This creates the 'taipy' directory holding all the package's source code, and the 'taipy-rest'
+source code is in the 'taipy/rest' directory.
+
+# Configuration
+
 Before running, we need to define some variables. Taipy rest APIs depend on pre-configuration of taipy config objects,
 i.e, is mandatory to define all configuration of DataNodes, Tasks, Sequences, etc. The file containing this
 configuration needs to be passed to the application at runtime. The following variable needs to be defined:
@@ -25,72 +35,85 @@ configuration needs to be passed to the application at runtime. The following va
 If using Docker, the folder containing the file needs to be mapped as a volume for it to be accessible to the
 application.
 
-## Running
-To run the application you can either run locally with:
+# Running
+
+To run taipy-rest, you need to install the required development packages.
+We recommend using [Pipenv](https://pipenv.pypa.io/en/latest/) to create a virtual environment
+and install the development packages.
+
+```bash
+pip install pipenv
+pipenv install --dev
 ```
-$ flask run
+
+To run the application you can either run locally with:
+```bash
+flask run
 ```
 
 or it can be run inside Docker with:
-```
-$ docker-compose up
+```bash
+docker-compose up
 ```
 
 You can also run with a Gunicorn or wsgi server.
 
-### Running with Gunicorn
+## Running with Gunicorn
+
 This project provide a simple wsgi entry point to run gunicorn or uwsgi for example.
 
 For gunicorn you only need to run the following commands
 
-```
-$ pip install gunicorn
+```bash
+pip install gunicorn
 
-$ gunicorn myapi.wsgi:app
+gunicorn myapi.wsgi:app
 ```
 And that's it ! Gunicorn is running on port 8000
 
 If you chose gunicorn as your wsgi server, the proper commands should be in your docker-compose file.
 
-### Running with uwsgi
+## Running with uwsgi
+
 Pretty much the same as gunicorn here
 
-```
-$ pip install uwsgi
-$ uwsgi --http 127.0.0.1:5000 --module myapi.wsgi:app
+```bash
+pip install uwsgi
+uwsgi --http 127.0.0.1:5000 --module myapi.wsgi:app
 ```
 
 And that's it ! Uwsgi is running on port 5000
 
 If you chose uwsgi as your wsgi server, the proper commands should be in your docker-compose file.
 
-### Deploying on Heroku
+## Deploying on Heroku
+
 Make sure you have a working Docker installation (e.g. docker ps) and that you’re logged in to Heroku (heroku login).
 
 Log in to Container Registry:
 
-```
-$ heroku container:login
+```bash
+heroku container:login
 ```
 
 Create a heroku app
-```
-$ heroku create
+```bash
+heroku create
 ```
 
 Build the image and push to Container Registry:
-```
-$ heroku container:push web
+```bash
+heroku container:push web
 ```
 
 Then release the image:
-```
-$ heroku container:release web
+```bash
+heroku container:release web
 ```
 
 You can now access **taipy rest** on the URL that was returned on the `heroku create` command.
 
-## Documentation
+# Documentation
 
 All the API Documentation can be found, after running the application in the following URL:
  - ```/redoc-ui``` ReDoc UI configured to hit OpenAPI yaml file

+ 0 - 1
taipy/rest/MANIFEST.in

@@ -1 +0,0 @@
-include *.json

+ 0 - 28
taipy/rest/Pipfile

@@ -1,28 +0,0 @@
-[[source]]
-url = "https://pypi.org/simple"
-verify_ssl = true
-name = "pypi"
-
-[packages]
-apispec = {extras = ["yaml"], version = "==6.3"}
-apispec-webframeworks = "==0.5.2"
-Flask-RESTful = ">=0.3.9"
-taipy-core = {ref = "develop", git = "https://github.com/avaiga/taipy-core.git"}
-flask = "==3.0.0"
-marshmallow = "==3.20.1"
-
-[dev-packages]
-tox = ">=3.24.5"
-black = "*"
-pytest = "*"
-pre-commit = "*"
-pytest-mock = "*"
-pytest-cov = "*"
-python-dotenv = "*"
-requests = "*"
-
-[requires]
-python_version = "3.9"
-
-[pipenv]
-allow_prereleases = true

+ 18 - 22
taipy/rest/README.md

@@ -1,7 +1,4 @@
 # Taipy-REST
-[![Python](https://img.shields.io/pypi/pyversions/taipy-rest)](https://pypi.org/project/taipy-rest)
-[![PyPI](https://img.shields.io/pypi/v/taipy-rest.svg?label=pip&logo=PyPI&logoColor=white)](https://pypi.org/project/taipy-rest)
-
 
 ## License
 Copyright 2021-2024 Avaiga Private Limited
@@ -32,11 +29,11 @@ Taipy is a Python library for creating Business Applications. More information o
 [website](https://www.taipy.io). Taipy is split into multiple repositories including
 _taipy-core_ and _taipy-rest_ to let users install the minimum they need.
 
-[Taipy Core](https://github.com/Avaiga/taipy-core) mostly includes business-oriented
+Taipy Core mostly includes business-oriented
 features. It helps users create and manage business applications and improve analyses
 capability through time, conditions and hypothesis.
 
-[Taipy REST](https://github.com/Avaiga/taipy-rest) is a set of APIs built on top of the
+Taipy REST is a set of APIs built on top of the
 _taipy-core_ library developed by Avaiga. This project is meant to be used as a complement
 for **taipy** and its goal is to enable automation through rest APIs of processes built
 on taipy.
@@ -66,23 +63,22 @@ Want to be part of the _Taipy REST_ community? Check out our
 
 ## Directory Structure
 
-- `taipy/rest`: Main source code folder.
-    - `api`: Endpoints and schema definitions.
-      - `resources`: Implementation of all endpoints related to taipy.
-      - `schemas`: Schemas related to taipy objects. Used for marshalling and unmarshalling data.
-      - `views`: Mapping of resources to urls
-    - `commons`: Common files shared throughout the application
-      - `templates`: Swagger and redoc templates for generating the documentation
+- `taipy/`:
+  - `rest/`:
+    - `api/`: Endpoints and schema definitions.
+      - `resources/`: Implementation of all endpoints related to taipy.
+      - `schemas/`: Schemas related to taipy objects. Used for marshalling and unmarshalling data.
+      - `views.py`: Mapping of resources to urls
+    - `commons/`: Common files shared throughout the application
+      - `templates/`: Swagger and redoc templates for generating the documentation
     - `app.py`: Flask app configuration and creation
     - `extensions.py`: Singletons used on the application factory
     - `rest.py`: Main python entrypoint for running _taipy-rest_ application.
-- `tests`: Unit tests.
-- `CODE_OF_CONDUCT.md`: Code of conduct for members and contributors of _taipy-rest_.
-- `CONTRIBUTING.md`: Instructions to contribute to _taipy-rest_.
-- `INSTALLATION.md`: Instructions to install _taipy-rest_.
-- `LICENSE`: The Apache 2.0 License.
-- `Pipfile`: File used by the Pipenv virtual environment to manage project dependencies.
-- `README.md`: Current file.
-- `contributors.txt`: The list of contributors
-- `setup.py`: The setup script managing building, distributing, and installing _taipy-rest_.
-- `tox.ini`: Contains test scenarios to be run.
+    - `CODE_OF_CONDUCT.md`: Code of conduct for members and contributors of _taipy-rest_.
+    - `CONTRIBUTING.md`: Instructions to contribute to _taipy-rest_.
+    - `INSTALLATION.md`: Instructions to install _taipy-rest_.
+    - `LICENSE`: The Apache 2.0 License.
+    - `README.md`: Current file.
+    - `setup.py`: The setup script managing building, distributing, and installing _taipy-rest_.
+- `tests/`:
+  - `rest/`: Unit tests following the `taipy/rest/` structure.

+ 0 - 8
taipy/rest/contributors.txt

@@ -1,8 +0,0 @@
-joaoandre-avaiga
-jrobinAV
-florian-vuillemot
-tsuu2092
-trgiangdo
-toan-quach
-dinhlongviolin1
-FabienLelaquais

+ 0 - 44
taipy/rest/tox.ini

@@ -1,44 +0,0 @@
-[tox]
-skipsdist = true
-isolated_build = true
-envlist = lint, coverage
-
-[pytest]
-filterwarnings =
-    ignore::DeprecationWarning
-
-[testenv]
-allowlist_externals = pytest
-deps = pipenv==2023.7.23
-
-[testenv:lint]
-platform = linux
-allowlist_externals =
-    isort
-    black
-    flake8
-deps =
-    isort
-    black
-    flake8
-commands =
-    isort src
-    black src tests
-    flake8 src tests
-
-[testenv:tests]
-commands =
-    pipenv install --dev
-    pytest tests
-
-[testenv:coverage]
-platform = linux
-deps =
-    pipenv==2023.7.23
-    coverage
-commands =
-    coverage erase
-    pipenv install --dev
-    pytest -s --cov=src --cov-append --cov-report=xml --cov-report term-missing tests
-    coverage report
-    coverage html

+ 0 - 22
taipy/templates/.editorconfig

@@ -1,22 +0,0 @@
-# http://editorconfig.org
-
-root = true
-
-[*]
-indent_style = space
-indent_size = 4
-max_line_length = 120
-trim_trailing_whitespace = true
-insert_final_newline = true
-charset = utf-8
-end_of_line = lf
-
-[*.bat]
-indent_style = tab
-end_of_line = crlf
-
-[LICENSE]
-insert_final_newline = false
-
-[Makefile]
-indent_style = tab

+ 0 - 23
taipy/templates/.flake8

@@ -1,23 +0,0 @@
-[flake8]
-# required by black, https://github.com/psf/black/blob/master/.flake8
-max-line-length = 120
-max-complexity = 18
-ignore = E203, E266, E501, E722, W503, F403, F401
-select = B,C,E,F,W,T4,B9
-docstring-convention = google
-per-file-ignores =
-    __init__.py:F401
-exclude =
-    .git,
-    __pycache__,
-    setup.py,
-    build,
-    dist,
-    releases,
-    .venv,
-    .tox,
-    .mypy_cache,
-    .pytest_cache,
-    .vscode,
-    .github,
-    tests

+ 0 - 2
taipy/templates/.gitattributes

@@ -1,2 +0,0 @@
-# Set the default behavior, in case people don't have core.autocrlf set.
-* text=auto

+ 0 - 25
taipy/templates/.gitignore

@@ -1,25 +0,0 @@
-.idea
-.venv
-__pycache__
-
-# Distribution / packaging
-Pipfile.lock
-build/
-*.egg-info/
-# mypy
-.mypy_cache/
-dist/
-
-# IDE settings
-.vscode/
-.idea/
-.idea/taipy.iml
-.DS_Store
-
-# Core .data directory
-.data/
-user_data/
-.taipy/
-
-# demo files
-demo-*

+ 0 - 50
taipy/templates/.pre-commit-config.yaml

@@ -1,50 +0,0 @@
-repos:
--   repo: https://github.com/pre-commit/mirrors-mypy
-    rev: 'v0.991'  # Use the sha / tag you want to point at
-    hooks:
-    -   id: mypy
-        additional_dependencies: [
-                'types-Markdown',
-                'types-python-dateutil',
-                'types-pytz',
-                'types-tzlocal',
-        ]
-        args:
-        - --ignore-missing-imports
-        - --implicit-optional
-        - --no-namespace-packages
--   repo: https://github.com/Lucas-C/pre-commit-hooks
-    rev: v1.1.10
-    hooks:
-    -   id: forbid-crlf
-    -   id: remove-crlf
-    -   id: forbid-tabs
-    -   id: remove-tabs
--   repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v4.0.1
-    hooks:
-    - id: trailing-whitespace
-    - id: end-of-file-fixer
-    - id: check-merge-conflict
-    - id: check-yaml
-      args: [--unsafe]
--   repo: https://github.com/pre-commit/mirrors-isort
-    rev: v5.9.3
-    hooks:
-    - id: isort
-      args:
-      - --line-length=120
-      - --force-grid-wrap=10
-      - --multi-line=VERTICAL_HANGING_INDENT
-      - --trailing-comma
--   repo: https://github.com/ambv/black
-    rev: 22.3.0
-    hooks:
-    - id: black
-      args: [--line-length=120]
-      language_version: python3
--   repo: https://github.com/pycqa/flake8
-    rev: 3.9.2
-    hooks:
-    -   id: flake8
-        additional_dependencies: [flake8-typing-imports==1.10.0]

+ 3 - 3
taipy/templates/CONTRIBUTING.md

@@ -97,9 +97,9 @@ working on it.
    This tool will run before each commit and will automatically reformat code or raise warnings and errors based on the
    code format or Python typing.
    You can install and setup it up by doing:
-   ```
-     pipenv install pre-commit
-     pipenv run python -m pre-commit install
+   ```bash
+   pipenv install pre-commit
+   pipenv run python -m pre-commit install
    ```
 
 4. Make the changes.<br/>

+ 0 - 2
taipy/templates/MANIFEST.in

@@ -1,2 +0,0 @@
-recursive-include taipy/templates *
-include *.json

+ 0 - 26
taipy/templates/Pipfile

@@ -1,26 +0,0 @@
-[[source]]
-url = "https://pypi.org/simple"
-verify_ssl = true
-name = "pypi"
-
-[packages]
-
-[dev-packages]
-autopep8 = "*"
-black = "*"
-cookiecutter = "==2.1.1"
-flake8 = "*"
-flake8-docstrings = "*"
-isort = "*"
-mypy = "*"
-pre-commit = "*"
-pytest = "*"
-taipy = {ref = "develop", git = "https://github.com/avaiga/taipy.git"}
-tox = "*"
-types-python-dateutil = "*"
-
-[requires]
-python_version = "3"
-
-[pipenv]
-allow_prereleases = true

+ 18 - 11
taipy/templates/README.md

@@ -16,7 +16,7 @@ and limitations under the License.
   - [Taipy](#taipy)
   - [License](#license)
   - [Usage](#usage)
-  - [What is Taipy](#what-is-taipy)
+  - [What is Taipy templates](#what-is-taipy-templates)
   - [Contributing](#contributing)
   - [Code of conduct](#code-of-conduct)
   - [Directory Structure](#directory-structure)
@@ -33,12 +33,12 @@ A more in depth documentation of taipy can be found [here](https://docs.taipy.io
 
 To create a Taipy application using this template, first you need to install Taipy (> 2.2).
 Then from a terminal, run the following command.
-```
-$ taipy create
+```bash
+taipy create
 ```
 or
-```
-$ taipy create --template "default"
+```bash
+taipy create --template "default"
 ```
 
 After providing necessary information, your new application is created in the current
@@ -55,9 +55,16 @@ Want to be part of the _Taipy_ community? Check out our
 
 ## Directory Structure
 
-- `taipy/templates/`: Contains each template in a dedicated sub-folder with the
-    following structure:
-- `CODE_OF_CONDUCT.md`: Code of conduct for members and contributors of _taipy_.
-- `CONTRIBUTING.md`: Instructions to contribute to _taipy_.
-- `LICENSE`: The Apache 2.0 License.
-- `README.md`: Current file.
+- `taipy/`:
+  - `templates/`: Contains templates, each in a dedicated sub-folder with the following structure:
+    - `<template-name>/`: Internal package for Taipy data backup mechanism.
+      - `{{cookiecutter.__root_folder_name}}/`: The root folder of the application created using this template.
+      - `hooks/`: Contains hooks to be executed before and after the application is created.
+      - `cookiecutter.json`: The configuration file for the template.
+    - `CODE_OF_CONDUCT.md`: Code of conduct for members and contributors of _taipy-templates_.
+    - `CONTRIBUTING.md`: Instructions to contribute to _taipy-templates_.
+    - `LICENSE`: The Apache 2.0 License.
+    - `README.md`: Current file.
+    - `setup.py`: The setup script managing building, distributing, and installing _taipy-templates_.
+- `tests/`:
+  - `templates/`: Unit tests following the `taipy/templates/` structure.

+ 0 - 2
taipy/templates/mypy.ini

@@ -1,2 +0,0 @@
-[mypy]
-ignore_missing_imports = True

+ 0 - 4
taipy/templates/pyproject.toml

@@ -1,4 +0,0 @@
-[tool.black]
-line-length = 120
-
-[tool.pyright]

+ 0 - 18
taipy/templates/tox.ini

@@ -1,18 +0,0 @@
-[tox]
-skipsdist = true
-isolated_build = true
-envlist = clean, lint
-
-[pytest]
-filterwarnings =
-    ignore::DeprecationWarning
-
-[testenv]
-allowlist_externals = pytest
-deps = pipenv==2023.7.23
-
-[testenv:tests]
-commands =
-    pipenv install --dev
-    pipenv run pip freeze
-    pytest tests

+ 0 - 81
tox.ini

@@ -1,81 +0,0 @@
-[tox]
-skipsdist = true
-isolated_build = true
-envlist = clean, lint, linux, windows, macos, report, without-pyodbc
-
-[pytest]
-filterwarnings =
-    ignore::DeprecationWarning
-
-[testenv]
-allowlist_externals = pytest
-deps =
-    pipenv==2023.7.23
-    mypy
-
-[testenv:lint]
-platform = linux
-allowlist_externals =
-    isort
-    black
-    flake8
-deps =
-    isort
-    black
-    flake8
-commands =
-    isort taipy --check
-    black taipy tests --check
-    flake8 taipy tests
-
-[testenv:linux]
-platform = linux
-commands =
-    pipenv install --dev
-    pipenv run python tools/frontend/bundle_build.py
-    pipenv run ipython kernel install --name "python3" --user
-    pipenv run playwright install chromium --with-deps
-    pipenv run mypy --config-file mypy.ini taipy
-    pipenv run pytest -s --cov=taipy --cov-append --cov-report=xml --cov-report term-missing tests
-
-[testenv:windows]
-platform = win32
-commands =
-    pipenv install --dev
-    pipenv run python tools/frontend/bundle_build.py
-    pipenv run ipython kernel install --name "python3" --user
-    pipenv run playwright install chromium --with-deps
-    pipenv run pytest -s tests
-
-[testenv:macos]
-platform = darwin
-commands =
-    pipenv install --dev
-    pipenv run python tools/frontend/bundle_build.py
-    pipenv run ipython kernel install --name "python3" --user
-    pipenv run playwright install chromium --with-deps
-    pipenv run pytest -s tests
-
-[testenv:report]
-depends = linux
-platform = linux
-deps = coverage
-skip_install = true
-commands =
-    coverage report
-    coverage html
-
-[testenv:clean]
-platform = linux
-deps = coverage
-skip_install = true
-commands = coverage erase
-
-[testenv:tests]
-commands =
-    pipenv install --dev
-    pipenv run python tools/frontend/bundle_build.py
-    pipenv run ipython kernel install --name "python3" --user
-    pipenv run playwright install chromium --with-deps
-    pipenv run pip freeze
-    pipenv run pytest -s tests