https://github.com/developmentseed/python-seed
Project template for Python projects
https://github.com/developmentseed/python-seed
Last synced: 10 months ago
JSON representation
Project template for Python projects
- Host: GitHub
- URL: https://github.com/developmentseed/python-seed
- Owner: developmentseed
- License: mit
- Created: 2017-11-01T20:49:23.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-05-22T10:02:23.000Z (almost 4 years ago)
- Last Synced: 2024-04-10T03:11:38.895Z (about 2 years ago)
- Language: Python
- Size: 79.1 KB
- Stars: 21
- Watchers: 42
- Forks: 7
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.txt
- License: LICENSE
Awesome Lists containing this project
README
# python-seed
Starter kit for creating a new python package.
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
```bash
$ pip install -U pip
$ pip install python-seed
```
or install from source:
```bash
$ git clone https://github.com/developmentseed/python-seed.git
$ cd python-seed
$ pip install -U pip
$ pip install -e .
```
## Usage
```bash
$ 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
```bash
# 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
```bash
# 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**
```bash
$ 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.
```bash
$ pre-commit install
```
## About
python-seed was created by [Development Seed]()