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.0.0.post1.tar.gz (9.5 kB view details)

Uploaded Source

File details

Details for the file python-seed-1.0.0.post1.tar.gz.

File metadata

  • Download URL: python-seed-1.0.0.post1.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for python-seed-1.0.0.post1.tar.gz
Algorithm Hash digest
SHA256 068ee88e220cc4ebaed0e0fd46d20db88e8fca46a988b26193ae6ce27536a2c6
MD5 74b41d6f2357e4e1d8b5f2e5da0b3ca4
BLAKE2b-256 8a601abe3052c37762fbca38bd7c01156fb4c25e56b5113650c96e86290ec7d5

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