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

Python Tools, Python Learning Path

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

domus-api

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

FastAPI Async Patterns

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

netapi

No plugin architecture, no shell completion generation