A template for creating the xonsh contributions called xontribs.
If you like the template click ⭐ on the repo.
This template includes good pack of prebuilt files:
README
with the info and xontrib promotion instructionsPEP 621
orpoetry
basedpyproject.toml
file to make and install PyPi package easily.gitattributes
file to enable Github syntax highlighting for*.xsh
files.gitignore
file with standard list of directories to ignore.github/workflow/push-test.yml
to automatically test the code using Github Actions.github/*_template.md
files to create Github templates for the text of issue and PR..github/FUNDING.yml
file with template for Github sponsorship button..pre-commit-config.yaml
file with pre-commit-hooksMANIFEST.in
file to make Conda feedstock easilyLICENSE
file with standard MIT licensetests/
with the test suite
Install copier:
xpip install copier jinja2-time cookiecutter
# OR using pipx (https://pypa.github.io/pipx/):
pipx install copier>=9
pipx inject copier copier-templates-extensions
Create your new xontrib:
copier copy --trust gh:xonsh/xontrib-template .
Advent of PEP-621
Older projects can use the following tools to upgrade their setup to use pyproject.toml
- https://github.com/asottile/setup-py-upgrade
- https://ini2toml.readthedocs.io/en/latest/setuptools_pep621.html
- https://validate-pyproject.readthedocs.io/
- https://github.com/denkiwakame/py-tiny-pkg
copier
selects the latest tag when--vcs-ref
option is not given. So it is important to tag the main branch after important template updates.
How to fix pre-commit-hooks
If you're using .pre-commit-config.yaml
and have an error during testing you need fix the code i.e.:
xpip install pre-commit-hooks
pre-commit run --all-files black # or isort, etc