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
 28 Hours

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses

Related Categories