Welcome to Skeleton Py’s documentation!¶
Contents:
Installation¶
Download¶
You should clone the repository so that any changes can be easily copied into the repository by using git. I think adding another branch to handle the interopt between skeleton_py and master can be a good way to keep future merges simpler. If the skeleton files are only changed in this branch.
$ git clone https://github.com/Peilonrayz/skeleton_py
$ mv skeleton_py [name]
$ cd [name]
$ git config push.default upstream
$ git remote add skeleton https://github.com/Peilonrayz/skeleton_py
$ git fetch skeleton
$ git checkout -b skeleton skeleton/master
$ git remote rm origin
$ git checkout -b skeleton-changes
Rename¶
Replace
skeleton_pywith the name of the other app. I’ve tried my best future self, but some just have to exist! 😥Locations:
9 in
READEME.rst7 in
setup.py1 in
docssrc/source/conf.py10 in
docssrc/source/index.rst1 in
docssrc/source/main.rst2 in
src/skeleton_py/main.py1 in
tests/test_main.pyDirectory
src/skeleton_py
GitHub documentation¶
Ensure
docs/has been pushed to GitHub.Enter project settings.
Enable GitHub Pages.
Ensure “master branch /docs folder” is selected.
Uploading to PyPI¶
$ python -m pip install --user --upgrade setuptools twine wheel
$ python setup.py sdist bdist_wheel
$ python -m twine upload dist/*
Structure¶
Tests¶
This goes on to run the following:
Builds a coverage report, located at
htmlcov/index.html.Build documentation using Sphinx, located at
docs/main.html.Runs doctests.
Ensures links are not dead.
Auto documents type hints, via sphinx-autodoc-typehints.
Sources¶
This skeleton comes with three source locations.
Documentation
docsrc/This is not the standard location
docs/as GitHub requires that to be the built location. This means that once a documentation change has happened; the change can go live ASAP.
Code
src/skeleton_py/This utilizes the
src/pattern. This has the benefit that less changes need to be made to remove all theskeleton_pynames to the new project. It also has the benefit thatimport skeleton_pywon’t work without first installing it.
Tests
tests/This is your standard test folder. We are utilizing pytest as the test runner.
Entry Points¶
Library
from skeleton_py import main
Module
$ python -m skeleton_py
Application - this is exposed in the setup.py.
$ skeleton_py