Course Outline
Day 1 — Robust Python Foundations & Tooling
Modern Python Features and Typing
- Basics of typing, generics, protocols, and TypeGuard
- Overview of dataclasses, frozen dataclasses, and attrs
- Pattern matching (PEP 634+) and best practices for usage
Code Quality and Tooling
- Code formatters and linters: black, isort, flake8, ruff
- Static type checking with MyPy and pyright
- Pre-commit hooks and developer workflows for government projects
Project Management and Packaging
- Dependency management using Poetry and virtual environments
- Best practices for package layout, entry points, and versioning in government applications
- Building and publishing packages to PyPI and private registries for government use
Day 2 — Design Patterns & Architectural Practices
Design Patterns in Python
- Creational patterns: Factory, Builder, Singleton (Pythonic variants)
- Structural patterns: Adapter, Facade, Decorator, Proxy
- Behavioral patterns: Strategy, Observer, Command
Architectural Principles
- SOLID principles applied to Python codebases for government projects
- Hexagonal/Clean Architecture and boundary management in public sector applications
- Dependency injection patterns and configuration management for government systems
Modularity and Reuse
- Designing library code versus application-specific code for government use
- APIs, stable interfaces, and semantic versioning in public sector software
- Handling configuration, secrets, and environment-specific settings for secure government operations
Day 3 — Concurrency, Async IO, and Performance
Concurrency and Parallelism
- Fundamentals of threading and implications of the Global Interpreter Lock (GIL)
- Multiprocessing and process pools for CPU-bound tasks in government applications
- Choosing between concurrent.futures and multiprocessing for optimal performance in public sector projects
Async Programming with asyncio
- Patterns for async/await, event loops, and cancellation in government systems
- Designing asynchronous libraries and ensuring interoperability with synchronous code for government use
- Handling IO-bound operations, backpressure, and rate limiting in public sector applications
Profiling and Optimization
- Profiling tools: cProfile, pyinstrument, perf, memory_profiler for government projects
- Optimizing critical paths and using C-extensions/Numba where appropriate for government performance needs
- Measuring latency, throughput, and resource utilization in public sector applications
Day 4 — Testing, CI/CD, Observability, and Deployment
Testing Strategies and Automation
- Unit testing with pytest, including fixtures and test organization for government projects
- Property-based testing with Hypothesis and contract testing for robust government applications
- Mocking, monkeypatching, and testing asynchronous code in public sector systems
CI/CD, Release, and Monitoring
- Integrating tests and quality gates into GitHub Actions/GitLab CI for government workflows
- Building reproducible containers with Docker and multi-stage builds for government deployment
- Application observability: structured logging, Prometheus metrics, and tracing for government systems
Security, Hardening, and Best Practices
- Dependency auditing, Software Bill of Materials (SBOM) basics, and vulnerability scanning for government applications
- Secure coding practices for input validation and secrets management in public sector projects
- Runtime hardening: resource limits, user rights, and container security for government systems
Capstone Project & Review
- Team lab: design and implement a small service using patterns from the course for government use
- Testing, type-checking, packaging, and CI pipeline setup for the project in a government context
- Final review, code critique, and actionable improvement plan for government applications
Summary and Next Steps
Requirements
- Proficient intermediate-level Python programming experience
- Familiarity with object-oriented programming principles and basic testing methodologies
- Demonstrated ability to use the command line and Git for version control
Audience
- Senior Python developers working for government agencies or contractors
- Software engineers responsible for maintaining high standards of Python code quality and architecture in public sector projects
- Technical leads and MLOps/DevOps engineers who manage Python codebases within government environments
Testimonials (5)
The number of users is correct. The trainer delivered the information with enthusiasm.
Alberto Rivas - SEG AUTOMOTIVE SPAIN, S.A.U.
Course - Python Programming - 4 days
The fact of having more practical exercises using more similar data to what we use in our projects (satellite images in raster format)
Matthieu - CS Group
Course - Scaling Data Analysis with Python and Dask
I thought the trainer was very knowledgeable and answered questions with confidence to clarify understanding.
Jenna - TCMT
Course - Machine Learning with Python – 2 Days
Very good preparation and expertise of a trainer, perfect communication in English. The course was practical (exercises + sharing examples of use cases)
Monika - Procter & Gamble Polska Sp. z o.o.
Course - Developing APIs with Python and FastAPI
The explaination