Lesson 23 of 34
Python Package Field Guide
PyPI has hundreds of thousands of . This guide points you to the ones worth learning first and what each is good for.
Start with the : pathlib, json, csv, sqlite3, argparse, logging, subprocess, tkinter, asyncio, and unittest already ship with Python. Add a third-party when it meaningfully improves ergonomics or provides a capability Python does not include.
WEB & APIs
requests / httpx Friendly HTTP clients
FastAPI Typed, async APIs with automatic docs
Flask Small, flexible web applications
Django Full-stack sites with ORM, auth, and admin
Beautiful Soup Parse HTML you are allowed to collect
DATA & SCIENCE
numpy Fast numerical arrays
pandas / polars Tables, cleaning, joins, and analytics
matplotlib / seaborn Charts and statistical visualization
scikit-learn Classical machine learning
Jupyter Interactive notebooks
AUTOMATION & APPS
rich Color, tables, progress bars, tracebacks
typer Type-hinted command-line applications
click Mature composable CLI framework
paramiko SSH and SFTP automation
Pillow Image reading, conversion, and editing
openpyxl Read and write Excel .xlsx files
QUALITY & SHIPPING
pytest Expressive testing
ruff Very fast linting and formatting
mypy / pyright Static type checking
pydantic Runtime validation from type hints
python-dotenv Load local environment variables
build / twine Build and publish packages# Explore before installing
python -m pip index versions rich
python -m pip show rich
# Install into an active virtual environment
python -m pip install requests rich typer
# Record direct and transitive dependencies
python -m pip freeze > requirements.txt
python -m pip install -r requirements.txt
# See outdated packages; update intentionally, not blindly
python -m pip list --outdated
python -m pip install --upgrade richBuild ideas by difficulty — Beginner: file organizer, duplicate finder, image resizer, Markdown link checker, habit tracker, expense CSV reporter. Intermediate: weather dashboard, API client, SQLite inventory app, SFTP backup tool, log analyzer, desktop Pomodoro timer. Advanced: job , collaborative API, deployment dashboard, package dependency auditor, or local search engine.
Tip: use the ← and → keys to move between lessons.