Skip to main content

Create skeleton of python project

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-seed-1.1.1.tar.gz (10.1 kB view details)

Uploaded Source

File details

Details for the file python-seed-1.1.1.tar.gz.

File metadata

  • Download URL: python-seed-1.1.1.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for python-seed-1.1.1.tar.gz
Algorithm Hash digest
SHA256 e0d66d375124ec71e7670be525601e2107de50f8dcd0a46cdca36fcffb06795e
MD5 fb884d9e6a162a05169ec5b9a29f9346
BLAKE2b-256 06b1a5e6085988ac5ea7ce238aa7a2d95fd2b603ea602a20bc71ea2e146e81d2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page