kjappelbaum / cookiecutter-snekpack

A cookiecutter package for an enlightened python package

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cookiecutter Snekpack

A cookiecutter for making new Python repositories.

This template is different from @audreyfeldroy's cookiecutter-pypackage because it uses the source layout and has lots of code quality assurance checks built in. If you're looking for something similar but not quite like this, try her package or see her list of alternatives.

I've written several blog posts outlining all of the ideas that made it into this template:

🛠️ Getting Started

  1. Install cookiecutter with:

    $ pip install cookiecutter
  2. Run cookiecutter with:

    $ cookiecutter https://github.com/cthoyt/cookiecutter-snekpack
  3. Enter the requested information, then win! Remember, package names should only have letters, numbers, and underscores.

  4. If you're working under version control, copy the repository into your folder tracked under git, commit the files, and push to your remote.

💪 Features

Your new python package will have the following:

  • Standard src/ layout
  • Declarative setup with setup.cfg and pyproject.toml
  • Reproducible tests with pytest and tox
  • Reproducible notebooks with treon and tox
  • A command line interface with click
  • A vanity CLI via python entrypoints
  • Version management with bump2version
  • Documentation build with sphinx
  • Testing of code quality with flake8 in tox
  • Testing of documentation coverage with docstr-coverage in tox
  • Testing of documentation format and build in tox
  • Testing of package metadata completeness with pyroma in tox
  • Testing of MANIFEST correctness with check-manifest in tox
  • Testing of optional static typing with mypy in tox
  • A py.typed file so other packages can use your type hints
  • Automated running of tests on each push with GitHub Actions
  • Configuration for ReadTheDocs
  • A good base .gitignore generated from gitignore.io.
  • A pre-formatted README with badges
  • A pre-formatted LICENSE file with the MIT License (you can change this to whatever you want, though)
  • A pre-formatted CONTRIBUTING guide
  • Automatic tool for releasing to PyPI with tox -e finish
  • A copy of the Contributor Covenant as a basic code of conduct

⚖️ License

This cookiecutter package is licensed under the MIT License.

About

A cookiecutter package for an enlightened python package

License:MIT License


Languages

Language:Python 100.0%