Files
computer-playbook/roles/dev-python
kevinveenbirkenbachandClaude Opus 4.8 90b3845998 feat(readme): role README generator with Cosmos diagrams, Quick Setup, and lint
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>
2026-07-17 14:44:33 +02:00
..
…
…

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/python3 and /usr/local/bin/pip3.
  • Persona Integration: Extends dev-core with 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).