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.
You can install python-seed using pip
$ pip install -U pip $ pip install python-seedor install from source:
$ git clone https://github.com/developmentseed/python-seed.git $ cd python-seed $ pip install -U pip $ pip install -e .$ 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.iniWith 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.inimy-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. 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.
$ pre-commit installpython-seed was created by Development Seed
