A yeoman generator for Python projects.
python-bones
is a yeoman-generator for Python
-projects using setuptools
. Projects created with python-bones
are ready for publication to pypi
and conda
. The generator creates a package barebone that support:
- a standard
setup.py
,setup.cfg
,MANIFEST.in
, - project automationg
tox
, - static code analysis and reports using
pylint
,flake8
andbandit
, - a unit-test suite using
pytest/unittest
, -
build.sh
,bld.dat
andmeta.yaml
forconda
packages, - documentation with
readthedocs.io
andsphinx
, - badges for the project status, build status using Travis CI and code coverage using Codecov,
- custom README.md, TODO.md and VERSIONS.md files,
-
.gitignore
,.gitattributes
,.travis.yml
,coveragerc
, - a GPL3 license.
The resulting folder-structure looks like this:
|____.bandit.yml
|____.codecov.yml
|____.coveragerc
|____.gitattributes
|____.gitignore
|____.pylintrc
|____.travis.yml
|____.yo-rc.json
|____LICENSE
|____MANIFEST.in
|____README.rst
|____TODO.md
|____VERSIONS.md
|____bld.dat
|____build.sh
|____docs
| |____Makefile
| |____source
| | |____conf.py
| | |____index.rst
| | |____examples.rst
| | |____modules.rst
| | |____tutorial.rst
|____emptyproject
| |______init__.py
|____install.sh
|____meta.yaml
|____requirements.txt
|____setup.cfg
|____setup.py
|____tests
| |____test_me.py
| |____emptyproject.py
|____test.sh
|____tox.ini
Yeoman comes with npm
, so install it first and then call:
npm install -g yo
npm install -g generator-python-bones
Once you have the package, you can create a scaffold using:
yo python-bones
This builds the skeleton. Afterwards modify the sources and documentation and build both using:
pip install -e .
cd docs && make html
- Simon Dirmeier simon.dirmeier@web.de