Repository: Avaiga/taipy
Pull request: Feature/#507 separate package long desc with readme
Resolves #507

In this PR:
- Add a "package_desc.md" file for each taipy package and use that instead of "README.md" on "setup.py"
- Remove redundant "CONTRIBUTING.md" files in subpackages
- Minor updates on "README.md" files and "INSTALLATION.md" files

Problem statement:
Stop using the README as long description in the various setup.py
In all the `setup.py` files (config, gui, core, rest, taipy, templates), the long_description is populated with the README.md content. 
This is NOT a good practice since the long description represents a description of the package built. It is used in Pypi to describe the package. The readme is also exposed as the landing page of the repo and used as instructions on how to use the code base. These have different purposes and different lifecycles. The content should be different.

The general idea is to split the use cases:

- [ ] Propose for each setup.py a new long description content stored directly in the setup.py. The version could be dynamically injected if needed.
- [ ] Include the update of the long descriptions in the release process
- [ ] Use the readme.md for each package (config, GUI, core, rest, templates,) as an introduction page for contributors it should be related to a specific taipy version. 
- [ ] Use the global taipy readme.md as a landing page on the github repo independent from the taipy versions.

Hints from issue discussion:

Commit message: fix: update aterises and CONTRIBUTING.md link

Patch to review:
diff --git a/package_desc.md b/package_desc.md
new file mode 100644
index 0000000000..e667663186
--- /dev/null
+++ b/package_desc.md
@@ -0,0 +1,76 @@
+# Taipy
+
+## 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.
+
+## ⭐️ What is Taipy
+
+Taipy is an open-source Python library for easy, end-to-end application development for data
+scientists and machine learning engineers, featuring what-if analyses, smart pipeline execution,
+built-in scheduling, and deployment tools.
+
+- Enables building production-ready web applications.
+- No need to learn new languages or full-stack frameworks.
+- Concentrate on Data and AI algorithms without development and deployment complexities.
+
+- Website: https://www.taipy.io
+- Documentation: https://docs.taipy.io/en/latest/
+- Demos & Examples: https://docs.taipy.io/en/latest/gallery/
+- Source code: https://github.com/Avaiga/taipy/
+- Contributing: https://docs.taipy.io/en/latest/contributing/contributing/
+- Bug reports: https://github.com/Avaiga/taipy/issues
+- Discord support: https://discord.com/invite/SJyz2VJGxV
+
+## ✨ Features
+
+- **Python-Based UI Framework:** Taipy is designed for Python users, particularly those working in AI and data science. It allows them to create full stack applications without needing to learn additional skills like HTML, CSS, or JavaScript.
+
+- **Pre-Built Components for Data Pipelines:** Taipy includes pre-built components that allow users to interact with data pipelines, including visualization and management tools.
+
+- **Scenario and Data Management Features:** Taipy offers features for managing different business scenarios and data, which can be useful for applications like demand forecasting or production planning.
+
+- **Version Management and Pipeline Orchestration:** It includes tools for managing application versions, pipeline versions, and data versions, which are beneficial for multi-user environments.
+
+## Installation
+
+To install Taipy stable release run:
+```bash
+pip install taipy
+```
+
+To install Taipy on a Conda Environment or from source, please refer to the [Installation Guide](https://docs.taipy.io/en/latest/installation/).<br />
+To get started with Taipy, please refer to the [Getting Started Guide](https://docs.taipy.io/en/latest/getting_started/).
+
+## Contributing
+
+Writing code isn’t the only way to contribute to Taipy. You can also:
+- help us stay on top of new and old issues
+- develop tutorials, presentations, and other educational materials
+- maintain and improve [our website](https://www.taipy.io) and [documentation](https://docs.taipy.io/en/latest/)
+- review pull requests
+- help with outreach and onboard new contributors
+
+For more information about the ways you can contribute to Taipy, visit our
+[Contributing Guide](https://docs.taipy.io/en/latest/contributing/contributing/).
+If you’re unsure where to start or how your skills fit in, reach out on Discord. You can also ask on
+GitHub, by opening a new issue or leaving a comment on a relevant issue that is already open.
+
+If you are new to contributing to open source projects, [this guide](https://opensource.guide/how-to-contribute/)
+helps explain why, what, and how to successfully get involved.
+
+## Code of conduct
+
+Taipy is an open source project developed by the Taipy development team and a community of
+[contributors](https://docs.taipy.io/en/latest/contributing/contributors/). Please check out the
+[Taipy Code of Conduct](https://docs.taipy.io/en/latest/contributing/code_of_conduct/) for guidance
+on how to interact with others in a way that makes our community thrive.
diff --git a/setup.py b/setup.py
index e2cf3cf83b..4895580620 100644
--- a/setup.py
+++ b/setup.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.
 
-"""The setup script."""
+"""The setup script for taipy package"""
 
 import os
 import json
@@ -22,7 +22,7 @@
 
 root_folder = Path(__file__).parent
 
-readme = (root_folder / "README.md").read_text("UTF-8")
+package_desc = Path("package_desc.md").read_text("UTF-8")
 
 # get current version
 with open(os.path.join("taipy", "version.json")) as version_file:
@@ -73,6 +73,7 @@ def run(self):
     author_email="dev@taipy.io",
     python_requires=">=3.8",
     classifiers=[
+        "Development Status :: 5 - Production/Stable",
         "Intended Audience :: Developers",
         "License :: OSI Approved :: Apache Software License",
         "Natural Language :: English",
@@ -82,6 +83,12 @@ def run(self):
         "Programming Language :: Python :: 3.10",
         "Programming Language :: Python :: 3.11",
         "Programming Language :: Python :: 3.12",
+        "Topic :: Software Development",
+        "Topic :: Scientific/Engineering",
+        "Operating System :: Microsoft :: Windows",
+        "Operating System :: POSIX",
+        "Operating System :: Unix",
+        "Operating System :: MacOS",
     ],
     description="A 360° open-source platform from Python pilots to production-ready web apps.",
     install_requires=get_requirements(),
@@ -91,16 +98,23 @@ def run(self):
         ]
     },
     license="Apache License 2.0",
-    long_description=readme,
+    long_description=package_desc,
     long_description_content_type="text/markdown",
     keywords="taipy",
     name="taipy",
     packages=find_packages(include=["taipy", "taipy.*"]),
     include_package_data=True,
     test_suite="tests",
-    url="https://github.com/avaiga/taipy",
     version=version_string,
     zip_safe=False,
     extras_require=extras_require,
     cmdclass={"build_py": NPMInstall},
+    project_urls={
+        "Homepage": "https://www.taipy.io",
+        "Documentation": "https://docs.taipy.io",
+        "Source": "https://github.com/Avaiga/taipy",
+        "Download": "https://pypi.org/project/taipy/#files",
+        "Tracker": "https://github.com/Avaiga/taipy/issues",
+        "Release notes": "https://docs.taipy.io/en/latest/relnotes/",
+    },
 )
diff --git a/taipy/config/CONTRIBUTING.md b/taipy/config/CONTRIBUTING.md
deleted file mode 100644
index c0363fd6c5..0000000000
--- a/taipy/config/CONTRIBUTING.md
+++ /dev/null
@@ -1,135 +0,0 @@
-# Contributions
-
-Thanks for your interest in helping improve Taipy! Contributions are welcome, and they are greatly appreciated!
-Every little help and credit will always be given.
-
-There are multiple ways to contribute to Taipy: code, but also reporting bugs, creating feature requests, helping
-other users in our forums, [stack**overflow**](https://stackoverflow.com/), etc.
-
-Today the only way to communicate with the Taipy team is by GitHub issues.
-
-## Never contributed on an open source project before ?
-
-Have a look on this [GitHub documentation](https://docs.github.com/en/get-started/quickstart/contributing-to-projects).
-
-## Report bugs
-
-Reporting bugs is through [GitHub issues](https://github.com/Avaiga/taipy/issues).
-
-Please report relevant information and preferably code that exhibits the problem. We provide templates to help you
-describe the issue.
-
-The Taipy team will analyse and try to reproduce the bug to provide feedback. If confirmed, we will add a priority
-to the issue and add it in our backlog. Feel free to propose a pull request to fix it.
-
-## Issue reporting, feedback, proposal, design or any other comment
-
-Any feedback or proposal is greatly appreciated! Do not hesitate to create an issue with the appropriate template on
-[GitHub](https://github.com/Avaiga/taipy/issues).
-
-The Taipy team will analyse your issue and return to you as soon as possible.
-
-## Improve Documentation
-
-Do not hesitate to create an issue or pull request directly on the
-[taipy-doc repository](https://github.com/Avaiga/taipy-doc).
-
-## Implement Features
-
-The Taipy team manages its backlog in private. Each issue that will be done during our current sprint is
-attached to the `current sprint`. Please, do not work on it, the Taipy team is on it.
-
-## Code organisation
-
-Taipy is organised in five main repositories:
-
-- [taipy-config](https://github.com/Avaiga/taipy-config).
-- [taipy-core](https://github.com/Avaiga/taipy-core).
-- [taipy-gui](https://github.com/Avaiga/taipy-gui).
-- [taipy-rest](https://github.com/Avaiga/taipy-rest).
-- [taipy](https://github.com/Avaiga/taipy) brings previous packages in a single one.
-
-## Coding style and best practices
-
-### Python
-
-Taipy's repositories follow the [PEP 8](https://www.python.org/dev/peps/pep-0008/) and
-[PEP 484](https://www.python.org/dev/peps/pep-0484/) coding convention.
-
-## TypeScript
-
-Taipy's repositories use the [ESLint](https://eslint.org/) and
-[TypeScript ESLint](https://github.com/typescript-eslint/typescript-eslint) plugin to ensure a common set of rules.
-
-### Git branches
-
-All new development happens in the `develop` branch. All pull requests should target that branch.
-We are following a strict branch naming convention based on the pattern: `<type>/#<issueId>[IssueSummary]`.
-
-Where:
-
-- `<type>` would be one of:
-    - feature: new feature implementation, or improvement of a feature.
-    - bug: bug fix.
-    - review: change provoked by review comment not immediately taken care of.
-    - refactor: refactor of a piece of code.
-    - doc: doc changes (complement or typo fixes…).
-    - build: in relation with the build process.
-- `<issueId>` is the processed issue identifier. The advantage of explicitly indicating the issue number is that in
-  GitHub, a pull request page shows a direct link to the issue description.
-- `[IssueSummary]` is a short summary of the issue topic, not including spaces, using Camel case or lower-case,
-  dash-separated words. This summary, with its dash (‘-’) symbol prefix, is optional.
-
-
-## Contribution workflow
-
-Find an issue without the label `current sprint` and add a comment on it to inform the community that you are
-working on it.
-
-1. Make your [own fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) of the repository
-   target by the issue. Clone it on our local machine, then go inside the directory.
-
-2. We are working with [Pipenv](https://github.com/pypa/pipenv) for our virtualenv.
-   Create a local env and install development package by running `pipenv install --dev`, then run tests with `pipenv
-   run pytest` to verify your setup.
-
-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.<br/>
-   You can install and setup it up by doing:
-   ```bash
-   pipenv install pre-commit
-   pipenv run python -m pre-commit install
-   ```
-
-4. Make the changes.<br/>
-   You may want to also add your GitHub login as a new line of the `contributors.txt` file located at the root
-   of this repository. We are using it to list our contributors in the Taipy documentation
-   (see the "Contributing > Contributors" section) and thank them.
-
-5. Create a [pull request from your fork](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork).<br/>
-   Keep your pull request as __draft__ until your work is finished.
-   Do not hesitate to add a comment for help or questions.
-   Before you submit a pull request for review from your forked repo, check that it meets these guidelines:
-    - Include tests.
-    - Code is [rebase](http://stackoverflow.com/a/7244456/1110993).
-    - License is present.
-    - pre-commit works - without mypy error.
-    - GitHub's actions are passing.
-
-6. The taipy team will have a look at your Pull Request and will give feedback. If every requirement is valid, your
-   work will be added in the next release, congratulation!
-
-
-## Dependency management
-
-Taipy comes with multiple optional packages. You can find the list directly in the product or Taipy's packages.
-The back-end Pipfile does not install by default optional packages due to `pyodbc` requiring a driver's manual
-installation. This is not the behaviour for the front-end that installs all optional packages through its Pipfile.
-
-If you are a contributor on Taipy, be careful with dependencies, do not forget to install or uninstall depending on
-your issue.
-
-If you need to add a new dependency to Taipy, do not forget to add it in the `Pipfile` and the `setup.py`.
-Keep in mind that dependency is a vector of attack. The Taipy team limits the usage of external dependencies at the
-minimum.
diff --git a/taipy/config/INSTALLATION.md b/taipy/config/INSTALLATION.md
index 7051f7680c..86fd34c16a 100644
--- a/taipy/config/INSTALLATION.md
+++ b/taipy/config/INSTALLATION.md
@@ -12,10 +12,10 @@ You can install the development version of *taipy-config* with `pip` and `git` d
 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.
+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
+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:
 
 ```bash
diff --git a/taipy/config/README.md b/taipy/config/README.md
index 714dec4378..f35c93af2b 100644
--- a/taipy/config/README.md
+++ b/taipy/config/README.md
@@ -1,4 +1,4 @@
-# Taipy config
+# Taipy Config
 
 ## License
 Copyright 2021-2024 Avaiga Private Limited
@@ -14,33 +14,33 @@ specific language governing permissions and limitations under the License.
 ## Usage
 - [License](#license)
 - [Usage](#usage)
-- [Taipy config](#what-is-taipy-config)
+- [Taipy Config](#what-is-taipy-config)
 - [Installation](#installation)
 - [Contributing](#contributing)
 - [Code of conduct](#code-of-conduct)
 - [Directory Structure](#directory-structure)
 
-## What is Taipy config
+## 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 repositories including _taipy-config_ to let users
+[website](https://www.taipy.io). Taipy is split into multiple repositories including *taipy-config* to let users
 install the minimum they need.
 
-Taipy config is a package designed to help users configure their Taipy application.
+Taipy Config is a package designed to help users configure their Taipy application.
 
 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.
+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.
+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.
+Want to be part of the *Taipy Config* community? Check out our [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md) file.
 
 ## Directory Structure
 
@@ -54,11 +54,11 @@ Want to be part of the _Taipy config_ community? Check out our [`CODE_OF_CONDUCT
     - `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_.
+    - `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_.
+    - `setup.py`: The setup script managing building, distributing, and installing *taipy-config*.
   - `logger/`: Taipy logger implementation.
 - `tests/`:
-  - `config/`: Tests for the _taipy-config_ package.
+  - `config/`: Tests for the *taipy-config* package.
diff --git a/taipy/config/package_desc.md b/taipy/config/package_desc.md
new file mode 100644
index 0000000000..ba43c2d001
--- /dev/null
+++ b/taipy/config/package_desc.md
@@ -0,0 +1,76 @@
+# 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.
+
+## 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 repositories including *taipy-config*
+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*:
+```bash
+pip install taipy-config
+```
+
+You can install the development version of *taipy-config* 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.
+
+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:
+
+```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
+pipenv install --dev
+```
+
+Then you can run *taipy-config* tests with the following command:
+
+```bash
+pipenv run pytest tests/config
+```
+
+## Contributing
+
+Want to help build *Taipy Config*? Check out our
+ [Contributing Guide](https://docs.taipy.io/en/latest/contributing/contributing/).
+
+## Code of conduct
+
+Taipy is an open source project developed by the Taipy development team and a community of
+[contributors](https://docs.taipy.io/en/latest/contributing/contributors/). Please check out the
+[Taipy Code of Conduct](https://docs.taipy.io/en/latest/contributing/code_of_conduct/) for guidance
+on how to interact with others in a way that makes our community thrive.
diff --git a/taipy/config/setup.py b/taipy/config/setup.py
index 27aaaa7ede..7dd5589160 100644
--- a/taipy/config/setup.py
+++ b/taipy/config/setup.py
@@ -1,5 +1,3 @@
-#!/usr/bin/env python
-
 # 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
@@ -11,14 +9,15 @@
 # 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.
 
-"""The setup script."""
+"""The setup script for taipy-config package"""
+
 import json
 import os
+from pathlib import Path
 
 from setuptools import find_namespace_packages, find_packages, setup
 
-with open("README.md") as readme_file:
-    readme = readme_file.read()
+package_desc = Path("package_desc.md").read_text("UTF-8")
 
 version_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "version.json")
 
@@ -37,6 +36,7 @@
     author_email="dev@taipy.io",
     python_requires=">=3.8",
     classifiers=[
+        "Development Status :: 5 - Production/Stable",
         "Intended Audience :: Developers",
         "License :: OSI Approved :: Apache Software License",
         "Natural Language :: English",
@@ -46,10 +46,16 @@
         "Programming Language :: Python :: 3.10",
         "Programming Language :: Python :: 3.11",
         "Programming Language :: Python :: 3.12",
+        "Topic :: Software Development",
+        "Topic :: Scientific/Engineering",
+        "Operating System :: Microsoft :: Windows",
+        "Operating System :: POSIX",
+        "Operating System :: Unix",
+        "Operating System :: MacOS",
     ],
     description="A Taipy package dedicated to easily configure a Taipy application.",
     install_requires=requirements,
-    long_description=readme,
+    long_description=package_desc,
     long_description_content_type="text/markdown",
     license="Apache License 2.0",
     keywords="taipy-config",
@@ -60,7 +66,14 @@
     data_files=[('version', ['version.json'])],
     test_suite="tests",
     tests_require=test_requirements,
-    url="https://github.com/avaiga/taipy-config",
     version=version_string,
     zip_safe=False,
+    project_urls={
+        "Homepage": "https://www.taipy.io",
+        "Documentation": "https://docs.taipy.io",
+        "Source": "https://github.com/Avaiga/taipy",
+        "Download": "https://pypi.org/project/taipy/#files",
+        "Tracker": "https://github.com/Avaiga/taipy/issues",
+        "Release notes": "https://docs.taipy.io/en/latest/relnotes/",
+    },
 )
diff --git a/taipy/core/CONTRIBUTING.md b/taipy/core/CONTRIBUTING.md
deleted file mode 100644
index f4b1a68c87..0000000000
--- a/taipy/core/CONTRIBUTING.md
+++ /dev/null
@@ -1,135 +0,0 @@
-# Contributions
-
-Thanks for your interest in helping improve Taipy! Contributions are welcome, and they are greatly appreciated!
-Every little help and credit will always be given.
-
-There are multiple ways to contribute to Taipy: code, but also reporting bugs, creating feature requests, helping
-other users in our forums, [stack**overflow**](https://stackoverflow.com/), etc.
-
-Today the only way to communicate with the Taipy team is by GitHub issues.
-
-## Never contributed on an open source project before ?
-
-Have a look on this [GitHub documentation](https://docs.github.com/en/get-started/quickstart/contributing-to-projects).
-
-## Report bugs
-
-Reporting bugs is through [GitHub issues](https://github.com/Avaiga/taipy/issues).
-
-Please report relevant information and preferably code that exhibits the problem. We provide templates to help you
-describe the issue.
-
-The Taipy team will analyse and try to reproduce the bug to provide feedback. If confirmed, we will add a priority
-to the issue and add it in our backlog. Feel free to propose a pull request to fix it.
-
-## Issue reporting, feedback, proposal, design or any other comment
-
-Any feedback or proposal is greatly appreciated! Do not hesitate to create an issue with the appropriate template on
-[GitHub](https://github.com/Avaiga/taipy/issues).
-
-The Taipy team will analyse your issue and return to you as soon as possible.
-
-## Improve Documentation
-
-Do not hesitate to create an issue or pull request directly on the
-[taipy-doc repository](https://github.com/Avaiga/taipy-doc).
-
-## Implement Features
-
-The Taipy team manages its backlog in private. Each issue that will be done during our current sprint is
-attached to the `current sprint`. Please, do not work on it, the Taipy team is on it.
-
-## Code organisation
-
-Taipy is organised in five main repositories:
-
-- [taipy-config](https://github.com/Avaiga/taipy-config).
-- [taipy-core](https://github.com/Avaiga/taipy-core).
-- [taipy-gui](https://github.com/Avaiga/taipy-gui).
-- [taipy-rest](https://github.com/Avaiga/taipy-rest).
-- [taipy](https://github.com/Avaiga/taipy) brings previous packages in a single one.
-
-## Coding style and best practices
-
-### Python
-
-Taipy's repositories follow the [PEP 8](https://www.python.org/dev/peps/pep-0008/) and
-[PEP 484](https://www.python.org/dev/peps/pep-0484/) coding convention.
-
-## TypeScript
-
-Taipy's repositories use the [ESLint](https://eslint.org/) and
-[TypeScript ESLint](https://github.com/typescript-eslint/typescript-eslint) plugin to ensure a common set of rules.
-
-### Git branches
-
-All new development happens in the `develop` branch. All pull requests should target that branch.
-We are following a strict branch naming convention based on the pattern: `<type>/#<issueId>[IssueSummary]`.
-
-Where:
-
-- `<type>` would be one of:
-    - feature: new feature implementation, or improvement of a feature.
-    - bug: bug fix.
-    - review: change provoked by review comment not immediately taken care of.
-    - refactor: refactor of a piece of code.
-    - doc: doc changes (complement or typo fixes…).
-    - build: in relation with the build process.
-- `<issueId>` is the processed issue identifier. The advantage of explicitly indicating the issue number is that in
-  GitHub, a pull request page shows a direct link to the issue description.
-- `[IssueSummary]` is a short summary of the issue topic, not including spaces, using Camel case or lower-case,
-  dash-separated words. This summary, with its dash (‘-’) symbol prefix, is optional.
-
-
-## Contribution workflow
-
-Find an issue without the label `current sprint` and add a comment on it to inform the community that you are
-working on it.
-
-1. Make your [own fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) of the repository
-   target by the issue. Clone it on our local machine, then go inside the directory.
-
-2. We are working with [Pipenv](https://github.com/pypa/pipenv) for our virtualenv.
-   Create a local env and install development package by running `pipenv install --dev`, then run tests with `pipenv
-   run pytest` to verify your setup.
-
-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.
-   You can install and setup it up by doing:
-   ```bash
-   pipenv install pre-commit
-   pipenv run python -m pre-commit install
-   ```
-
-4. Make the changes.<br/>
-   You may want to also add your GitHub login as a new line of the `contributors.txt` file located at the root
-   of this repository. We are using it to list our contributors in the Taipy documentation
-   (see the "Contributing > Contributors" section) and thank them.
-
-5. Create a [pull request from your fork](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork).<br/>
-   Keep your pull request as __draft__ until your work is finished.
-   Do not hesitate to add a comment for help or questions.
-   Before you submit a pull request for review from your forked repo, check that it meets these guidelines:
-    - Include tests.
-    - Code is [rebase](http://stackoverflow.com/a/7244456/1110993).
-    - License is present.
-    - pre-commit works - without mypy error.
-    - GitHub's actions are passing.
-
-6. The taipy team will have a look at your Pull Request and will give feedback. If every requirement is valid, your
-   work will be added in the next release, congratulation!
-
-
-## Dependency management
-
-Taipy comes with multiple optional packages. You can find the list directly in the product or Taipy's packages.
-The back-end Pipfile does not install by default optional packages due to `pyodbc` requiring a driver's manual
-installation. This is not the behaviour for the front-end that installs all optional packages through its Pipfile.
-
-If you are a contributor on Taipy, be careful with dependencies, do not forget to install or uninstall depending on
-your issue.
-
-If you need to add a new dependency to Taipy, do not forget to add it in the `Pipfile` and the `setup.py`.
-Keep in mind that dependency is a vector of attack. The Taipy team limits the usage of external dependencies at the
-minimum.
diff --git a/taipy/core/INSTALLATION.md b/taipy/core/INSTALLATION.md
index f588827abf..9d72cd2ab2 100644
--- a/taipy/core/INSTALLATION.md
+++ b/taipy/core/INSTALLATION.md
@@ -1,21 +1,21 @@
 # Installation
 
-The latest stable version of _taipy-core_ is available through _pip_:
+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-core_ with _pip_ and _git_ via the taipy repository:
+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
 ```
 
-This command installs the development version of _taipy_ package in the Python environment with all
-its dependencies, including the _taipy-core_ package.
+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
+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:
 
 ```bash
@@ -36,7 +36,7 @@ pip install pipenv
 pipenv install --dev
 ```
 
-Then you can run _taipy-core_ tests with the following command:
+Then you can run *taipy-core* tests with the following command:
 
 ```bash
 pipenv run pytest tests/core
diff --git a/taipy/core/README.md b/taipy/core/README.md
index 66f64c0147..4b03919fa9 100644
--- a/taipy/core/README.md
+++ b/taipy/core/README.md
@@ -28,7 +28,7 @@ and limitations under the License.
 
 Taipy is a Python library for creating Business Applications. More information on our
 [website](https://www.taipy.io). Taipy is split into multiple repositories including
-_taipy-core_ to let users install the minimum they need.
+*taipy-core* to let users install the minimum they need.
 
 Taipy Core mostly includes business-oriented
 features. It helps users create and manage business applications and improve analyses
@@ -38,15 +38,15 @@ A more in depth documentation of taipy can be found [here](https://docs.taipy.io
 
 ## Installation
 
-Want to install _Taipy Core_? Check out our [`INSTALLATION.md`](INSTALLATION.md) file.
+Want to install *Taipy Core*? Check out our [`INSTALLATION.md`](INSTALLATION.md) file.
 
 ## Contributing
 
-Want to help build _Taipy Core_? Check out our [`CONTRIBUTING.md`](CONTRIBUTING.md) file.
+Want to help build *Taipy Core*? Check out our [`CONTRIBUTING.md`](../../CONTRIBUTING.md) file.
 
 ## Code of conduct
 
-Want to be part of the _Taipy Core_ community? Check out our
+Want to be part of the *Taipy Core* community? Check out our
 [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md) file.
 
 ## Directory Structure
@@ -62,19 +62,19 @@ Want to be part of the _Taipy Core_ community? Check out our
     - `config/`: Configuration definition, management and implementation.
     - `cycle/`: Work cycle definition, management and implementation.
     - `data/`: Data Node definition, management and implementation.
-    - `exceptions/`: _taipy-core_ exceptions.
+    - `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_.
+    - `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_.
+    - `setup.py`: The setup script managing building, distributing, and installing *taipy-core*.
 - `tests/`:
   - `core/`: Unit tests following the `taipy/core/` structure.
diff --git a/taipy/core/package_desc.md b/taipy/core/package_desc.md
new file mode 100644
index 0000000000..7d5e7c8233
--- /dev/null
+++ b/taipy/core/package_desc.md
@@ -0,0 +1,77 @@
+# Taipy Core
+
+## 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.
+
+## What is Taipy Core
+
+Taipy is a Python library for creating Business Applications. More information on our
+[website](https://www.taipy.io). Taipy is split into multiple repositories including *taipy-core*
+to let users install the minimum they need.
+
+Taipy Core mostly includes business-oriented features. It helps users create and manage business
+applications and improve analyses capability through time, conditions and hypothesis.
+
+## Installation
+
+The latest stable version of *taipy-core* is available through *pip*:
+```bash
+pip install 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
+```
+
+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:
+
+```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
+pipenv install --dev
+```
+
+Then you can run *taipy-core* tests with the following command:
+
+```bash
+pipenv run pytest tests/core
+```
+
+## Contributing
+
+Want to help build *Taipy Core*? Check out our
+ [Contributing Guide](https://docs.taipy.io/en/latest/contributing/contributing/).
+
+## Code of conduct
+
+Taipy is an open source project developed by the Taipy development team and a community of
+[contributors](https://docs.taipy.io/en/latest/contributing/contributors/). Please check out the
+[Taipy Code of Conduct](https://docs.taipy.io/en/latest/contributing/code_of_conduct/) for guidance
+on how to interact with others in a way that makes our community thrive.
diff --git a/taipy/core/setup.py b/taipy/core/setup.py
index 7e944ed7e9..7af618d9b5 100644
--- a/taipy/core/setup.py
+++ b/taipy/core/setup.py
@@ -1,5 +1,3 @@
-#!/usr/bin/env python
-
 # 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
@@ -11,7 +9,8 @@
 # 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.
 
-"""The setup script."""
+"""The setup script for taipy-core package"""
+
 import json
 import os
 from pathlib import Path
@@ -20,8 +19,7 @@
 
 root_folder = Path(__file__).parent
 
-with open("README.md") as readme_file:
-    readme = readme_file.read()
+package_desc = Path("package_desc.md").read_text("UTF-8")
 
 version_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "version.json")
 with open(version_path) as version_file:
@@ -31,7 +29,6 @@
         version_string = f"{version_string}.{vext}"
 
 
-
 def get_requirements():
     # get requirements from the different setups in tools/packages (removing taipy packages)
     reqs = set()
@@ -61,6 +58,7 @@ def get_requirements():
     author_email="dev@taipy.io",
     python_requires=">=3.8",
     classifiers=[
+        "Development Status :: 5 - Production/Stable",
         "Intended Audience :: Developers",
         "License :: OSI Approved :: Apache Software License",
         "Natural Language :: English",
@@ -70,10 +68,16 @@ def get_requirements():
         "Programming Language :: Python :: 3.10",
         "Programming Language :: Python :: 3.11",
         "Programming Language :: Python :: 3.12",
+        "Topic :: Software Development",
+        "Topic :: Scientific/Engineering",
+        "Operating System :: Microsoft :: Windows",
+        "Operating System :: POSIX",
+        "Operating System :: Unix",
+        "Operating System :: MacOS",
     ],
     description="A Python library to build powerful and customized data-driven back-end applications.",
     install_requires=get_requirements(),
-    long_description=readme,
+    long_description=package_desc,
     long_description_content_type="text/markdown",
     license="Apache License 2.0",
     keywords="taipy-core",
@@ -83,8 +87,15 @@ def get_requirements():
     data_files=[('version', ['version.json'])],
     test_suite="tests",
     tests_require=test_requirements,
-    url="https://github.com/avaiga/taipy-core",
     version=version_string,
     zip_safe=False,
     extras_require=extras_require,
+    project_urls={
+        "Homepage": "https://www.taipy.io",
+        "Documentation": "https://docs.taipy.io",
+        "Source": "https://github.com/Avaiga/taipy",
+        "Download": "https://pypi.org/project/taipy/#files",
+        "Tracker": "https://github.com/Avaiga/taipy/issues",
+        "Release notes": "https://docs.taipy.io/en/latest/relnotes/",
+    },
 )
diff --git a/taipy/gui/CONTRIBUTING.md b/taipy/gui/CONTRIBUTING.md
deleted file mode 100644
index f4b1a68c87..0000000000
--- a/taipy/gui/CONTRIBUTING.md
+++ /dev/null
@@ -1,135 +0,0 @@
-# Contributions
-
-Thanks for your interest in helping improve Taipy! Contributions are welcome, and they are greatly appreciated!
-Every little help and credit will always be given.
-
-There are multiple ways to contribute to Taipy: code, but also reporting bugs, creating feature requests, helping
-other users in our forums, [stack**overflow**](https://stackoverflow.com/), etc.
-
-Today the only way to communicate with the Taipy team is by GitHub issues.
-
-## Never contributed on an open source project before ?
-
-Have a look on this [GitHub documentation](https://docs.github.com/en/get-started/quickstart/contributing-to-projects).
-
-## Report bugs
-
-Reporting bugs is through [GitHub issues](https://github.com/Avaiga/taipy/issues).
-
-Please report relevant information and preferably code that exhibits the problem. We provide templates to help you
-describe the issue.
-
-The Taipy team will analyse and try to reproduce the bug to provide feedback. If confirmed, we will add a priority
-to the issue and add it in our backlog. Feel free to propose a pull request to fix it.
-
-## Issue reporting, feedback, proposal, design or any other comment
-
-Any feedback or proposal is greatly appreciated! Do not hesitate to create an issue with the appropriate template on
-[GitHub](https://github.com/Avaiga/taipy/issues).
-
-The Taipy team will analyse your issue and return to you as soon as possible.
-
-## Improve Documentation
-
-Do not hesitate to create an issue or pull request directly on the
-[taipy-doc repository](https://github.com/Avaiga/taipy-doc).
-
-## Implement Features
-
-The Taipy team manages its backlog in private. Each issue that will be done during our current sprint is
-attached to the `current sprint`. Please, do not work on it, the Taipy team is on it.
-
-## Code organisation
-
-Taipy is organised in five main repositories:
-
-- [taipy-config](https://github.com/Avaiga/taipy-config).
-- [taipy-core](https://github.com/Avaiga/taipy-core).
-- [taipy-gui](https://github.com/Avaiga/taipy-gui).
-- [taipy-rest](https://github.com/Avaiga/taipy-rest).
-- [taipy](https://github.com/Avaiga/taipy) brings previous packages in a single one.
-
-## Coding style and best practices
-
-### Python
-
-Taipy's repositories follow the [PEP 8](https://www.python.org/dev/peps/pep-0008/) and
-[PEP 484](https://www.python.org/dev/peps/pep-0484/) coding convention.
-
-## TypeScript
-
-Taipy's repositories use the [ESLint](https://eslint.org/) and
-[TypeScript ESLint](https://github.com/typescript-eslint/typescript-eslint) plugin to ensure a common set of rules.
-
-### Git branches
-
-All new development happens in the `develop` branch. All pull requests should target that branch.
-We are following a strict branch naming convention based on the pattern: `<type>/#<issueId>[IssueSummary]`.
-
-Where:
-
-- `<type>` would be one of:
-    - feature: new feature implementation, or improvement of a feature.
-    - bug: bug fix.
-    - review: change provoked by review comment not immediately taken care of.
-    - refactor: refactor of a piece of code.
-    - doc: doc changes (complement or typo fixes…).
-    - build: in relation with the build process.
-- `<issueId>` is the processed issue identifier. The advantage of explicitly indicating the issue number is that in
-  GitHub, a pull request page shows a direct link to the issue description.
-- `[IssueSummary]` is a short summary of the issue topic, not including spaces, using Camel case or lower-case,
-  dash-separated words. This summary, with its dash (‘-’) symbol prefix, is optional.
-
-
-## Contribution workflow
-
-Find an issue without the label `current sprint` and add a comment on it to inform the community that you are
-working on it.
-
-1. Make your [own fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) of the repository
-   target by the issue. Clone it on our local machine, then go inside the directory.
-
-2. We are working with [Pipenv](https://github.com/pypa/pipenv) for our virtualenv.
-   Create a local env and install development package by running `pipenv install --dev`, then run tests with `pipenv
-   run pytest` to verify your setup.
-
-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.
-   You can install and setup it up by doing:
-   ```bash
-   pipenv install pre-commit
-   pipenv run python -m pre-commit install
-   ```
-
-4. Make the changes.<br/>
-   You may want to also add your GitHub login as a new line of the `contributors.txt` file located at the root
-   of this repository. We are using it to list our contributors in the Taipy documentation
-   (see the "Contributing > Contributors" section) and thank them.
-
-5. Create a [pull request from your fork](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork).<br/>
-   Keep your pull request as __draft__ until your work is finished.
-   Do not hesitate to add a comment for help or questions.
-   Before you submit a pull request for review from your forked repo, check that it meets these guidelines:
-    - Include tests.
-    - Code is [rebase](http://stackoverflow.com/a/7244456/1110993).
-    - License is present.
-    - pre-commit works - without mypy error.
-    - GitHub's actions are passing.
-
-6. The taipy team will have a look at your Pull Request and will give feedback. If every requirement is valid, your
-   work will be added in the next release, congratulation!
-
-
-## Dependency management
-
-Taipy comes with multiple optional packages. You can find the list directly in the product or Taipy's packages.
-The back-end Pipfile does not install by default optional packages due to `pyodbc` requiring a driver's manual
-installation. This is not the behaviour for the front-end that installs all optional packages through its Pipfile.
-
-If you are a contributor on Taipy, be careful with dependencies, do not forget to install or uninstall depending on
-your issue.
-
-If you need to add a new dependency to Taipy, do not forget to add it in the `Pipfile` and the `setup.py`.
-Keep in mind that dependency is a vector of attack. The Taipy team limits the usage of external dependencies at the
-minimum.
diff --git a/taipy/gui/INSTALLATION.md b/taipy/gui/INSTALLATION.md
index ee39d494e8..af89a9b8f6 100644
--- a/taipy/gui/INSTALLATION.md
+++ b/taipy/gui/INSTALLATION.md
@@ -12,8 +12,6 @@ you plan to use it:
 - [Debugging the JavaScript bundle](#debugging-the-javascript-bundle)
 - [Running the tests](#running-the-tests)
 
-
-
 Taipy GUI needs your system to have **Python 3.8** or above installed.
 
 ## Installing the latest release
@@ -129,7 +127,7 @@ pip install pipenv
 pipenv install --dev
 ```
 
-Then you can run _taipy-gui_ tests with the following command:
+Then you can run *taipy-gui* tests with the following command:
 
 ```bash
 pipenv run pytest tests/gui
diff --git a/taipy/gui/README.md b/taipy/gui/README.md
index 802017855d..a90a0792fb 100644
--- a/taipy/gui/README.md
+++ b/taipy/gui/README.md
@@ -36,7 +36,7 @@ Want to install and try *Taipy GUI*? Check out our [`INSTALLATION.md`](INSTALLAT
 
 ## Contributing
 
-Want to help build *Taipy GUI*? Check out our [`CONTRIBUTING.md`](CONTRIBUTING.md) file.
+Want to help build *Taipy GUI*? Check out our [`CONTRIBUTING.md`](../../CONTRIBUTING.md) file.
 
 ## Code of conduct
 
diff --git a/taipy/gui/package_desc.md b/taipy/gui/package_desc.md
new file mode 100644
index 0000000000..29270c2375
--- /dev/null
+++ b/taipy/gui/package_desc.md
@@ -0,0 +1,139 @@
+# Taipy GUI
+
+## 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.
+
+## What is Taipy GUI
+
+Taipy is a Python library for creating Business Applications. More information on our
+[website](https://www.taipy.io). Taipy is split into multiple repositories including *taipy-gui* to let users
+install the minimum they need.
+
+Taipy GUI provides Python classes that make it easy to create powerful web apps in minutes.
+
+## Installation
+
+There are different ways to install Taipy GUI, depending on how
+you plan to use it:
+
+- [Installing the latest release](#installing-the-latest-release)
+- [Installing the development version](#installing-the-development-version)
+  - [1 - Clone the repository](#1---clone-the-repository)
+  - [2 - Install Node.js](#2---install-nodejs)
+  - [3 - Build the JavaScript bundle](#3---build-the-javascript-bundle)
+  - [4 - Install the package as editable](#4---install-the-package-as-editable)
+- [Debugging the JavaScript bundle](#debugging-the-javascript-bundle)
+- [Running the tests](#running-the-tests)
+
+Taipy GUI needs your system to have **Python 3.8** or above installed.
+
+### Installing the latest release
+
+The easiest way to install Taipy GUI is using pip
+
+Run the command:
+```bash
+pip install taipy-gui
+```
+
+### Installing the development version
+
+The development version of Taipy GUI is updated daily with changes from the
+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 Taipy repository
+
+Clone the Taipy repository using the following command:
+```bash
+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.
+This code is written in <a href="https://www.typescriptlang.org/" target="_blank">TypeScript</a>, relies on <a href="https://reactjs.org/" target="_blank">React</a> components, and is packaged into a JavaScript bundle
+that is sent to browsers when they connect to all Taipy GUI applications.
+
+This bundle needs to be built before being usable by Taipy GUI.
+
+First you need to install <a href="https://nodejs.org/" target="_blank">Node.js</a> on your system.
+
+**Select the "Recommended For Most Users" version, and follow the instructions for your system.**
+
+**Select "Automatically install the necessary tools" when asked.**
+
+#### 3 - Build the JavaScript bundle
+
+Open a new terminal and run the following commands:
+
+- Install the DOM dependencies
+```bash
+cd gui
+cd dom
+npm i
+```
+- Install the web app dependencies
+```bash
+cd ..
+npm i --omit=optional
+```
+- Build the web app
+```bash
+npm run build
+```
+
+After a few minutes, this creates the directory `taipy/gui/webapp` in the root directory of the repository
+where the front-end code for Taipy GUI is split into a set of JavaScript bundles.
+
+#### 4 - Install the package as editable
+
+In a terminal, **at the root of the repository**, run:
+```bash
+pip install -e . --user
+```
+
+This should install the dev version of Taipy GUI as editable. You are now ready to use it.
+
+## 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
+pipenv install --dev
+```
+
+Then you can run *taipy-gui* tests with the following command:
+
+```bash
+pipenv run pytest tests/gui
+```
+
+## Contributing
+
+Want to help build *Taipy GUI*? Check out our
+ [Contributing Guide](https://docs.taipy.io/en/latest/contributing/contributing/).
+
+## Code of conduct
+
+Taipy is an open source project developed by the Taipy development team and a community of
+[contributors](https://docs.taipy.io/en/latest/contributing/contributors/). Please check out the
+[Taipy Code of Conduct](https://docs.taipy.io/en/latest/contributing/code_of_conduct/) for guidance
+on how to interact with others in a way that makes our community thrive.
diff --git a/taipy/gui/setup.py b/taipy/gui/setup.py
index f7d4cda9e6..a4ef2655f2 100644
--- a/taipy/gui/setup.py
+++ b/taipy/gui/setup.py
@@ -1,5 +1,3 @@
-#!/usr/bin/env python
-
 # 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
@@ -11,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.
 
-"""The setup script."""
+"""The setup script for taipy-gui package"""
 
 import json
 import os
@@ -22,7 +20,7 @@
 
 root_folder = Path(__file__).parent
 
-readme = Path("README.md").read_text()
+package_desc = Path("package_desc.md").read_text("UTF-8")
 
 version_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "version.json")
 with open(version_path) as version_file:
@@ -75,6 +73,7 @@ def run(self):
     author_email="dev@taipy.io",
     python_requires=">=3.8",
     classifiers=[
+        "Development Status :: 5 - Production/Stable",
         "Intended Audience :: Developers",
         "License :: OSI Approved :: Apache Software License",
         "Natural Language :: English",
@@ -84,9 +83,15 @@ def run(self):
         "Programming Language :: Python :: 3.10",
         "Programming Language :: Python :: 3.11",
         "Programming Language :: Python :: 3.12",
+        "Topic :: Software Development",
+        "Topic :: Scientific/Engineering",
+        "Operating System :: Microsoft :: Windows",
+        "Operating System :: POSIX",
+        "Operating System :: Unix",
+        "Operating System :: MacOS",
     ],
     description="Low-code library to create graphical user interfaces on the Web for your Python applications.",
-    long_description=readme,
+    long_description=package_desc,
     long_description_content_type="text/markdown",
     install_requires=get_requirements(),
     license="Apache License 2.0",
@@ -97,9 +102,16 @@ def run(self):
     packages=find_namespace_packages(where=".") + find_packages(include=["taipy", "taipy.gui", "taipy.gui.*"]),
     test_suite="tests",
     tests_require=test_requirements,
-    url="https://github.com/avaiga/taipy-gui",
     version=version_string,
     zip_safe=False,
     extras_require=extras_require,
     cmdclass={"build_py": NPMInstall},
+    project_urls={
+        "Homepage": "https://www.taipy.io",
+        "Documentation": "https://docs.taipy.io",
+        "Source": "https://github.com/Avaiga/taipy",
+        "Download": "https://pypi.org/project/taipy/#files",
+        "Tracker": "https://github.com/Avaiga/taipy/issues",
+        "Release notes": "https://docs.taipy.io/en/latest/relnotes/",
+    },
 )
diff --git a/taipy/rest/CONTRIBUTING.md b/taipy/rest/CONTRIBUTING.md
deleted file mode 100644
index f4b1a68c87..0000000000
--- a/taipy/rest/CONTRIBUTING.md
+++ /dev/null
@@ -1,135 +0,0 @@
-# Contributions
-
-Thanks for your interest in helping improve Taipy! Contributions are welcome, and they are greatly appreciated!
-Every little help and credit will always be given.
-
-There are multiple ways to contribute to Taipy: code, but also reporting bugs, creating feature requests, helping
-other users in our forums, [stack**overflow**](https://stackoverflow.com/), etc.
-
-Today the only way to communicate with the Taipy team is by GitHub issues.
-
-## Never contributed on an open source project before ?
-
-Have a look on this [GitHub documentation](https://docs.github.com/en/get-started/quickstart/contributing-to-projects).
-
-## Report bugs
-
-Reporting bugs is through [GitHub issues](https://github.com/Avaiga/taipy/issues).
-
-Please report relevant information and preferably code that exhibits the problem. We provide templates to help you
-describe the issue.
-
-The Taipy team will analyse and try to reproduce the bug to provide feedback. If confirmed, we will add a priority
-to the issue and add it in our backlog. Feel free to propose a pull request to fix it.
-
-## Issue reporting, feedback, proposal, design or any other comment
-
-Any feedback or proposal is greatly appreciated! Do not hesitate to create an issue with the appropriate template on
-[GitHub](https://github.com/Avaiga/taipy/issues).
-
-The Taipy team will analyse your issue and return to you as soon as possible.
-
-## Improve Documentation
-
-Do not hesitate to create an issue or pull request directly on the
-[taipy-doc repository](https://github.com/Avaiga/taipy-doc).
-
-## Implement Features
-
-The Taipy team manages its backlog in private. Each issue that will be done during our current sprint is
-attached to the `current sprint`. Please, do not work on it, the Taipy team is on it.
-
-## Code organisation
-
-Taipy is organised in five main repositories:
-
-- [taipy-config](https://github.com/Avaiga/taipy-config).
-- [taipy-core](https://github.com/Avaiga/taipy-core).
-- [taipy-gui](https://github.com/Avaiga/taipy-gui).
-- [taipy-rest](https://github.com/Avaiga/taipy-rest).
-- [taipy](https://github.com/Avaiga/taipy) brings previous packages in a single one.
-
-## Coding style and best practices
-
-### Python
-
-Taipy's repositories follow the [PEP 8](https://www.python.org/dev/peps/pep-0008/) and
-[PEP 484](https://www.python.org/dev/peps/pep-0484/) coding convention.
-
-## TypeScript
-
-Taipy's repositories use the [ESLint](https://eslint.org/) and
-[TypeScript ESLint](https://github.com/typescript-eslint/typescript-eslint) plugin to ensure a common set of rules.
-
-### Git branches
-
-All new development happens in the `develop` branch. All pull requests should target that branch.
-We are following a strict branch naming convention based on the pattern: `<type>/#<issueId>[IssueSummary]`.
-
-Where:
-
-- `<type>` would be one of:
-    - feature: new feature implementation, or improvement of a feature.
-    - bug: bug fix.
-    - review: change provoked by review comment not immediately taken care of.
-    - refactor: refactor of a piece of code.
-    - doc: doc changes (complement or typo fixes…).
-    - build: in relation with the build process.
-- `<issueId>` is the processed issue identifier. The advantage of explicitly indicating the issue number is that in
-  GitHub, a pull request page shows a direct link to the issue description.
-- `[IssueSummary]` is a short summary of the issue topic, not including spaces, using Camel case or lower-case,
-  dash-separated words. This summary, with its dash (‘-’) symbol prefix, is optional.
-
-
-## Contribution workflow
-
-Find an issue without the label `current sprint` and add a comment on it to inform the community that you are
-working on it.
-
-1. Make your [own fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) of the repository
-   target by the issue. Clone it on our local machine, then go inside the directory.
-
-2. We are working with [Pipenv](https://github.com/pypa/pipenv) for our virtualenv.
-   Create a local env and install development package by running `pipenv install --dev`, then run tests with `pipenv
-   run pytest` to verify your setup.
-
-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.
-   You can install and setup it up by doing:
-   ```bash
-   pipenv install pre-commit
-   pipenv run python -m pre-commit install
-   ```
-
-4. Make the changes.<br/>
-   You may want to also add your GitHub login as a new line of the `contributors.txt` file located at the root
-   of this repository. We are using it to list our contributors in the Taipy documentation
-   (see the "Contributing > Contributors" section) and thank them.
-
-5. Create a [pull request from your fork](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork).<br/>
-   Keep your pull request as __draft__ until your work is finished.
-   Do not hesitate to add a comment for help or questions.
-   Before you submit a pull request for review from your forked repo, check that it meets these guidelines:
-    - Include tests.
-    - Code is [rebase](http://stackoverflow.com/a/7244456/1110993).
-    - License is present.
-    - pre-commit works - without mypy error.
-    - GitHub's actions are passing.
-
-6. The taipy team will have a look at your Pull Request and will give feedback. If every requirement is valid, your
-   work will be added in the next release, congratulation!
-
-
-## Dependency management
-
-Taipy comes with multiple optional packages. You can find the list directly in the product or Taipy's packages.
-The back-end Pipfile does not install by default optional packages due to `pyodbc` requiring a driver's manual
-installation. This is not the behaviour for the front-end that installs all optional packages through its Pipfile.
-
-If you are a contributor on Taipy, be careful with dependencies, do not forget to install or uninstall depending on
-your issue.
-
-If you need to add a new dependency to Taipy, do not forget to add it in the `Pipfile` and the `setup.py`.
-Keep in mind that dependency is a vector of attack. The Taipy team limits the usage of external dependencies at the
-minimum.
diff --git a/taipy/rest/INSTALLATION.md b/taipy/rest/INSTALLATION.md
index 9c7051281f..51a4641534 100644
--- a/taipy/rest/INSTALLATION.md
+++ b/taipy/rest/INSTALLATION.md
@@ -1,21 +1,21 @@
 # Installation
 
-The latest stable version of _taipy-rest_ is available through _pip_:
+The latest stable version of *taipy-rest* is available through *pip*:
 ```bash
 pip install taipy-rest
 ```
 
 ## Development version
 
-You can install the development version of _taipy-rest_ with _pip_ and _git_ via the taipy repository:
+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
 ```
 
-This command installs the development version of _taipy_ package in the Python environment with all
-its dependencies, including the _taipy-rest_ package.
+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
+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
@@ -27,7 +27,7 @@ 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,
+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:
  - TAIPY_SETUP_FILE: the path to the file containing all of taipy object configuration
@@ -69,7 +69,7 @@ pip install gunicorn
 
 gunicorn myapi.wsgi:app
 ```
-And that's it ! Gunicorn is running on port 8000
+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.
 
@@ -82,7 +82,7 @@ pip install uwsgi
 uwsgi --http 127.0.0.1:5000 --module myapi.wsgi:app
 ```
 
-And that's it ! Uwsgi is running on port 5000
+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.
 
@@ -111,7 +111,7 @@ Then release the image:
 heroku container:release web
 ```
 
-You can now access **taipy rest** on the URL that was returned on the `heroku create` command.
+You can now access *taipy-rest* on the URL that was returned on the `heroku create` command.
 
 # Documentation
 
diff --git a/taipy/rest/README.md b/taipy/rest/README.md
index 00b6e98921..53eede6232 100644
--- a/taipy/rest/README.md
+++ b/taipy/rest/README.md
@@ -1,4 +1,4 @@
-# Taipy-REST
+# Taipy REST
 
 ## License
 Copyright 2021-2024 Avaiga Private Limited
@@ -27,16 +27,16 @@ and limitations under the License.
 
 Taipy is a Python library for creating Business Applications. More information on our
 [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* and *taipy-rest* to let users install the minimum they need.
 
 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 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.
+*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.
 
 The project comes with rest APIs that provide interaction with all of taipy modules:
  - DataNodes
@@ -50,15 +50,15 @@ A more in depth documentation of taipy can be found [here](https://docs.taipy.io
 
 ## Installation
 
-Want to install and try _Taipy REST_? Check out our [`INSTALLATION.md`](INSTALLATION.md) file.
+Want to install and try *Taipy REST*? Check out our [`INSTALLATION.md`](INSTALLATION.md) file.
 
 ## Contributing
 
-Want to help build _Taipy REST_? Check out our [`CONTRIBUTING.md`](CONTRIBUTING.md) file.
+Want to help build *Taipy REST*? Check out our [`CONTRIBUTING.md`](../../CONTRIBUTING.md) file.
 
 ## Code of conduct
 
-Want to be part of the _Taipy REST_ community? Check out our
+Want to be part of the *Taipy REST* community? Check out our
 [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md) file.
 
 ## Directory Structure
@@ -73,12 +73,12 @@ Want to be part of the _Taipy REST_ community? Check out our
       - `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.
-    - `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_.
+    - `rest.py`: Main python entrypoint for running *taipy-rest* application.
+    - `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_.
+    - `setup.py`: The setup script managing building, distributing, and installing *taipy-rest*.
 - `tests/`:
   - `rest/`: Unit tests following the `taipy/rest/` structure.
diff --git a/taipy/rest/package_desc.md b/taipy/rest/package_desc.md
new file mode 100644
index 0000000000..9aad670690
--- /dev/null
+++ b/taipy/rest/package_desc.md
@@ -0,0 +1,173 @@
+# Taipy REST
+
+## 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.
+
+## What is Taipy REST
+
+Taipy is a Python library for creating Business Applications. More information on our
+[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 mostly includes business-oriented
+features. It helps users create and manage business applications and improve analyses
+capability through time, conditions and hypothesis.
+
+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.
+
+## Installation
+
+The latest stable version of *taipy-rest* is available through *pip*:
+```bash
+pip install taipy-rest
+```
+
+### Development version
+
+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
+```
+
+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
+```
+
+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:
+ - TAIPY_SETUP_FILE: the path to the file containing all of taipy object configuration
+
+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 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
+```
+
+To run the application you can either run locally with:
+```bash
+flask run
+```
+
+or it can be run inside Docker with:
+```bash
+docker-compose up
+```
+
+You can also run with a Gunicorn or wsgi server.
+
+### 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
+
+```bash
+pip install gunicorn
+
+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
+
+Pretty much the same as gunicorn here
+
+```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
+
+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:
+
+```bash
+heroku container:login
+```
+
+Create a heroku app
+```bash
+heroku create
+```
+
+Build the image and push to Container Registry:
+```bash
+heroku container:push web
+```
+
+Then release the image:
+```bash
+heroku container:release web
+```
+
+You can now access *taipy-rest* on the URL that was returned on the `heroku create` command.
+
+## 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
+pipenv install --dev
+```
+
+Then you can run *taipy-rest* tests with the following command:
+
+```bash
+pipenv run pytest tests/rest
+```
+
+## Contributing
+
+Want to help build *Taipy REST*? Check out our
+ [Contributing Guide](https://docs.taipy.io/en/latest/contributing/contributing/).
+
+## Code of conduct
+
+Taipy is an open source project developed by the Taipy development team and a community of
+[contributors](https://docs.taipy.io/en/latest/contributing/contributors/). Please check out the
+[Taipy Code of Conduct](https://docs.taipy.io/en/latest/contributing/code_of_conduct/) for guidance
+on how to interact with others in a way that makes our community thrive.
diff --git a/taipy/rest/setup.py b/taipy/rest/setup.py
index f0fc05531e..7c6fc3d9d4 100644
--- a/taipy/rest/setup.py
+++ b/taipy/rest/setup.py
@@ -8,6 +8,9 @@
 # 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.
+
+"""The setup script for taipy-rest package"""
+
 import json
 import os
 from pathlib import Path
@@ -16,8 +19,7 @@
 
 root_folder = Path(__file__).parent
 
-with open("README.md") as readme_file:
-    readme = readme_file.read()
+package_desc = Path("package_desc.md").read_text("UTF-8")
 
 version_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "version.json")
 with open(version_path) as version_file:
@@ -50,11 +52,12 @@ def get_requirements():
     packages=find_namespace_packages(where=".") + find_packages(include=["taipy", "taipy.rest"]),
     include_package_data=True,
     data_files=[('version', ['version.json'])],
-    long_description=readme,
+    long_description=package_desc,
     long_description_content_type="text/markdown",
     description="Library to expose taipy-core REST APIs.",
     license="Apache License 2.0",
     classifiers=[
+        "Development Status :: 5 - Production/Stable",
         "Intended Audience :: Developers",
         "License :: OSI Approved :: Apache Software License",
         "Natural Language :: English",
@@ -64,6 +67,20 @@ def get_requirements():
         "Programming Language :: Python :: 3.10",
         "Programming Language :: Python :: 3.11",
         "Programming Language :: Python :: 3.12",
+        "Topic :: Software Development",
+        "Topic :: Scientific/Engineering",
+        "Operating System :: Microsoft :: Windows",
+        "Operating System :: POSIX",
+        "Operating System :: Unix",
+        "Operating System :: MacOS",
     ],
     install_requires=get_requirements(),
+    project_urls={
+        "Homepage": "https://www.taipy.io",
+        "Documentation": "https://docs.taipy.io",
+        "Source": "https://github.com/Avaiga/taipy",
+        "Download": "https://pypi.org/project/taipy/#files",
+        "Tracker": "https://github.com/Avaiga/taipy/issues",
+        "Release notes": "https://docs.taipy.io/en/latest/relnotes/",
+    },
 )
diff --git a/taipy/templates/CONTRIBUTING.md b/taipy/templates/CONTRIBUTING.md
deleted file mode 100644
index f4b1a68c87..0000000000
--- a/taipy/templates/CONTRIBUTING.md
+++ /dev/null
@@ -1,135 +0,0 @@
-# Contributions
-
-Thanks for your interest in helping improve Taipy! Contributions are welcome, and they are greatly appreciated!
-Every little help and credit will always be given.
-
-There are multiple ways to contribute to Taipy: code, but also reporting bugs, creating feature requests, helping
-other users in our forums, [stack**overflow**](https://stackoverflow.com/), etc.
-
-Today the only way to communicate with the Taipy team is by GitHub issues.
-
-## Never contributed on an open source project before ?
-
-Have a look on this [GitHub documentation](https://docs.github.com/en/get-started/quickstart/contributing-to-projects).
-
-## Report bugs
-
-Reporting bugs is through [GitHub issues](https://github.com/Avaiga/taipy/issues).
-
-Please report relevant information and preferably code that exhibits the problem. We provide templates to help you
-describe the issue.
-
-The Taipy team will analyse and try to reproduce the bug to provide feedback. If confirmed, we will add a priority
-to the issue and add it in our backlog. Feel free to propose a pull request to fix it.
-
-## Issue reporting, feedback, proposal, design or any other comment
-
-Any feedback or proposal is greatly appreciated! Do not hesitate to create an issue with the appropriate template on
-[GitHub](https://github.com/Avaiga/taipy/issues).
-
-The Taipy team will analyse your issue and return to you as soon as possible.
-
-## Improve Documentation
-
-Do not hesitate to create an issue or pull request directly on the
-[taipy-doc repository](https://github.com/Avaiga/taipy-doc).
-
-## Implement Features
-
-The Taipy team manages its backlog in private. Each issue that will be done during our current sprint is
-attached to the `current sprint`. Please, do not work on it, the Taipy team is on it.
-
-## Code organisation
-
-Taipy is organised in five main repositories:
-
-- [taipy-config](https://github.com/Avaiga/taipy-config).
-- [taipy-core](https://github.com/Avaiga/taipy-core).
-- [taipy-gui](https://github.com/Avaiga/taipy-gui).
-- [taipy-rest](https://github.com/Avaiga/taipy-rest).
-- [taipy](https://github.com/Avaiga/taipy) brings previous packages in a single one.
-
-## Coding style and best practices
-
-### Python
-
-Taipy's repositories follow the [PEP 8](https://www.python.org/dev/peps/pep-0008/) and
-[PEP 484](https://www.python.org/dev/peps/pep-0484/) coding convention.
-
-## TypeScript
-
-Taipy's repositories use the [ESLint](https://eslint.org/) and
-[TypeScript ESLint](https://github.com/typescript-eslint/typescript-eslint) plugin to ensure a common set of rules.
-
-### Git branches
-
-All new development happens in the `develop` branch. All pull requests should target that branch.
-We are following a strict branch naming convention based on the pattern: `<type>/#<issueId>[IssueSummary]`.
-
-Where:
-
-- `<type>` would be one of:
-    - feature: new feature implementation, or improvement of a feature.
-    - bug: bug fix.
-    - review: change provoked by review comment not immediately taken care of.
-    - refactor: refactor of a piece of code.
-    - doc: doc changes (complement or typo fixes…).
-    - build: in relation with the build process.
-- `<issueId>` is the processed issue identifier. The advantage of explicitly indicating the issue number is that in
-  GitHub, a pull request page shows a direct link to the issue description.
-- `[IssueSummary]` is a short summary of the issue topic, not including spaces, using Camel case or lower-case,
-  dash-separated words. This summary, with its dash (‘-’) symbol prefix, is optional.
-
-
-## Contribution workflow
-
-Find an issue without the label `current sprint` and add a comment on it to inform the community that you are
-working on it.
-
-1. Make your [own fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) of the repository
-   target by the issue. Clone it on our local machine, then go inside the directory.
-
-2. We are working with [Pipenv](https://github.com/pypa/pipenv) for our virtualenv.
-   Create a local env and install development package by running `pipenv install --dev`, then run tests with `pipenv
-   run pytest` to verify your setup.
-
-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.
-   You can install and setup it up by doing:
-   ```bash
-   pipenv install pre-commit
-   pipenv run python -m pre-commit install
-   ```
-
-4. Make the changes.<br/>
-   You may want to also add your GitHub login as a new line of the `contributors.txt` file located at the root
-   of this repository. We are using it to list our contributors in the Taipy documentation
-   (see the "Contributing > Contributors" section) and thank them.
-
-5. Create a [pull request from your fork](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork).<br/>
-   Keep your pull request as __draft__ until your work is finished.
-   Do not hesitate to add a comment for help or questions.
-   Before you submit a pull request for review from your forked repo, check that it meets these guidelines:
-    - Include tests.
-    - Code is [rebase](http://stackoverflow.com/a/7244456/1110993).
-    - License is present.
-    - pre-commit works - without mypy error.
-    - GitHub's actions are passing.
-
-6. The taipy team will have a look at your Pull Request and will give feedback. If every requirement is valid, your
-   work will be added in the next release, congratulation!
-
-
-## Dependency management
-
-Taipy comes with multiple optional packages. You can find the list directly in the product or Taipy's packages.
-The back-end Pipfile does not install by default optional packages due to `pyodbc` requiring a driver's manual
-installation. This is not the behaviour for the front-end that installs all optional packages through its Pipfile.
-
-If you are a contributor on Taipy, be careful with dependencies, do not forget to install or uninstall depending on
-your issue.
-
-If you need to add a new dependency to Taipy, do not forget to add it in the `Pipfile` and the `setup.py`.
-Keep in mind that dependency is a vector of attack. The Taipy team limits the usage of external dependencies at the
-minimum.
diff --git a/taipy/templates/README.md b/taipy/templates/README.md
index 3ba4da021c..81de6c1b06 100644
--- a/taipy/templates/README.md
+++ b/taipy/templates/README.md
@@ -46,11 +46,11 @@ working directory.
 
 ## Contributing
 
-Want to help build _Taipy_? Check out our [`CONTRIBUTING.md`](CONTRIBUTING.md) file.
+Want to help build *Taipy*? Check out our [`CONTRIBUTING.md`](../../CONTRIBUTING.md) file.
 
 ## Code of conduct
 
-Want to be part of the _Taipy_ community? Check out our
+Want to be part of the *Taipy* community? Check out our
 [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md) file.
 
 ## Directory Structure
@@ -61,10 +61,10 @@ Want to be part of the _Taipy_ community? Check out our
       - `{{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_.
+    - `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_.
+    - `setup.py`: The setup script managing building, distributing, and installing *taipy-templates*.
 - `tests/`:
   - `templates/`: Unit tests following the `taipy/templates/` structure.
diff --git a/taipy/templates/package_desc.md b/taipy/templates/package_desc.md
new file mode 100644
index 0000000000..b3b702e535
--- /dev/null
+++ b/taipy/templates/package_desc.md
@@ -0,0 +1,90 @@
+# Taipy Templates
+
+## 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.
+
+## What is Taipy templates
+
+Taipy is a Python library for creating Business Applications. More information on our
+[website](https://www.taipy.io). Taipy is split into multiple repositories including *taipy-templates*
+to let users install the minimum they need.
+
+Taipy templates is a repository that contains templates and scaffoldings created and
+maintained by Taipy. It helps users getting started with a simple and ready-to-go application.
+
+To create a Taipy application using this template, first you need to install Taipy (> 2.2).
+Then from a terminal, run the following command.
+```bash
+taipy create
+```
+or
+```bash
+taipy create --template "default"
+```
+
+After providing necessary information, your new application is created in the current
+working directory.
+
+## Installation
+
+The latest stable version of *taipy-templates* is available through *pip*:
+```bash
+pip install taipy-templates
+```
+
+You can install the development version of *taipy-templates* 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-templates* package.
+
+If you need the source code for *taipy-templates* 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-templates'
+source code is in the 'taipy/templates' 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
+pipenv install --dev
+```
+
+Then you can run *taipy-templates* tests with the following command:
+
+```bash
+pipenv run pytest tests/templates
+```
+
+## Contributing
+
+Want to help build *taipy-templates*? Check out our
+[Contributing Guide](https://docs.taipy.io/en/latest/contributing/contributing/).
+
+## Code of conduct
+
+Taipy is an open source project developed by the Taipy development team and a community of
+[contributors](https://docs.taipy.io/en/latest/contributing/contributors/). Please check out the
+[Taipy Code of Conduct](https://docs.taipy.io/en/latest/contributing/code_of_conduct/) for guidance
+on how to interact with others in a way that makes our community thrive.
diff --git a/taipy/templates/setup.py b/taipy/templates/setup.py
index 5028d715de..0d86bb9906 100644
--- a/taipy/templates/setup.py
+++ b/taipy/templates/setup.py
@@ -9,15 +9,15 @@
 # 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.
 
-"""The setup script."""
+"""The setup script for taipy-templates package"""
 
 import json
 import os
+from pathlib import Path
 
 from setuptools import find_namespace_packages, find_packages, setup
 
-with open("README.md", "rb") as readme_file:
-    readme = readme_file.read().decode("UTF-8")
+package_desc = Path("package_desc.md").read_text("UTF-8")
 
 version_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "version.json")
 with open(version_path) as version_file:
@@ -33,6 +33,7 @@
     author_email="dev@taipy.io",
     python_requires=">=3.8",
     classifiers=[
+        "Development Status :: 5 - Production/Stable",
         "Intended Audience :: Developers",
         "License :: OSI Approved :: Apache Software License",
         "Natural Language :: English",
@@ -42,10 +43,16 @@
         "Programming Language :: Python :: 3.10",
         "Programming Language :: Python :: 3.11",
         "Programming Language :: Python :: 3.12",
+        "Topic :: Software Development",
+        "Topic :: Scientific/Engineering",
+        "Operating System :: Microsoft :: Windows",
+        "Operating System :: POSIX",
+        "Operating System :: Unix",
+        "Operating System :: MacOS",
     ],
     description="An open-source package holding Taipy application templates.",
     license="Apache License 2.0",
-    long_description=readme,
+    long_description=package_desc,
     long_description_content_type="text/markdown",
     keywords="taipy-templates",
     name="taipy-templates",
@@ -53,7 +60,14 @@
     include_package_data=True,
     data_files=[('version', ['version.json'])],
     test_suite="tests",
-    url="https://github.com/avaiga/taipy-templates",
     version=version_string,
     zip_safe=False,
+    project_urls={
+        "Homepage": "https://www.taipy.io",
+        "Documentation": "https://docs.taipy.io",
+        "Source": "https://github.com/Avaiga/taipy",
+        "Download": "https://pypi.org/project/taipy/#files",
+        "Tracker": "https://github.com/Avaiga/taipy/issues",
+        "Release notes": "https://docs.taipy.io/en/latest/relnotes/",
+    },
 )
diff --git a/tools/packages/taipy-config/setup.py b/tools/packages/taipy-config/setup.py
index f3dde84632..4659d388ef 100644
--- a/tools/packages/taipy-config/setup.py
+++ b/tools/packages/taipy-config/setup.py
@@ -1,5 +1,3 @@
-#!/usr/bin/env python
-
 # 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
@@ -11,7 +9,8 @@
 # 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.
 
-"""The setup script."""
+"""The setup script for taipy-config package"""
+
 import json
 from pathlib import Path
 
@@ -19,7 +18,7 @@
 
 root_folder = Path(__file__).parent
 
-readme = Path(root_folder / "README.md").read_text("UTF-8")
+package_desc = Path(root_folder / "package_desc.md").read_text("UTF-8")
 
 version_path = "taipy/config/version.json"
 
@@ -40,6 +39,7 @@
     author_email="dev@taipy.io",
     python_requires=">=3.8",
     classifiers=[
+        "Development Status :: 5 - Production/Stable",
         "Intended Audience :: Developers",
         "License :: OSI Approved :: Apache Software License",
         "Natural Language :: English",
@@ -49,10 +49,16 @@
         "Programming Language :: Python :: 3.10",
         "Programming Language :: Python :: 3.11",
         "Programming Language :: Python :: 3.12",
+        "Topic :: Software Development",
+        "Topic :: Scientific/Engineering",
+        "Operating System :: Microsoft :: Windows",
+        "Operating System :: POSIX",
+        "Operating System :: Unix",
+        "Operating System :: MacOS",
     ],
     description="A Taipy package dedicated to easily configure a Taipy application.",
     install_requires=requirements,
-    long_description=readme,
+    long_description=package_desc,
     long_description_content_type="text/markdown",
     include_package_data=True,
     license="Apache License 2.0",
@@ -65,7 +71,14 @@
     ),
     test_suite="tests",
     tests_require=test_requirements,
-    url="https://github.com/avaiga/taipy-config",
     version=version_string,
     zip_safe=False,
+    project_urls={
+        "Homepage": "https://www.taipy.io",
+        "Documentation": "https://docs.taipy.io",
+        "Source": "https://github.com/Avaiga/taipy",
+        "Download": "https://pypi.org/project/taipy/#files",
+        "Tracker": "https://github.com/Avaiga/taipy/issues",
+        "Release notes": "https://docs.taipy.io/en/latest/relnotes/",
+    },
 )
diff --git a/tools/packages/taipy-core/setup.py b/tools/packages/taipy-core/setup.py
index 65079f65d3..e1af8bfeab 100644
--- a/tools/packages/taipy-core/setup.py
+++ b/tools/packages/taipy-core/setup.py
@@ -1,5 +1,3 @@
-#!/usr/bin/env python
-
 # 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
@@ -11,16 +9,16 @@
 # 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.
 
-"""The setup script."""
-import json
+"""The setup script for taipy-core package"""
 
+import json
 from pathlib import Path
 
 from setuptools import find_packages, setup
 
 root_folder = Path(__file__).parent
 
-readme = Path(root_folder / "README.md").read_text("UTF-8")
+package_desc = Path(root_folder / "package_desc.md").read_text("UTF-8")
 
 version_path = "taipy/core/version.json"
 
@@ -48,6 +46,7 @@
     author_email="dev@taipy.io",
     python_requires=">=3.8",
     classifiers=[
+        "Development Status :: 5 - Production/Stable",
         "Intended Audience :: Developers",
         "License :: OSI Approved :: Apache Software License",
         "Natural Language :: English",
@@ -57,10 +56,16 @@
         "Programming Language :: Python :: 3.10",
         "Programming Language :: Python :: 3.11",
         "Programming Language :: Python :: 3.12",
+        "Topic :: Software Development",
+        "Topic :: Scientific/Engineering",
+        "Operating System :: Microsoft :: Windows",
+        "Operating System :: POSIX",
+        "Operating System :: Unix",
+        "Operating System :: MacOS",
     ],
     description="A Python library to build powerful and customized data-driven back-end applications.",
     install_requires=requirements,
-    long_description=readme,
+    long_description=package_desc,
     long_description_content_type="text/markdown",
     license="Apache License 2.0",
     keywords="taipy-core",
@@ -69,8 +74,15 @@
     include_package_data=True,
     test_suite="tests",
     tests_require=test_requirements,
-    url="https://github.com/avaiga/taipy-core",
     version=version_string,
     zip_safe=False,
     extras_require=extras_require,
+    project_urls={
+        "Homepage": "https://www.taipy.io",
+        "Documentation": "https://docs.taipy.io",
+        "Source": "https://github.com/Avaiga/taipy",
+        "Download": "https://pypi.org/project/taipy/#files",
+        "Tracker": "https://github.com/Avaiga/taipy/issues",
+        "Release notes": "https://docs.taipy.io/en/latest/relnotes/",
+    },
 )
diff --git a/tools/packages/taipy-gui/setup.py b/tools/packages/taipy-gui/setup.py
index d9de825a7f..8547169d00 100644
--- a/tools/packages/taipy-gui/setup.py
+++ b/tools/packages/taipy-gui/setup.py
@@ -1,5 +1,3 @@
-#!/usr/bin/env python
-
 # 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
@@ -11,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.
 
-"""The setup script."""
+"""The setup script for taipy-gui package"""
 
 import json
 import os
@@ -24,7 +22,7 @@
 
 root_folder = Path(__file__).parent
 
-readme = Path(root_folder / "README.md").read_text("UTF-8")
+package_desc = Path(root_folder / "package_desc.md").read_text("UTF-8")
 
 version_path = os.path.join(root_folder, "taipy/gui/version.json")
 
@@ -78,6 +76,7 @@ def run(self):
     author_email="dev@taipy.io",
     python_requires=">=3.8",
     classifiers=[
+        "Development Status :: 5 - Production/Stable",
         "Intended Audience :: Developers",
         "License :: OSI Approved :: Apache Software License",
         "Natural Language :: English",
@@ -87,9 +86,15 @@ def run(self):
         "Programming Language :: Python :: 3.10",
         "Programming Language :: Python :: 3.11",
         "Programming Language :: Python :: 3.12",
+        "Topic :: Software Development",
+        "Topic :: Scientific/Engineering",
+        "Operating System :: Microsoft :: Windows",
+        "Operating System :: POSIX",
+        "Operating System :: Unix",
+        "Operating System :: MacOS",
     ],
     description="Low-code library to create graphical user interfaces on the Web for your Python applications.",
-    long_description=readme,
+    long_description=package_desc,
     long_description_content_type="text/markdown",
     install_requires=requirements,
     license="Apache License 2.0",
@@ -99,9 +104,16 @@ def run(self):
     packages=find_packages(where=root_folder, include=["taipy", "taipy.gui", "taipy.gui.*"]),
     test_suite="tests",
     tests_require=test_requirements,
-    url="https://github.com/avaiga/taipy-gui",
     version=version_string,
     zip_safe=False,
     extras_require=extras_require,
     cmdclass={"build_py": NPMInstall},
+    project_urls={
+        "Homepage": "https://www.taipy.io",
+        "Documentation": "https://docs.taipy.io",
+        "Source": "https://github.com/Avaiga/taipy",
+        "Download": "https://pypi.org/project/taipy/#files",
+        "Tracker": "https://github.com/Avaiga/taipy/issues",
+        "Release notes": "https://docs.taipy.io/en/latest/relnotes/",
+    },
 )
diff --git a/tools/packages/taipy-rest/setup.py b/tools/packages/taipy-rest/setup.py
index 24fd4b052a..2a295c4a3d 100644
--- a/tools/packages/taipy-rest/setup.py
+++ b/tools/packages/taipy-rest/setup.py
@@ -8,15 +8,17 @@
 # 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
 
+"""The setup script for taipy-rest package"""
+
+import json
 from pathlib import Path
 
 from setuptools import find_packages, setup
 
 root_folder = Path(__file__).parent
 
-readme = Path(root_folder / "README.md").read_text("UTF-8")
+package_desc = Path(root_folder / "package_desc.md").read_text("UTF-8")
 
 version_path = "taipy/rest/version.json"
 
@@ -39,11 +41,12 @@
     author_email="dev@taipy.io",
     packages=find_packages(where=root_folder, include=["taipy", "taipy.rest", "taipy.rest.*"]),
     include_package_data=True,
-    long_description=readme,
+    long_description=package_desc,
     long_description_content_type="text/markdown",
     description="Library to expose taipy-core REST APIs.",
     license="Apache License 2.0",
     classifiers=[
+        "Development Status :: 5 - Production/Stable",
         "Intended Audience :: Developers",
         "License :: OSI Approved :: Apache Software License",
         "Natural Language :: English",
@@ -53,6 +56,20 @@
         "Programming Language :: Python :: 3.10",
         "Programming Language :: Python :: 3.11",
         "Programming Language :: Python :: 3.12",
+        "Topic :: Software Development",
+        "Topic :: Scientific/Engineering",
+        "Operating System :: Microsoft :: Windows",
+        "Operating System :: POSIX",
+        "Operating System :: Unix",
+        "Operating System :: MacOS",
     ],
     install_requires=requirements,
+    project_urls={
+        "Homepage": "https://www.taipy.io",
+        "Documentation": "https://docs.taipy.io",
+        "Source": "https://github.com/Avaiga/taipy",
+        "Download": "https://pypi.org/project/taipy/#files",
+        "Tracker": "https://github.com/Avaiga/taipy/issues",
+        "Release notes": "https://docs.taipy.io/en/latest/relnotes/",
+    },
 )
diff --git a/tools/packages/taipy-templates/setup.py b/tools/packages/taipy-templates/setup.py
index 9f9a64b26f..5a0b306c56 100644
--- a/tools/packages/taipy-templates/setup.py
+++ b/tools/packages/taipy-templates/setup.py
@@ -12,14 +12,13 @@
 """The setup script."""
 
 import json
-
 from pathlib import Path
 
 from setuptools import find_packages, setup
 
 root_folder = Path(__file__).parent
 
-readme = Path(root_folder / "README.md").read_text("UTF-8")
+package_desc = Path(root_folder / "package_desc.md").read_text("UTF-8")
 
 version_path = "taipy/templates/version.json"
 
@@ -40,6 +39,7 @@
     author_email="dev@taipy.io",
     python_requires=">=3.8",
     classifiers=[
+        "Development Status :: 5 - Production/Stable",
         "Intended Audience :: Developers",
         "License :: OSI Approved :: Apache Software License",
         "Natural Language :: English",
@@ -49,6 +49,12 @@
         "Programming Language :: Python :: 3.10",
         "Programming Language :: Python :: 3.11",
         "Programming Language :: Python :: 3.12",
+        "Topic :: Software Development",
+        "Topic :: Scientific/Engineering",
+        "Operating System :: Microsoft :: Windows",
+        "Operating System :: POSIX",
+        "Operating System :: Unix",
+        "Operating System :: MacOS",
     ],
     description="An open-source package holding Taipy application templates.",
     license="Apache License 2.0",
@@ -60,7 +66,14 @@
     packages=find_packages(where=root_folder, include=["taipy"]),
     include_package_data=True,
     test_suite="tests",
-    url="https://github.com/avaiga/taipy-templates",
     version=version_string,
     zip_safe=False,
+    project_urls={
+        "Homepage": "https://www.taipy.io",
+        "Documentation": "https://docs.taipy.io",
+        "Source": "https://github.com/Avaiga/taipy",
+        "Download": "https://pypi.org/project/taipy/#files",
+        "Tracker": "https://github.com/Avaiga/taipy/issues",
+        "Release notes": "https://docs.taipy.io/en/latest/relnotes/",
+    },
 )
diff --git a/tools/packages/taipy/setup.py b/tools/packages/taipy/setup.py
index 518f47ab54..4d81b40507 100644
--- a/tools/packages/taipy/setup.py
+++ b/tools/packages/taipy/setup.py
@@ -9,8 +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.
 
-"""The setup script."""
-
+"""The setup script for taipy package"""
 
 import json
 import platform
@@ -22,7 +21,7 @@
 
 root_folder = Path(__file__).parent
 
-readme = (root_folder / "README.md").read_text("UTF-8")
+package_desc = (root_folder / "package_desc.md").read_text("UTF-8")
 
 with open(root_folder / "taipy" / "version.json") as version_file:
     version = json.load(version_file)
@@ -62,6 +61,7 @@ def run(self):
     author_email="dev@taipy.io",
     python_requires=">=3.8",
     classifiers=[
+        "Development Status :: 5 - Production/Stable",
         "Intended Audience :: Developers",
         "License :: OSI Approved :: Apache Software License",
         "Natural Language :: English",
@@ -71,6 +71,12 @@ def run(self):
         "Programming Language :: Python :: 3.10",
         "Programming Language :: Python :: 3.11",
         "Programming Language :: Python :: 3.12",
+        "Topic :: Software Development",
+        "Topic :: Scientific/Engineering",
+        "Operating System :: Microsoft :: Windows",
+        "Operating System :: POSIX",
+        "Operating System :: Unix",
+        "Operating System :: MacOS",
     ],
     description="A 360° open-source platform from Python pilots to production-ready web apps.",
     install_requires=requirements,
@@ -80,16 +86,23 @@ def run(self):
         ]
     },
     license="Apache License 2.0",
-    long_description=readme,
+    long_description=package_desc,
     long_description_content_type="text/markdown",
     keywords="taipy",
     name="taipy",
     packages=find_packages(include=["taipy", "taipy._cli", "taipy._cli.*", "taipy.gui_core"]),
     include_package_data=True,
     test_suite="tests",
-    url="https://github.com/avaiga/taipy",
     version=version_string,
     zip_safe=False,
     extras_require=extras_require,
     cmdclass={"build_py": NPMInstall},
+    project_urls={
+        "Homepage": "https://www.taipy.io",
+        "Documentation": "https://docs.taipy.io",
+        "Source": "https://github.com/Avaiga/taipy",
+        "Download": "https://pypi.org/project/taipy/#files",
+        "Tracker": "https://github.com/Avaiga/taipy/issues",
+        "Release notes": "https://docs.taipy.io/en/latest/relnotes/",
+    },
 )


Code review comments:
diff_hunk: @@ -0,0 +1,76 @@
+# Taipy
+
+## 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.
+
+## ⭐️ What is Taipy
+
+Taipy is an open-source Python library for easy, end-to-end application development for data
+scientists and machine learning engineers, featuring what-if analyses, smart pipeline execution,
+built-in scheduling, and deployment tools.
+
+- Enables building production-ready web applications.
+- No need to learn new languages or full-stack frameworks.
+- Concentrate on Data and AI algorithms without development and deployment complexities.
+
+- Website: https://www.taipy.io
+- Documentation: https://docs.taipy.io/en/latest/
+- Demos & Examples: https://docs.taipy.io/en/latest/gallery/
+- Source code: https://github.com/Avaiga/taipy/
+- Contributing: https://docs.taipy.io/en/latest/contributing/contributing/
+- Bug reports: https://github.com/Avaiga/taipy/issues
+- Discord support: https://discord.com/invite/SJyz2VJGxV
+
+## ✨ Features
+
+- **Python-Based UI Framework:** Taipy is designed for Python users, particularly those working in AI and data science. It allows them to create full stack applications without needing to learn additional skills like HTML, CSS, or JavaScript.
path: package_desc.md
text: @user1:
```suggestion
- **Python-Based UI Framework:** Taipy is designed for Python users, particularly those
  in AI and data science. It allows them to create full-stack applications without
  learning additional skills like HTML, CSS, or JavaScript.
```

diff_hunk: @@ -54,11 +54,11 @@ Want to be part of the _Taipy config_ community? Check out our [`CODE_OF_CONDUCT
     - `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_.
+    - `CONTRIBUTING.md`: Instructions to contribute to *taipy-config*.
path: taipy/config/README.md
text: @user1:
The contributing must be removed.

diff_hunk: @@ -0,0 +1,77 @@
+# Taipy Core
+
+## 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.
+
+## What is Taipy Core
+
+Taipy is a Python library for creating Business Applications. More information on our
+[website](https://www.taipy.io). Taipy is split into multiple repositories including *taipy-core*
+to let users install the minimum they need.
+
+Taipy Core mostly includes business-oriented features. It helps users create and manage business
+applications and improve analyses capability through time, conditions and hypothesis.
path: taipy/core/package_desc.md
text: @user1:
```suggestion
Taipy is a Python library for creating Business Applications. More information on our
[website](https://www.taipy.io). The Taipy core package includes business-oriented features such as Data Integration and Management, Scenario Management, What-if analysis, and Version management.
```

diff_hunk: @@ -14,33 +14,33 @@ specific language governing permissions and limitations under the License.
 ## Usage
 - [License](#license)
 - [Usage](#usage)
-- [Taipy config](#what-is-taipy-config)
+- [Taipy Config](#what-is-taipy-config)
 - [Installation](#installation)
 - [Contributing](#contributing)
 - [Code of conduct](#code-of-conduct)
 - [Directory Structure](#directory-structure)
 
-## What is Taipy config
+## 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 repositories including _taipy-config_ to let users
+[website](https://www.taipy.io). Taipy is split into multiple repositories including *taipy-config* to let users
 install the minimum they need.
 
-Taipy config is a package designed to help users configure their Taipy application.
+Taipy Config is a package designed to help users configure their Taipy application.
 
 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.
+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.
+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.
+Want to be part of the *Taipy Config* community? Check out our [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md) file.
path: taipy/config/README.md
text: @user1:
We can remove the `CODE_OF_CONDUCT.md` of the sub-packages. In all `README.md` we need to point to the global version of the code of conduct file.
```suggestion
Want to be part of the *Taipy Config* community? Check out our [`CODE_OF_CONDUCT.md`](../..CODE_OF_CONDUCT.md) file.
```

diff_hunk: @@ -54,11 +54,11 @@ Want to be part of the _Taipy config_ community? Check out our [`CODE_OF_CONDUCT
     - `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*.
path: taipy/config/README.md
text: @user1:
I would remove the `CODE_OF_CONDUCT.md`