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":