Competencies: Programming Languages > Python
Python
Body of Knowledge
| Topic | Description | Relevance | Career Tracks |
|---|---|---|---|
Python Fundamentals |
Core language features including data structures, comprehensions, generators, decorators, and context managers. Foundation for all Python-based development. |
High |
Backend, DevOps, Data |
Pydantic |
Data validation and settings management using Python type hints. Enables runtime type checking, serialization, and schema generation for APIs. |
High |
Backend, API |
Async Programming |
Asynchronous programming with async/await syntax, event loops, coroutines, and asyncio primitives for concurrent I/O operations. |
Medium |
Backend, API |
CLI Development |
Command-line interface development using Typer/Click frameworks. Includes subcommands, options, arguments, and rich terminal output. |
Medium |
DevOps, Tooling |
Type Hints & Typing |
Static type annotations, generics, Protocol, TypeVar, type checking with mypy |
High |
Backend Developer, DevOps Engineer |
Testing in Python |
pytest, fixtures, mocking, coverage, property-based testing with Hypothesis |
Critical |
Backend Developer, QA Engineer |
Package Management |
pip, uv, poetry, virtual environments, pyproject.toml, dependency resolution |
High |
Backend Developer, DevOps Engineer |
Web Frameworks |
FastAPI, Flask, Django fundamentals, ASGI/WSGI, middleware, dependency injection |
High |
Backend Developer, API Developer |
Data Science Libraries |
NumPy, Pandas, matplotlib, data manipulation, vectorized operations |
Medium |
Data Engineer, ML Engineer, Data Scientist |
ORM & Database |
SQLAlchemy, Alembic migrations, connection pooling, async database access |
High |
Backend Developer, Data Engineer |
Concurrency Models |
Threading, multiprocessing, asyncio, GIL implications, concurrent.futures |
High |
Backend Developer, Systems Developer |
Error Handling |
Exception hierarchies, context managers, logging, traceback analysis |
High |
Backend Developer, DevOps Engineer |
Personal Status
| Topic | Level | Evidence | Active Projects | Gaps |
|---|---|---|---|---|
Python Fundamentals |
Intermediate |
Learning through building — domus-api, association-engine, netapi; understand data structures, comprehensions, generators, decorators, context managers |
No formal CS background; gaps in algorithm complexity, design patterns beyond what projects demanded |
|
Pydantic |
Advanced |
domus-api models — nested validators, computed fields, model serialization, discriminated unions; association-engine node/edge schemas |
No Pydantic v2 settings management, no custom JSON schema generation |
|
Async Programming |
Intermediate |
FastAPI async endpoints; understand event loop, coroutines, asyncio.gather; httpx async client for API calls |
No asyncio.Queue, no async generators, no concurrent.futures integration |
|
CLI Development |
Intermediate |
netapi CLI built with Typer — subcommands, options, help text, rich output; understand Click underneath |
No plugin architecture, no shell completion generation |