cornerstone¶
/kɔrˈneːrston/
n. an indispensable and fundamental basis
cornerstone
is a state-of-the-art repository setup to start a python project hosted on Github.
Install¶
git clone git@github.com:Kraymer/cornerstone.git YOUR_PROJECT
# git checkout docs
sed -i 's/cornerstone/YOUR_PROJECT/g' **/*py
Features¶
Markdown
README.md
file used for both pypi and github project homepagesMarkdown documentation hosted by readthedocs
CI/CD automation using Github action :
codecov.yml
upload coverage to Codecovpython-build
lint and run unit testspython-semantic-release.yml
automatic changelog generation and versioning via Python Semantic Release and one click deployment to Pypi
README.md¶
PyPI.org supports Markdown in long descriptions in place of restructured text since April 2018.
This allows us to use the content of README.md as-is for the Pypi description, except for images having ǹopypi
as Alt text that will be discarded (eg see how cornerstore pypi homepage has only two badges from the six original ones).
Configuration¶
Readthedocs alabaster theme¶
Import your project to your readthedocs account and set docs
as default branch.
Github CI/CD workflows¶
codecov.yml
: import your project to your app.codecov.io/ accountpython-buid.yml
: edit python versions and targeted platformspython-semantic-release.yml
: add a PYPI_TOKEN secret token to your repository settings as described on packaging.python.org. Configure behaviour by editingsetup.cfg
.