Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/giswqs/pypackage
Cookiecutter template creating a Python package with mkdocs
https://github.com/giswqs/pypackage
cookiecutter cookiecutter-template mkdocs mkdocs-material python template template-project
Last synced: 4 months ago
JSON representation
Cookiecutter template creating a Python package with mkdocs
- Host: GitHub
- URL: https://github.com/giswqs/pypackage
- Owner: giswqs
- License: bsd-3-clause
- Fork: true (audreyfeldroy/cookiecutter-pypackage)
- Created: 2020-11-15T01:14:25.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-07-31T04:40:30.000Z (over 1 year ago)
- Last Synced: 2024-09-25T20:39:14.924Z (4 months ago)
- Topics: cookiecutter, cookiecutter-template, mkdocs, mkdocs-material, python, template, template-project
- Language: Python
- Homepage: https://giswqs.github.io/pypackage
- Size: 1.08 MB
- Stars: 47
- Watchers: 2
- Forks: 18
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Cookiecutter PyPackage
[![image](https://github.com/giswqs/pypackage/workflows/build/badge.svg)](https://github.com/giswqs/pypackage/actions?query=workflow%3Abuild)
[![image](https://github.com/giswqs/pypackage/workflows/docs/badge.svg)](https://giswqs.github.io/pypackage)[Cookiecutter](https://github.com/cookiecutter/cookiecutter) template for a Python package.
- GitHub repo:
- Documentation:
- Free software: BSD license## Features
- Testing setup with `unittest` and `python setup.py test` or `pytest`
- GitHub actions: Ready for GitHub Continuous Integration testing
- [bump2version](https://github.com/c4urself/bump2version): Pre-configured version bumping with a single command
- Auto-release to [PyPI](https://pypi.python.org/pypi) when you push a new tag to master (optional)
- Command line interface using Click (optional)## Quickstart
Install the latest Cookiecutter if you haven't installed it yet (this
requires Cookiecutter 1.4.0 or higher):pip install -U cookiecutter
Generate a Python package project:
cookiecutter gh:giswqs/pypackage
Then:
- Create a repo and put it there.
- Go to [GitHub Settings - Workflow permissions](https://github.com/giswqs/mapwidget/settings/actions) and enable Read and write permissions for GitHub Actions.
- Install the dev requirements into a virtualenv. (`pip install -r requirements_dev.txt`)
- [Register](https://packaging.python.org/tutorials/packaging-projects/#uploading-the-distribution-archives) your project with PyPI.
- Release your package by pushing a new tag to master.
- Add a `requirements.txt` file that specifies the packages you will
need for your project and their versions. For more info see the [pip
docs for requirements files](https://pip.pypa.io/en/stable/user_guide/#requirements-files).## Video Tutorials
**1. Creating a Python package with Cookiecutter Template**
[![](http://img.youtube.com/vi/DAPAv9KbYZ0/0.jpg)](http://www.youtube.com/watch?v=DAPAv9KbYZ0)
**2. Publishing Python packages on PyPI**
[![](http://img.youtube.com/vi/7FcX9uWDuIQ/0.jpg)](http://www.youtube.com/watch?v=7FcX9uWDuIQ)
**3. Deploying Python packages to PyPI using GitHub Actions**
[![](http://img.youtube.com/vi/oayticDOZmU/0.jpg)](http://www.youtube.com/watch?v=oayticDOZmU)
**4. Introduction to Python package file structure**
[![](http://img.youtube.com/vi/0eLt_O6sIYU/0.jpg)](http://www.youtube.com/watch?v=0eLt_O6sIYU)
## Not Exactly What You Want?
Don't worry, you have options:
### Similar Cookiecutter Templates
- [audreyfeldroy/cookiecutter-pypackage](https://github.com/audreyfeldroy/cookiecutter-pypackage): Cookiecutter template for a Python package.
### Fork This / Create Your Own
If you have differences in your preferred setup, I encourage you to fork
this to create your own version. Or create your own; it doesn't strictly
have to be a fork.- Once you have your own version working, add it to the Similar
Cookiecutter Templates list above with a brief description.
- It's up to you whether or not to rename your fork/own version. Do
whatever you think sounds good.### Or Submit a Pull Request
I also accept pull requests on this, if they're small, atomic, and if
they make my own packaging experience better.