tyrannosaurus
Generate beautifully modern (2021+) Python projects with seamless, GitHub-based CI/CD, Docker and Conda support, and out-of-the-box integration with >30 best-practices tools and standards.
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.7%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Generate beautifully modern (2021+) Python projects with seamless, GitHub-based CI/CD, Docker and Conda support, and out-of-the-box integration with >30 best-practices tools and standards.
Basic Info
- Host: GitHub
- Owner: dmyersturnbull
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: https://pypi.org/project/tyrannosaurus/
- Size: 1.19 MB
Statistics
- Stars: 93
- Watchers: 1
- Forks: 7
- Open Issues: 16
- Releases: 7
Topics
Metadata Files
README.md
Tyrannosaurus
An opinionated, forwards-looking Python template for 2021+.
Generate elegant, ready-to-use Python projects that have excellent continuous integration and deployment (CI/CD). Integrated with Docker Hub, the GitHub Container Registry, Azure, Conda-Forge, and an array of linting, static analysis, security testing, documentation, dependency management, and CI/CD tools, including an optional custom tool to keep all duplicate project metadata synchronized to pyproject.toml.
🎨 Design / generating a new project
This is a modern template built with Poetry, GitHub Actions, and no legacy files or tools. See below for a comparison to other tools. Also see Tyrannosaurus’s little sister science-notebook-template 🧪 for scientific publication repos.
Don’t make 55 commits trying to configure CI/CD workflows.
After creating an empty GitHub repo called myproject:
```bash pip install tyrannosaurus tyrannosaurus new myproject --track
if on a GitHub organization, pass --user my-org-name
```
After initializing your project, Tyrannosaurus will list manual steps like adding API keys.
Just delete files you don’t want. Or pass --extras to include extra files like
azure-pipelines config and codemeta.json.
💡 Main behavior / features
Generated projects are integrated with various tools (from PyPi) and external CI/CD/code-quality systems. GitHub Actions are used by default, but config files for Travis and Azure Pipelines are also provided. You can swap out, modify, or disable anything as you see fit. See the docs 📚 for more information.
Here’s how your new project will behave when first set up:
- Commit ⇒ Files are linted and verified for integrity
- Make a pull request ⇒ Code is built and tested
- Push to the main branch ⇒ Code is built and tested; code quality, coverage, and security badges are updated
- Make a GitHub release ⇒ Artifacts are sent to GitHub, PyPi, Docker Hub, the GCR, and readthedocs
tox⇒ Tests are run locallytyrannosaurus sync⇒ Project metadata is synced to pyproject.tomltyrannosaurus update⇒ New dependency versions from PyPi and/or Conda are listedtyrannosaurus [--aggressive] clean⇒ Remove temp files
🎁 Full features / integrations
✏️ Syncing to pyproject.toml
🔨 Building your project locally
🎯 Similar templates and tools
There are various other templates based on cookiecutter and copier. See which best suits your needs and style.
I designed Tyrannosaurus to solve issues with existing tools. Here are features that other tools lack:
- An elegant CI/CD workflow: The workflow gets kicked off only via
git pushand GitHub releases. - Interoperability with Conda, including recipes and environment files, by mapping dependencies and metadata.
- Automated publishing to PyPi, Conda-Forge, Docker Hub, the GitHub Container Registry, and readthedocs.
- No duplication between project files. (Not 100%: some duplication remains.)
- Built-in optional support for extra/alternative tools, such as Travis and codemeta.
- Complete absence of legacy tools, files, and Python 2 support.
🏁 Feature table
| Tool | Main techs | CD kickoff | N int.† | modern‡ | Docker | Conda | sync | any-OS | | ---------------------------------------------------------------------------------------- | -------------------------- | -------------- | ------- | ------- | ------ | ----- | ---- | ------ | | Tyranosaurus | Actions, Poetry, Tox | git, GitHub | 30 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | hypermodern-python | Actions, Poetry, Nox | git, Poetry | 20 | ✔️ | | | | ✔️ | | copier-poetry | Actions, Poetry, Make | git, manual | 15 | | ✔️ | | ✔️ | | | python-package-template | Actions, Poetry, Tox, Make | git, Make | 20 | ✔️ | ✔️ | | | | | pyscaffold | setuptools, Tox | Gitlab, manual | 10 | | | | | ✔️ | | wemake-python-package | Actions, Poetry, Make | git, Poetry | 10 | ✔️ | | | | | | best-practices | Actions, pipenv | git, pipenv | 10 | | ✔️ | | | ✔️ | | python-blueprint | Actions, setuptools, Tox | git, manual | 5 | | ✔️ | | | ✔️ | | cookiecutter-pypackage | Travis, setuptools, Tox | git, manual | 10 | | | | | | | cookiecutter-pylibrary | Travis, setuptools, Tox | git, manual | 20 | | | | | ✔ | | cookiecutter-django | Actions, setuptools, Tox | git, manual | 15 | | ✔️ | | | ✔️ | | django-init | Actions, setuptools, Make | git, manual | 15 | | ✔️ | | | ✔️ | | docker-science | Make, Docker, setuptools | no CI/CD | 15 | | ✔️ | | | | | science-notebook-template | Conda | no CI/CD | 5 | | ✔️ | | | ✔️ |
Notes:
✨ Projects made with Tyrannosaurus
🍁 Contributing
New issues and pull requests are welcome.
Please refer to the contributing guide
and security policy.
Generated with tyrannosaurus: tyrannosaurus new tyrannosaurus
text
.++++++++++++.
.++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++ +++:
++++:
Owner
- Name: Douglas Myers-Turnbull
- Login: dmyersturnbull
- Kind: user
- Location: Stanford, CA
- Company: Stanford University
- Repositories: 44
- Profile: https://github.com/dmyersturnbull
Citation (CITATION.cff)
abstract: "Generate beautifully modern Python projects with seamless, GitHub-based CI/CD and loads of integrations."
authors:
- family-names: Myers-Turnbull
given-names: Douglas
orcid: 0000-0003-3610-4808
cff-version: 1.2.0
date-released: 2020-05-10 20:06:00.00:00Z
keywords:
- cookiecutter
- conda-build
- pyproject-toml
- python-poetry
- python-template
message: Software reference
title: Tyrannosaurus
version: 0.11.0
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Douglas Myers-Turnbull | d****l@g****m | 241 |
| dependabot[bot] | 4****] | 2 |
| Alan Tse | a****e | 2 |
| Spectre5 | 3****5 | 1 |
| Kenyon Ralph | k****n@k****m | 1 |
| Daniël van Noord | 1****d | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 8
- Total pull requests: 119
- Average time to close issues: 10 months
- Average time to close pull requests: about 1 month
- Total issue authors: 4
- Total pull request authors: 3
- Average comments per issue: 0.63
- Average comments per pull request: 0.86
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 117
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 1.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- dmyersturnbull (5)
- vladistan (1)
- Spectre5 (1)
- JonBoyleCoding (1)
Pull Request Authors
- dependabot[bot] (114)
- Spectre5 (1)
- DanielNoord (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 3
-
Total downloads:
- pypi 44 last-month
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 1
(may contain duplicates) - Total versions: 78
- Total maintainers: 1
proxy.golang.org: github.com/dmyersturnbull/tyrannosaurus
- Documentation: https://pkg.go.dev/github.com/dmyersturnbull/tyrannosaurus#section-documentation
- License: apache-2.0
-
Latest release: v0.10.4
published over 4 years ago
Rankings
pypi.org: tyrannosaurus
Generate beautifully modern Python projects with seamless, GitHub-based CI/CD and loads of integrations.
- Homepage: https://github.com/dmyersturnbull/tyrannosaurus
- Documentation: https://tyrannosaurus.readthedocs.io
- License: Apache-2.0
-
Latest release: 0.10.4
published over 4 years ago
Rankings
Maintainers (1)
conda-forge.org: tyrannosaurus
An opinionated, forwards-looking Python template for 2021. Generate elegant, ready-to-use Python projects that have excellent continuous integration and deployment (CI/CD). Integrated with Docker Hub, Github Packages, Azure, Conda-Forge, and an array of linting, static analysis, security testing, documentation, dependency management, and CI/CD tools, including a custom tool to keep all duplicate project metadata synchronized to a single pyproject.toml. You only need to interact with your project via git, tyrannosaurus, and Github releases – all other integrations kick off from there.
- Homepage: https://github.com/dmyersturnbull/tyrannosaurus
- License: Apache-2.0
-
Latest release: 0.10.2
published over 4 years ago
Rankings
Dependencies
- actions/checkout v3 composite
- github/codeql-action/analyze v2 composite
- github/codeql-action/autobuild v2 composite
- github/codeql-action/init v2 composite
- actions/checkout v3 composite
- lannonbr/issue-label-manager-action 3.0.1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- docker/build-push-action v3 composite
- docker/login-action v2 composite
- docker/metadata-action v4 composite
- skx/github-action-publish-binaries master composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- python 3.10 build
- sphinx >=4.3,<5.0
- sphinx-autoapi >=1.8,<2.0
- sphinx-copybutton >=0.4,<1.0
- sphinx-rtd-theme >=1.0,<2.0
- tomlkit >=0.7,<1.0
- 114 dependencies
- grayskull ^1.8
- httpx >=0.23, <1
- python ^3.9
- tomlkit >=0.11, <1
- typer ^0.6
- pytest =7.1.1 develop
- python >=3.8, <4
- requests ^2.23
- tomlkit ^0.10
- typer ^0.5
