Skip to content

AgeOfLearning/python-seed

This branch is 11 commits ahead of developmentseed/python-seed:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Benjamin Ryon
Jan 28, 2022
2577ccb · Jan 28, 2022

History

59 Commits
May 7, 2021
Jan 28, 2022
Aug 21, 2020
Nov 1, 2017
Jan 28, 2022
Jan 27, 2022
May 7, 2021
May 25, 2021
May 4, 2020
Jan 27, 2022
Jan 27, 2022
Aug 21, 2020
Aug 21, 2020
May 25, 2021
Jan 27, 2022
May 7, 2021

Repository files navigation

python-seed

python-seed

Starter kit for creating a new python package.

Test Coverage Package version Downloads

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

  • Python 88.0%
  • Batchfile 6.7%
  • Makefile 5.3%