Skip to content

A copier template for creating Panel extensions, leveraging the pixi package manager to simplify setup and management.

Notifications You must be signed in to change notification settings

panel-extensions/copier-template-panel-extension

Repository files navigation

Panel Extension Copier Template

A Copier template for creating Panel extensions, leveraging the Pixi package manager to simplify setup and management.

This template comes preconfigured with essential tools and best practices to help you develop, document, and distribute high-quality Panel-based applications or extensions.

  • Hatch-based Packaging: Managed by Hatch for streamlined dependency management and build processes.
  • Linting and Code Quality with ruff: A fast and configurable linting tool for maintaining consistent code style.
  • Testing with pytest: Includes support for async tests and thorough configuration for reliable testing.
  • Documentation Generation: Leverages Material for MkDocs for beautiful documentation and mkdocstrings for automatic API documentation.
  • GitHub Actions CI/CD: Preconfigured workflows for automated testing, building, and publishing.
  • Pixi Package Management: Integrated with Pixi for efficient and reproducible environment management.
  • Update Flexibility: Easily update your project to newer template versions with minimal disruption.
  • BSD License: Uses the OSI-approved BSD license, ideal for open-source projects.

To install and get started with Pixi, please refer to the Pixi documentation.

Getting Started

Step 1 - Create from Template

To create a new Panel extension:

pixi exec --spec copier --spec ruamel.yaml -- copier copy --trust https://github.com/panel-extensions/copier-template-panel-extension <panel-extension-name>

Step 2 - Create and Add Remote Repository

Go to Github and create your repository with the . Then set the remote:

git remote add origin https://github.com/<github-user>/<panel-extension-name>.git

The push your new repository

git push --set-upstream origin main

Step 3 - Set Up GitHub Pages Docs

Enable GitHub Pages through Settings > Pages on the GitHub toolbar:

image

On your GitHub repo's About section in the sidebar, be sure to add the link to your docs page by toggling the checkbox:

image

https://.github.io//

If your docs page is missing a sidebar, remember to add imports to src/__init__.py and include them in __all__.

Step 4 - Link to PyPI

Head over to PyPI and fill out the form:

image

Step 5 - Release with a Tag

Once you've populated the template, you can release to PyPI by creating a tag!

image

image

Updating the Template

To update to the latest template version run:

pixi exec --spec copier --spec ruamel.yaml -- copier update --defaults --trust

Note: copier will show Conflict for files with manual changes during an update. This is normal. As long as there are no merge conflict markers, all patches applied cleanly.

About

A copier template for creating Panel extensions, leveraging the pixi package manager to simplify setup and management.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published