A template-based project generator that takes care of all the mumbo-jumbo.
Project description
Mumbo-Jumbo: A Template-Based Project Generator 🚀
🧐 About
A template-based project generator that takes care of all the mumbo-jumbo.
🏁 Getting Started
The repository uses just
(a build tool like Makefile
) to automate common tasks such
as testing, building, etc.
To list all available recipes, run the following command in the project directory:
$ just -l
Available recipes:
build-docs # Builds the documentation.
build-library # Builds the library.
clean # Cleans up all generated files.
mj-apply *args # Runs the entry point mj-apply.
publish-library # Builds and publishes the library in the PyPI.
publish-test-library # Builds and publishes the library in the TestPyPI.
test # Runs all unit tests in the test directory.
test-with-coverage # Runs all unit tests in the test directory with coverage.
update-version-to-snapshot # Updates the current version of the library to a snapshot version.
Furthermore, Poetry is used to manage dependencies, which provides a virtualenv environment that readily contains all dependencies required for development, testing, and building.
☝️You have to run
poetry install
(in the project root) after cloning this repository for the environment to be created.
To use the environment from the shell, run either poetry run ...
to execute a single command or poetry shell
to
permanently activate the environment.
🏗 CI/CD
This project makes use of a simple CI/CD pipeline that consists of the following steps:
- On every push, all tests are executed.
- If the tests finished successfully, then the library is published in the PyPI.
To that end:
- If the push did not occur on the
main
branch, then a snapshot version is built and published. The version of the published library is the same as the project version (specified inpyproject.toml
) with.dev
and a timestamp appended (e.g.,1.2.3.dev20220626103456
). - If the push occurred on the
main
branch, then a release version is built and published. In addition to this, the commit is tagged with the version of the released artifacts withv
prepended (e.g.,v1.2.3
).
- If the push did not occur on the
For the CI/CD pipeline to work, the following secrets have to be in place:
Secret | Description |
---|---|
PYPI_TOKEN |
An API token that has permission to publish in the mumbojumbo project in the PYPI. |
✍️ Authors
- Patrick Hohenecker (patrick.hohenecker@gmx.at)
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
File details
Details for the file mumbojumbo-0.1.0.tar.gz
.
File metadata
- Download URL: mumbojumbo-0.1.0.tar.gz
- Upload date:
- Size: 11.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.12.2 Linux/6.5.0-1015-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1981597e93bcab0055c097339535c6b2614c3b2f3e6a88705945eb17620bd8f |
|
MD5 | 0eb52000b6c4b5eb664ce7319ec8e71b |
|
BLAKE2b-256 | d29fd942df470c5cf22660ce89d1c438a4441614f87e8cf88245962a2b88d7ba |
File details
Details for the file mumbojumbo-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: mumbojumbo-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.12.2 Linux/6.5.0-1015-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54d002ec30173f101f914d877afd58a09b16b39b5bd1be9536973629621ce457 |
|
MD5 | 1260d631d89f0e17e28b6e2fab785929 |
|
BLAKE2b-256 | 16ec86d40d7fdac113a5d09d0fde61d28831a9d3dd6f922443cf301f14383d0b |