Skip to content

AgeOfLearning/python-seed

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|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.

$ pre-commit install

About

python-seed was created by Development Seed

About

Project template for Python projects

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python88.0%
  • Batchfile6.7%
  • Makefile5.3%