https://github.com/pmeier/schemaf
https://github.com/pmeier/schemaf
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/pmeier/schemaf
- Owner: pmeier
- License: bsd-3-clause
- Created: 2020-03-31T13:34:29.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-08-11T12:13:11.000Z (almost 6 years ago)
- Last Synced: 2025-06-22T05:33:37.471Z (12 months ago)
- Language: Python
- Size: 130 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://opensource.org/licenses/BSD-3-Clause)
[](https://github.com/pmeier/schemaf/actions?query=workflow%3Acookiecutter)
[](https://github.com/pmeier/schemaf/actions?query=workflow%3Acookie)
# schemaf
This is my personal [`cookiecutter`](https://github.com/cookiecutter/cookiecutter) for FOSS Python projects on [`GitHub`](https://github.com/). The name is based on the [german translation](https://www.dict.cc/?s=to+use+a+cookie-cutter+approach) "_zu **Schema F** greifen_" of the english phrase "_to use a cookie-cutter approach_".
The created project comprises an installable but empty Python package with smoke tests and an empty documentation.
CI is enabled and comprises these features:
- Code format ([`isort`](https://timothycrosley.github.io/isort/), [`black`](https://github.com/psf/black) and [`flake8`](https://flake8.pycqa.org/en/latest/)) and static typing ([`mypy`](http://mypy-lang.org/)) is checked for every PR via [GitHub Actions](https://github.com/features/actions).
- Tests are run for every PR for `python3.[6-8]` on Linux, Windows, and macOS via [GitHub Actions](https://github.com/features/actions).
- Docs are checked for every PR via [GitHub Actions](https://github.com/features/actions) and hosted on [Read the Docs](https://readthedocs.org)
- Everytime a branch is pushed to `releases/*` it is checked if it is publishable by uploading it to [TestPyPI](https://test.pypi.org/). If a release is created via GitHub, it is uploaded to [PyPI](https://pypi.org/). Make sure to set
- `TESTPYPI_USERNAME`
- `TESTPYPI_PASSWORD`
- `PYPI_USERNAME`
- `PYPI_PASSWORD`
in `Settings/Secrets`.
## Usage
1. Install `cookiecutter` with `pip install cookiecutter`
2. Run `cookiecutter https://github.com/pmeier/schemaf`
3. Create an empty [GitHub repository](https://github.com/new).
- The name should match the `{{cookiecutter.package}}` variable.
- The repository has to be public.
5. Run `git push --set-upstream origin master` inside the new repository.
6. Activate the project on [Read the Docs](https://readthedocs.org/dashboard/import/). You may need to synchronize your account before the new repository shows up.
## Post-installation actions
Navigate to project `Settings/Options`
- `Features`
- Uncheck `Wikis`
- Uncheck `Projects`
- `Merge button`
- Uncheck `Allow merge commits`
- Uncheck `Allow rebase commits`
- Check `Automatically delete head branches`