Files
computer-playbook/roles/dev-python
kevinveenbirkenbachandClaude Opus 4.7 2a023ca6a1 chore(lint): autoformat strict-failure semantics + claude.sh rename
* scripts/lint/autoformat.sh:
  - rename run_sort_claude_settings worker to run_claude (matches the
    renamed scripts/lint/claude.sh).
  - drop the EXIT trap that wiped status_dir; cleanup happens explicitly
    after `wait` returns, so a parallel worker that interrupts the
    parent never races a vanished status dir.
  - each worker now captures its tool's exit code and writes one of
    OK / SKIP / FAIL. Tolerated `expected violations remain`-style exits
    (markdownlint-cli2 rc≤1, ansible-lint rc≤2) still count as OK; only
    real failures count as FAIL.
  - all workers run to completion regardless of individual tool failures
    (so the user always sees the full picture); after the summary, the
    script exits 1 if any worker reported FAIL.
* scripts/lint/sort_claude_settings.sh -> scripts/lint/claude.sh
  (history preserved via git mv); update test_claude_settings_sorted.py
  fix-hint accordingly.

Plus working-tree drift across roles/, group_vars/, inventories/,
requirements/, and .pre-commit-config.yaml accumulated from the
make-test setup phase regenerating generated artefacts during recent
test runs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 01:30:49 +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.

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

Developed and maintained by Kevin Veen-Birkenbach. Learn more at veen.world. Part of the Infinito.Nexus Project. Licensed under the Infinito.Nexus Community License (Non-Commercial).