
Streamlit: The Rerun Model Before the Widgets
Streamlit turns a Python script into a data app by rerunning the whole file. Covers session state, cache, Community Cloud caps, and when FastAPI wins.

Streamlit turns a Python script into a data app by rerunning the whole file. Covers session state, cache, Community Cloud caps, and when FastAPI wins.

Python wins data, ML, and automation; JavaScript wins the browser, and Node.js wins I/O-heavy APIs. If you can pick only one, pick the job.

A Python context manager is the with protocol: __enter__/__exit__, contextlib helpers, custom classes, and async with. Files are an example, not the definition.

A Python decorator is a function that returns another function, usually applied with @wrapper syntax so the returned callable replaces the original name.

Compare three Python linters: Ruff, Flake8, and Pylint. Speed, rule coverage, Flake8 drop-in vs Pylint residual, VS Code setup, and when to keep each one.

Scrapy is a crawl framework, not a parser. Learn the Engine loop, spiders, item pipelines, and when a requests + BeautifulSoup script still wins.

LlamaIndex for Python: RAG, agents, LlamaParse, LiteParse v2.1, vs LangChain, and the silent OpenAI fallback.


Pydantic AI v2: type-safe Python agents with structured outputs, DI, and Logfire. Covers v2.0.0 Capabilities, deterministic evals, and LangChain comparison.

mypy catches 57% of type errors by default; pyright catches 97%. But mypy 2.1 now outruns pyright on batch CI. Here is the full 2026 breakdown.

Ruff has overtaken Black in monthly downloads and runs 30x faster. Here is when to switch and when to stay.

pytest wins on features and developer adoption; unittest ships with Python. The practical story: pytest runs unittest tests natively, so most teams use both.