Pravesh-Sudha /
python-for-devops
A collection of real-world Python automation projects for DevOps, covering AWS, CI/CD, and cloud infrastructure management.
61/100 healthLoading repository data…
Jebel-Quant / repository
A collection of reusable configuration templates for modern Python projects
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Creating and maintaining technical harmony across repositories.
A collection of reusable configuration templates for modern Python projects. Save time and maintain consistency across your projects with these pre-configured templates.
In the original Greek, spelt ῥίζα, pronounced ree-ZAH, and having the literal meaning root.
Unlike traditional project templates (like cookiecutter or copier) that generate a one-time snapshot of configuration files, Rhiza provides living templates that evolve with your project. Classic templates help you start a project, but once generated, your configuration drifts away from the template as best practices change. Rhiza takes a different approach: it enables continuous synchronization, allowing you to selectively pull template updates into your project over time through automated workflows. This means you can benefit from improvements to CI/CD workflows, linting rules, and development tooling without manually tracking upstream changes. Think of it as keeping your project's foundation fresh and aligned with modern practices, while maintaining full control over what gets updated.
Rhiza has two distinct components:
uvx) that provides the rhiza command and implements operations such as init, sync, bump, and release.In short: rhiza is the what (the template files you receive); rhiza-cli is the how (the tool that fetches and applies them).
When you run uvx rhiza init or uvx rhiza sync, you are invoking the rhiza-cli package — it reads your .rhiza/template.yml and syncs the matching files from this repository (or your own fork) into your project. The two components are versioned independently, so templates and the CLI can be updated separately.
Rhiza uses a simple configuration file (.rhiza/template.yml) to control which templates sync to your project. The recommended approach is to select a profile — a named preset for common project contexts — or to select individual bundles for full control:
# .rhiza/template.yml — profile-based (recommended)
repository: Jebel-Quant/rhiza
ref: v0.14.0
profiles:
- github-project
# .rhiza/template.yml — bundle-based (advanced)
repository: Jebel-Quant/rhiza
ref: v0.14.0
templates:
- core
- tests
- github
- github-tests
- docker
What you're seeing:
repository - The upstream template source (can be any repository, not just Rhiza!)ref - Which version tag/branch to sync from (e.g., v0.14.0 or main)profiles - Named presets that expand to a set of bundles (see Profiles below)templates - Individual template bundles for advanced or additional selectionFor advanced use cases you can still use explicit include/exclude file patterns alongside or instead of bundles:
# Advanced: file-pattern based selection
include: |
.github/workflows/*.yml
ruff.toml
exclude: |
.rhiza/make.d/custom-task.mk
💡 Automated Updates: When using a version tag (e.g.,
v0.7.1) instead of a branch name, Renovate will automatically create pull requests to update thereffield when new versions are released. This keeps your templates up-to-date with minimal manual intervention.To enable this in your project, copy the
regexManagersconfiguration from this repository'srenovate.jsonfile into your own Renovate configuration. See the linked configuration for the complete setup.
When you run uvx rhiza sync or trigger the automated sync workflow, Rhiza fetches only the files matching your include patterns, skips anything in exclude, and creates a clean diff for you to review. You stay in control of what updates and when.
💡 Pro Tip: While you can use Jebel-Quant/rhiza directly, we recommend creating your own template repository using GitHub's "Use this template" button. This gives you a clean copy to customise for your organisation's specific needs and constraints—adjusting CI workflows, coding standards, or tooling choices—while still benefiting from Rhiza's sync mechanism. Your template repo becomes your team's source of truth, and you can selectively pull updates from upstream Rhiza when desired.
# Navigate to your project directory
cd /path/to/your/project
# Initialise Rhiza configuration and pick your bundles
uvx rhiza init
# Edit .rhiza/template.yml to review the bundle selection, then apply
uvx rhiza sync
See the Integration Guide for more options, or follow the step-by-step tutorial in rhiza-education (Lessons 6–8).
If you want to develop Rhiza itself:
# Clone the repository
git clone https://github.com/jebel-quant/rhiza.git
cd rhiza
# Install dependencies
make install
Adopt a Rhiza bundle and your project immediately gains:
vars.PUBLISH_CONDA, defaults to true), SLSA provenancemake targets)This project maintains Architecture Decision Records (ADRs) to document important architectural and design decisions.
ADRs help preserve the reasoning behind key decisions, making it easier for current and future contributors to understand why the project is structured the way it is.
Browse ADRs: See docs/adr/ for all architecture decisions.
Key decisions documented:
Create a new ADR: Copy the template in docs/adr/, give it the next number, and open a pull request for review.
For more information about the ADR format and how to create new records, see the ADR README.
Rhiza provides profiles — named presets that select a sensible set of bundles for common project contexts. Profiles are the recommended way to get started.
| Profile | Description | Includes |
|---|---|---|
local | Local-first development with no hosted CI/CD workflow files | core, book, marimo, tests |
github-project | GitHub-hosted project with CI/CD and release automation | core, github, book, marimo, tests, github-book, github-marimo, github-tests |
gitlab-project | GitLab-hosted project with GitLab CI/CD pipelines | core, gitlab, book, marimo, tests, gitlab-book, gitlab-marimo, gitlab-tests |
Declare a profile in .rhiza/template.yml:
repository: Jebel-Quant/rhiza
ref: v0.14.0
profiles:
- github-project
Note: Profiles expand to their constituent bundles including all transitive requirements.
You can combine a profile with additional bundles:
profiles:
- github-project
templates:
- docker
- github-docker
Bundles are the atomic building blocks. Feature bundles are local-first — they do not include hosted workflow files. Platform overlay bundles (prefixed github- or gitlab-) add the CI/CD workflows for a given feature.
Any bundle can be selected on its own — its dependencies are resolved and installed automatically. The Auto-installs column
Selected from shared topics, language and repository description—not editorial ratings.
Pravesh-Sudha /
A collection of real-world Python automation projects for DevOps, covering AWS, CI/CD, and cloud infrastructure management.
61/100 healthnimanzik /
A personalised collection of reusable configuration files, CI/CD pipelines, agent configurations, and custom skills for my Python project development and automation
60/100 healthanishkumarait /
A collection of battle-tested Python scripts for AWS, Kubernetes, CI/CD, and cloud automation.
/100 healthgerman-boop /
A collection of 5 high-quality Python mini projects with automation, CI/CD, and clean code structure.
44/100 healthraihamzaumer /
A hands-on collection of Python scripts tailored for DevOps automation. Includes examples for CI/CD, infrastructure management, and scripting workflows. Perfect for DevOps engineers looking to leverage Python in daily operations.
27/100 healthdaminasaws /
Create a toolkit or library that offers a collection of pre-built automation scripts or tools for common tasks. This can include tasks like file processing, data manipulation, system administration, or CI/CD workflows. You can use technologies like Python or Bash scripting to build the toolkit.
27/100 health