Tyrannosaurus Reqs
An opinionated Python template for 2020. No setup.py, requirements.txt, or eggs.
I wrote this after making nearly 50 commits to configure
readthedocs, PyPi, Tox, Docker, Travis, and Github actions.
This avoids that struggle for 99% of projects.
Just clone and modify or use tyrannosaurus new
.
Install with pip install tyrannosaurus
.
- When you commit, your code will be linted.
- When you push or make a pull request, your code will be built and tested. Metadata will be synced, security checks will be run, style will be checked, documentation will be generated, and docker images, sdists, and wheels will be built.
-
When you release on Github, your code will be published on PyPi.
Just add
PYPI_TOKEN
as a Github repo secret.
sync
command does less than advertised.
Other integrations:
Also comes with nice Github labels, a changelog template, Conda recipe generation, and various other integrations. Tyrannosaurus itself is included as a dependency to copy metadata between config files, such as the project version, description, copyright, and build and doc requirements.
To run:
To run locally, install Poetry
and Tox (pip install tox
).
Then just type tox
to build artifacts and run tests.
Sync metadata using tyrannosaurus sync
.
Generate a Conda recipe with tyrannosaurus recipe
,
and an Anaconda environment file with tyrannosaurus env
.
See the docs for more information.
Building, extending, and contributing
New issues and pull requests are welcome. Tyrannosaurus is licensed under the Apache License, version 2.0.
.++++++++++++.
.++HHHHHHH^^HHH+.
.HHHHHHHHHH++-+-++.
.HHHHHHHHHHH:t~~~~~
.+HHHHHHHHHHjjjjjjjj.
.+NNNNNNNNN/++/:--..
........+NNNNNNNNNN.
.++++BBBBBBBBBBBBBBB.
.tttttttt:.. .++BBBBBBBBBBBBBBBBBBB.
+tt+. `` .+BBBBBBBBBBBBBBBBBBBBB+++cccc.
ttt. .-++BBBBBBBBBBBBBBBBBBBBBB++.ccc.
+ttt++++:::::++++++BBBBBBBBBBBBBBBBBBBBBBB+..++.
.+TTTTTTTTTTTTTBBBBBBBBBBBBBBBBBBBBBBBBB+. .ccc.
.++TTTTTTTTTTBBBBBBBBBBBBBBBBBBBBBBBB+. .cc.
..:++++++++++++++++++BBBBBB++++BBBB.
....... -LLLLL+. -LLLLL.
-LLLL+. -LLLL+.
+LLL+ +LLL+
+LL+ +ff+
+ff++ +++:
++++: