Skip to content

Repository files navigation

python-seed

python-seed

Starter kit for creating a new python package.

TestCoveragePackage versionDownloads

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] Add CI configuration
--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.

$ pre-commit install

About

python-seed was created by Development Seed

About

Project template for Python projects

Resources

Code of conduct

Stars

21 stars

Watchers

43 watching

Forks

Releases

Packages

Used by

Contributors

Languages