Cookiecutter for SEAMM Plugins
February 17, 2021 · View on GitHub
============================== Cookiecutter for SEAMM Plugins
Cookiecutter_ template for a SEAMM plugin.
- GitHub repo: https://github.com/molssi-seamm/cookiecutter-seamm-plugin
- Free software: BSD license
Features
- Testing setup with
unittestandpython setup.py testorpy.test - CI/CD: Ready for Continuous Integration/Continuous Deployment using GitHub Actions.
- Sphinx_ docs: Documentation ready for generation with, for example, ReadTheDocs_
- Auto-release to PyPI_ when you push a new tag to master (optional)
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
Quickstart
Install the SEAMM Cookiecutter if you haven't installed it yet (this requires Cookiecutter 1.4.0 or higher)::
pip install -U seamm-cookiecutter
Generate a Python package project::
seamm-cookiecutter
And answer the prompts about your plug-in, etc. Then change to the new directory::
cd
Then create repository in GitHub with exactly the same name, just
giving the LICENSE type. Note that GitHub has changed the default
branch to main, which is what the SEAMM cookiecutter also uses. Now
you need to merge the two::
bash-3.2 git pull --allow-unrelated-histories origin master
warning: no common commits
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From github.com:
Depending on what happens here, you may have a conflict in LICENSE. If so, edit the file and fix the problem by keeping the appropriate lines.
Once that is done, push to GitHub::
bash-3.2
Deploy to PyPi. Once the code is in reasonable shape and working, you
can deploy to PyPi so that users can pip install it. You need an
account at PyPi_.
.. _packaging guide: https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/
.. _Sphinx: http://sphinx-doc.org/
.. _ReadTheDocs: https://readthedocs.io/
.. _pyup.io: https://pyup.io/
.. _PyPi: https://pypi.python.org/pypi