Production-grade Python library selection and recommendations. Use when choosing libraries for HTTP clients, CLI frameworks, data validation, structured logging, JSON serialization, terminal output, or async patterns—e.g., "which library for HTTP", "modern alternatives to requests", "pydantic vs dataclasses", "structured logging setup".
Install with Tessl CLI
npx tessl i github:jjjermiah/dotagents --skill python-production-libs100
Does it follow best practices?
Validation for skill structure
Canonical library choices for production Python. Third-party when stdlib is painful; stdlib when it's good enough.
YOU MUST NOT rely on pre-trained knowledge for these libraries. APIs change frequently, and stale knowledge causes bugs. No exceptions.
IMMEDIATELY upon loading this skill:
Library without Context7 query = implementation based on stale knowledge. Every time.
Example workflow:
1. Need HTTP client → Load references/http.md
2. Get slug: /encode/httpx
3. Query: mcp_context7_query-docs(libraryId="/encode/httpx", query="async client timeout configuration")
4. Write code from fresh docsStdlib is often outdated or painful (urllib, argparse, unittest, logging for structured output). Our recommendations reflect modern Python production standards—third-party libs that have become the de facto standard.
| Domain | Use This | Not This |
|---|---|---|
| HTTP | httpx | urllib, requests |
| Logging | structlog | logging (for structured) |
| CLI | typer | argparse |
| Validation | pydantic | dataclasses (when validation needed) |
| JSON | orjson | json (when perf matters) |
| Terminal | rich | print() |
| Env vars | pydantic-settings | os.environ |
| Paths | pathlib (stdlib) | os.path |
| Dates/TZ | zoneinfo (stdlib) | pytz |
| Testing | pytest | unittest |
| Async | anyio | asyncio (for library code) |
Load the appropriate reference when working in that domain:
[project]
dependencies = [
"httpx[http2]>=0.27.0",
"pydantic>=2.10.0",
"pydantic-settings>=2.5.0",
"structlog>=24.0.0",
"typer[all]>=0.15.0",
"orjson>=3.9.0",
"rich>=13.9.0",
"python-dotenv>=1.0.0",
"anyio>=4.0.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.24.0",
"ruff>=0.9.0",
"mypy>=1.16.0",
]requests (use httpx - same API, async support, modern standard)argparse for new CLIs (use typer - industry standard)logging for JSON output (use structlog - required for structured logging)json for high-throughput (use orjson - 10x faster)If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.