Publish a Panel Extension#
If you’ve built a custom Panel component—a Viewer, JSComponent, ReactComponent, or ReactiveHTML subclass—and want to share it as a reusable, installable Python package, the Panel Extension Copier Template gives you a fully configured project scaffold to do just that.
What the template provides#
The copier-template-panel-extension generates a project pre-configured with:
pytest for testing
Zensical + mkdocstrings for auto-generated API documentation hosted on GitHub Pages
GitHub Actions CI/CD for automated testing and publishing
Pixi for reproducible environment management
Quickstart#
Make sure you have Pixi installed, then run:
pixi exec --spec copier --spec ruamel.yaml -- \
copier copy --trust \
https://github.com/panel-extensions/copier-template-panel-extension \
panel-name-of-extension
You’ll be prompted for a few details such as extension type, project slug, and author info.
From there, follow the template’s step-by-step guide to set up GitHub Pages, link your package to PyPI, and publish your first release by creating a git tag.
Example extensions#
Browse the panel-extensions organization on GitHub to see community extensions built on Panel’s custom component APIs. You may also open a PR to add your custom extension below.