A template repo to use for new repositories.
- Replace
template-package
with the new repo name across the whole repository. - Enable the GitHub repository on Zenodo.
- Set up the GitHub repository on CircleCI.
- Set up the GitHub repository on ReadTheDocs.
- Make the first release on GitHub.
- The PyPi deployment Action will fail.
- Deploy to PyPi (instructions below based on this page):
pip install twine
python setup.py sdist bdist_wheel
- Upload to TestPyPi:
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
- Enter TestPyPi username
- Enter TestPyPi password
- Upload to PyPi (if TestPyPi worked):
twine upload dist/*
- Enter PyPi username
- Enter PyPi password
- Future GitHub releases should now deploy to PyPi via the Action without issue.
- Update the Zenodo badge now that there's a real release.
- You must do this after deploying to PyPi because any new commits after the first release will change the versioneer-managed version string.
- Add all important CI steps to the branch protection rules for the
main
branch. - Add Integrations for the following:
- AllContributors
- Welcome
- CodeCov
- circleci-artifacts-redirector
- Release Drafter? Not sure if the Action can suitably replace the Integration.
The default configuration uses CircleCI and make to manage testing.
After tests are run, code coverage information is pushed to CodeCov.
CircleCI will also build the documentation as part of CI, and an artifact redirector
(circleci-artifacts-redirector
) is necessary to view the rendered documentation from each PR easily.
Versioneer is used to automatically track and update version strings.
flake8, black, and isort are used to manage code style.
duecredit is used to build reference lists for the codebase. duecredit is included as a required dependency.
The package documentation is built with Sphinx and we assume that the documentation will be hosted by ReadTheDocs.
The package is designed to be pip installable and hosted on PyPi. New releases are pushed to PyPi automatically via a GitHub Action.