Opinionated Python template and metadata synchronizer for 2020.
Project description
Tyrannosaurus Reqs
An opinionated, forwards-looking 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 is linted.
- When you push or make a pull request, your code is built and tested. Security checks are run, style is checked, documentation is generated, and docker images, sdists, and wheels are built.
- When you release on Github, your code is published to PyPi and DockerHub.
Just add
PYPI_TOKEN
andCOVERALLS_REPO_TOKEN
as Github repo secrets.
If you’re curious why older infrastructure (setup.py, etc) is problematic, see this post.
⚠ Status: Alpha. Generally works well, but
the sync
command does less than advertised.
Integrations:
Also comes with nice Github labels, issue templates, a changelog template,
Travis support, Conda recipe and environment generation, and other integrations.
Tyrannosaurus itself is included as a dependency.
Running tyrannosaurus build
will run poetry lock, synchronize project metadata, build, run tests, install,
and clean up. The project metadata is synchronized from pyproject.toml
to other files,
such as Anaconda recipes and environment files, license headers, doc and tox requirements, and author/contributor lists.
Target files can be disabled in [tool.tyrannosaurus.targets]
.
To build your own code:
To run locally, install Poetry
and Tox (pip install tox
).
Then just type tox
to build artifacts and run tests.
To create an initial Anaconda recipe or environment file, run tyrannosaurus recipe
or tyrannosaurus env
.
See the docs for more information.
Contributing:
New issues and pull requests are welcome.
Please refer to the contributing guide.
Generated with tyrannosaurus: tyrannosaurus new tyrannosaurus
.++++++++++++.
.++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++ +++:
++++:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for tyrannosaurus-0.8.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6483e7ea909019f6a035bb88a42e52966c191344f93e1a43a99729abdce8a88 |
|
MD5 | c925d9bcf8970b13aa0dc28e5ffea509 |
|
BLAKE2b-256 | c22b0587bd5e185de9ab13ad46c387ddaaaf13b83a64c5a8b1bbc1a8a7a0fd1a |