← ClaudeAtlas

coding-python-use-modern-librarieslisted

Use when choosing a Python library for a task (HTTP, JSON, XML, TOML, YAML, data models, enums, dates, compression, database, testing, linting and formatting, type checking, CLI parsing, retry/backoff, text encoding, layered configuration, MCP servers), writing new Python code that needs a dependency, or reviewing imports for dated defaults. For building/editing JSON/XML/YAML files specifically, see bitranox:files-edit-json, bitranox:files-edit-xml, bitranox:files-edit-yml. Public, mainstream defaults; adjust per project.
bitranox/bitranox-skills · ★ 1 · AI & Automation · score 57
Install: claude install-skill bitranox/bitranox-skills
# Modern Python library choices Default to current, well-maintained libraries over dated stdlib or legacy packages when the better option is clear. Install third-party deps via `uv` (a tool with `uvx`, or a script with PEP-723 inline metadata run by `uv run`). Libraries on this list are pre-approved: just use them and let `uv` fetch them, no need to ask. These are general public defaults, not absolutes: a project's own conventions win. ## Adding an entry Before adding a library here, vet it: trustworthy (reputable maintainer or community, not a typo-squat), common (widely adopted), and modern (actively maintained, current releases). Each new row must carry: a short **description** of what it is for (in the `Use` cell), the older library/libraries it **replaces** (in the `Avoid` cell), and - **whenever the pick is not self-evident** - **why** it is better (the parenthetical note in the `Use` cell). A swap that explains itself (`pathlib.Path` over `os.path`, `pytest` over `unittest`) needs no parenthetical; a contested or trade-off pick (`isal` vs `deflate`, one MySQL driver over another) always does. Keep rows one line; do not add anyone's private or in-house packages here. If the new library overlaps in function with an existing entry, resolve it - never leave two rows silently competing for the same job: - **Both have a place:** keep both and make the distinction explicit - state when to use which and why (e.g. one streaming vs one one-shot, sync vs async, simple vs fu