Skip to main content

Cookiecutter for SEAMM plug-ins, substeps and forcefields

Project description

Cookiecutter for SEAMM Plugins

Cookiecutter template for a SEAMM plugin.

Features

  • Testing setup with unittest and python setup.py test or py.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)

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 <plug-in name>

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 remote add origin
git@github.com:<organization>/<plug-in name> .git
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:<organization>/<plug-in name>
 * branch            main     -> FETCH_HEAD
 * [new branch]      main     -> origin/main
error: Terminal is dumb, but EDITOR unset
Not committing merge; use 'git commit' to complete the merge.

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$ git push --set-upstream origin main
Counting objects: 54, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (48/48), done.
Writing objects: 100% (54/54), 20.43 KiB | 261.00 KiB/s, done.
Total 54 (delta 10), reused 0 (delta 0)
remote: Resolving deltas: 100% (10/10), completed with 1 local object.
To github.com:<organization>/<plug-in name>.git
   30251d7..e2761fc  main -> main
Branch main set up to track remote branch main from origin.
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.

History

2021.2.17 (17 February 2021)

  • Initial working version on PyPi.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seamm-cookiecutter-2022.8.24.1.tar.gz (96.6 kB view details)

Uploaded Source

Built Distribution

seamm_cookiecutter-2022.8.24.1-py2.py3-none-any.whl (80.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file seamm-cookiecutter-2022.8.24.1.tar.gz.

File metadata

File hashes

Hashes for seamm-cookiecutter-2022.8.24.1.tar.gz
Algorithm Hash digest
SHA256 b55a3d1c3b8ab39f4dbe26974c114020de6bf69e3ea3efc447c68a38d198e8d2
MD5 caca960c2b5aa7420149508004d29617
BLAKE2b-256 48c5810b9a596ba61328f7903d8831a7df514dd09c4538cd29dfbf77fe29f867

See more details on using hashes here.

File details

Details for the file seamm_cookiecutter-2022.8.24.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for seamm_cookiecutter-2022.8.24.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5f1dad903c55d0641f19c078e7c4022f22109efd8f90486c168eec0ba676f9cc
MD5 dc4604a3b2c3f2207db60846734b0c9d
BLAKE2b-256 475d76c5a6f30acc45370d66ed2dcf772c984ffc9bd183929ae40ea2e277b1eb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page