Skip to main content

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:

  1. On every push, all tests are executed.
  2. If the tests finished successfully, then the library is published in the PyPI. To that end:
    1. 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 in pyproject.toml) with .dev and a timestamp appended (e.g., 1.2.3.dev20220626103456).
    2. 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 with v prepended (e.g., v1.2.3).

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mumbojumbo-0.1.0.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

mumbojumbo-0.1.0-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

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

Hashes for mumbojumbo-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b1981597e93bcab0055c097339535c6b2614c3b2f3e6a88705945eb17620bd8f
MD5 0eb52000b6c4b5eb664ce7319ec8e71b
BLAKE2b-256 d29fd942df470c5cf22660ce89d1c438a4441614f87e8cf88245962a2b88d7ba

See more details on using hashes here.

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

Hashes for mumbojumbo-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 54d002ec30173f101f914d877afd58a09b16b39b5bd1be9536973629621ce457
MD5 1260d631d89f0e17e28b6e2fab785929
BLAKE2b-256 16ec86d40d7fdac113a5d09d0fde61d28831a9d3dd6f922443cf301f14383d0b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page