O generation of vipers, how can ye, being evil, speak good things?
- Matthew 12:34
genvi
β A sadistic Python project wizard ππ§
curl -fSL https://raw.githubusercontent.com/ruksi/genvi/main/magic/conjure.sh | bash
python>=3.8
, git
and make
.
"I would sacrifice anything for some good quality code." by Anonymous Principal Engineer π©βπ»
genvi
(generation of vipers π) is a hyper-opinionated
tool for creating Python projects. It's strict, some could even say too strict.
Borderline evil.
Each new project is configured with:
πββ¬ eery ruff format
as the code style, single quoted
πͺ sadistic pre-commit hooks
to enforce conventions
πͺ automagical GitHub actions
to verify incoming pull requests
π§ bewitching testing setup with pytest
with 100% coverage requirement
β΄οΈ occult project management though make
for development
π«΄ plethora of style and type checkers included in ruff
and mypy
If you want a more concrete example of a genvi
project, you are looking at one.
genvi
itself follows the same rules and uses the same tools. Behind the scenes,
creating a new project renames a few files and rewrites a bit of content.
"Who would want to manage a project like this?" by Anonymous Gnu π
Scratching my own itch, see ABOUT.md
to learn more
curl -fSL https://raw.githubusercontent.com/ruksi/genvi/main/magic/conjure.sh | bash
-
Decide the project name and clone this repository
git clone [email protected]:ruksi/genvi.git my-project cd my-project
-
Decide a clean package name, run the wizard and follow instruction
# package name should be something you can `import` in Python # preferably just lowercase ASCII letters make package=myproject
This project is released under the MIT License.
Sure, the README template
should get you started
as genvi
itself works like the projects it generates.