Starter kit for creating a new python package.
This is a starter repo for creating a new python package. Included are templates for standard files as well as best practices.
Install
You can install python-seed using pip
$ pip install -U pip $ pip install python-seed
or install from source:
$ git clone https://github.com/developmentseed/python-seed.git $ cd python-seed $ pip install -U pip $ pip install -e .
Usage
$ pyseed --help Usage: pyseed [OPTIONS] COMMAND [ARGS]... python-seed subcommands. Options: --version Show the version and exit. --help Show this message and exit. Commands: create Create new python seed skeleton
$ pyseed create --help
Usage: pyseed create [OPTIONS] NAME
Create new python seed skeleton.
Options:
--ci [circleci|github|gitlab] Add CI configuration.
--docs Add sphinx docs starter.
--help Show this message and exit.
Create a new python project
# Create a project without CI $ pyseed create awesomepythonproject # List files created $ ls -1 awesomepythonproject .pre-commit-config.yaml README.md awesomepythonproject/ requirements-dev.txt requirements.txt setup.py tests/ tox.ini
With CI framework
# Create a project github actions $ pyseed create awesomepythonproject --ci github # List files created $ ls -1 awesomepythonproject .github/workflows/ci.yml codecov.yml .pre-commit-config.yaml README.md awesomepythonproject/ requirements-dev.txt requirements.txt setup.py tests/ tox.ini
Project structure
my-project/
├── .circleci/ or .github/ - CI configuration.
├── codecov.yml - codecov configuration (only if CI is added).
├── .pre-commit-config.yaml - pre-commit configuration.
├── README.md - project readme.
├── my_project/ - core python module.
├── tests/ - tests suite placeholder for your module.
├── requirements.txt - python requirements (!!! by default requirements are written in setup.py)
├── requirements-dev.txt - python dev requirements (!!! by default requirements are written in setup.py)
└──tox.ini - TOX configuration.
Contribution & Development
Issues and pull requests are more than welcome.
dev install
$ git clone https://github.com/developmentseed/python-seed.git $ cd python-seed $ pip install -e ".[dev]"
Python3.7 only
This repo is set to use pre-commit to run isort, flake8, pydocstring, black ("uncompromising Python code formatter") and mypy when committing new code.
About
python-seed was created by Development Seed
