diff --git a/docs/manuals/gui/extension.md b/docs/manuals/gui/extension.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/userman/gui/extension/extension_packaging.md b/docs/userman/gui/extension/extension_packaging.md index 6f203804a..68e523a6e 100644 --- a/docs/userman/gui/extension/extension_packaging.md +++ b/docs/userman/gui/extension/extension_packaging.md @@ -1,10 +1,45 @@ # Packaging your elements library -!!! warning "Work in Progress" - This section still requires significant work, which is in progress. - At this time, Taipy GUI provides a custom element library example - with lengthy explanations on how to build it.
- Please look into the `doc/extension` directory where Taipy GUI is - installed for more information.
- You can also look at this example directly on - [GitHub](https://github.com/Avaiga/taipy/tree/[BRANCH]/doc/gui/extension). +You can create an autonomous Python package to distribute your Taipy GUI custom extension library. + +The following steps must be performed: +- go to your project's root directory (where the `Pipfile` is located) +- Install the build package: + - If you are using `pipenv`: + ```bash + pipenv run pip install build + ``` +- If you are not using `pipenv`: + ```bash + pip install build + ``` +- Configure the file `setup.py` to match your settings: + + - The `name` parameter must be set to the package name, which contains the Taipy GUI + Extension library.
+ Note that before you pick a name for your package, you should make sure that it has not + already being used. The name of the package is not related to the `import` directive + in your Python code. + - The `author` and `author_email` parameters should be set to the package author name + and email address. + - The `description` and `long_description` parameters should provide a description of + this package (short and long versions). + - The `keywords` parameter should hold relevant keywords exposed by Pypi. + - The `packages` parameter indicates which directories and files should be included in + this package.
+ If you have renamed the extension library root directory, you will need to update this, + replacing "my_custom_lib" with the name of the directory you have created. + - The `version` parameter should reflect the extension library version you are packaging. + - Check the `classifiers` and `license` parameters. + +- Build the package: + ```bash + # With pipenv + pipenv run python -m build + + # Without pipenv + python -m build + ``` + +This generates a Python package that can be uploaded to Pipy or shared with community +members. diff --git a/mkdocs.yml_template b/mkdocs.yml_template index e27b82ec2..f458b6d15 100644 --- a/mkdocs.yml_template +++ b/mkdocs.yml_template @@ -103,6 +103,7 @@ nav: - "List of Values Elements": userman/gui/extension/list_of_values.md - "Tabular Elements": userman/gui/extension/tabular_data.md - "Accessing assets": userman/gui/extension/accessing_assets.md + - "Packaging extensions": userman/gui/extension/extension_packaging.md - "Scenario features": - "Data integration":