Add cli/build/readme: derives each role README's managed sections from templates/roles/README.md.j2.tmpl (the Cosmos mermaid diagram from meta/services.yml, an invokable-gated Quick Setup, and Credits). The Cosmos diagram shows dependencies, every declared service, and dependents (roles that consume this one, matched by role name and by provides provision-name in both directions). Role nodes carry deploy-mode emoji markers (compose/swarm/host); disabled and shared services get a stop mark; dependents are capped at 12. test_readme enforces the Quick Setup body is byte-exact with the template render. `make readme-generate` and `make cosmos` regenerate; `make cosmos` also runs inside `make quality`. Refactor: utils/symbol_glossary.py is the single source of truth for the word/emoji mapping (unique project-wide), consumed by the complexity matrix and the Cosmos builder. utils/roles/deploy.py holds role_has_stack and role_deploy_modes, shared by both so the logic never drifts. Add `make lint-mermaid` and its CI workflow, rendering every diagram via mermaid-cli; the render step provisions chrome-headless-shell and unzip on demand so it works in the minimal container. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Python Development Utilities
Description
This Ansible role sets up a Python development environment on Arch Linux. It includes Python itself, the pip package manager, and builds on the general developer persona to support scripting, application development, data science, and more.
Learn more at the Python Official Site, the Arch Wiki - Python, and Wikipedia – Python.
Overview
This role provides the essential tooling for Python developers, enabling immediate use of python and pip from the command line. It supports both general-purpose scripting and advanced software engineering workflows.
Cosmos
The diagram places Python Development Utilities in the Infinito.Nexus cosmos: the components it deploys (capabilities), the central services it consumes (dependencies), and its outward reach (federation and bridged external networks).
flowchart LR
subgraph role [dev-python 💻]
svc_python["python"]
end
Purpose
To simplify and standardize the provisioning of Python-ready environments for developers, students, data scientists, and automation engineers.
Features
- Installs Python and Pip: Ensures the interpreter and package manager are available.
- Prefers Python 3.11+: Installs Python 3.11+ where available and makes it the default via
/usr/local/bin/python3and/usr/local/bin/pip3. - Persona Integration: Extends
dev-corewith Python-specific tools. - Foundation for Further Stacks: Ideal starting point for Flask, Django, scientific computing, and automation.
Supported distro families in the installer script:
- Arch Linux
- Debian
- Ubuntu
- Fedora
- CentOS / RHEL
Customization
Easily extend this role with:
- Python virtualenv tools (
python-virtualenv,pyenv) - Popular libraries (
numpy,requests,flask) - Framework-specific roles (e.g.,
dev-python-django)
Credits
Implemented by Kevin Veen-Birkenbach. Part of the Infinito.Nexus Project and maintained by Kevin Veen-Birkenbach. Licensed under the Infinito.Nexus Community License (Non-Commercial).