Get in Touch
 Duration 28 hours

Course Outline

Day 1 — Robust Python Foundations & Tooling

Modern Python Features and Typing

  • Typing fundamentals, generics, Protocols, and TypeGuard
  • Dataclasses, frozen dataclasses, and an overview of attrs
  • Pattern matching (PEP 634+) and idiomatic application

Code Quality and Tooling

  • Code formatters and linters: black, isort, flake8, ruff
  • Static type checking using MyPy and pyright
  • Pre-commit hooks and streamlined developer workflows

Project Management and Packaging

  • Dependency management via Poetry and virtual environments
  • Package structure, entry points, and versioning best practices
  • Building and publishing packages to PyPI and private registries

Day 2 — Design Patterns & Architectural Practices

Design Patterns in Python

  • Creational patterns: Factory, Builder, Singleton (Pythonic adaptations)
  • Structural patterns: Adapter, Facade, Decorator, Proxy
  • Behavioral patterns: Strategy, Observer, Command

Architectural Principles

  • Application of SOLID principles within Python codebases
  • Hexagonal/Clean Architecture and system boundaries
  • Dependency injection patterns and configuration management

Modularity and Reuse

  • Distinguishing between designing library code and application code
  • APIs, stable interfaces, and semantic versioning
  • Managing configuration, secrets, and environment-specific settings

Day 3 — Concurrency, Async IO, and Performance

Concurrency and Parallelism

  • Threading fundamentals and the implications of the GIL
  • Multiprocessing and process pools for CPU-bound tasks
  • Selecting between concurrent.futures and multiprocessing

Async Programming with asyncio

  • Async/await patterns, event loops, and cancellation mechanisms
  • Designing asynchronous libraries and ensuring interoperability with synchronous code
  • IO-bound patterns, backpressure management, and rate limiting

Profiling and Optimization

  • Profiling utilities: cProfile, pyinstrument, perf, memory_profiler
  • Optimising hot paths and utilising C-extensions/Numba where suitable
  • Measuring latency, throughput, and resource utilisation

Day 4 — Testing, CI/CD, Observability, and Deployment

Testing Strategies and Automation

  • Unit testing and fixture management with pytest; test organisation
  • Property-based testing using Hypothesis and contract testing
  • Mocking, monkeypatching, and testing asynchronous code

CI/CD, Release, and Monitoring

  • Integrating tests and quality gates into GitHub Actions/GitLab CI
  • Constructing reproducible containers with Docker and multi-stage builds
  • Application observability: structured logging, Prometheus metrics, and tracing

Security, Hardening, and Best Practices

  • Dependency auditing, SBOM fundamentals, and vulnerability scanning
  • Secure coding practices for input validation and secrets management
  • Runtime hardening: resource limits, user permissions, and container security

Capstone Project & Review

  • Team lab: designing and implementing a small service using course patterns
  • Testing, type-checking, packaging, and CI pipeline setup for the project
  • Final review, code critique, and formulation of an actionable improvement plan

Summary and Next Steps

Requirements

  • Solid intermediate-level Python programming proficiency.
  • Working familiarity with object-oriented programming concepts and fundamental testing practices.
  • Proficiency in using the command line and Git.

Target Audience

  • Senior Python developers.
  • Software engineers accountable for Python code quality and architecture.
  • Technical leads, MLOps/DevOps engineers, and professionals working within Python codebases.

Custom Corporate Training

Training solutions designed exclusively for businesses.

  • Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
  • Flexible Schedule: Dates and times adapted to your team's agenda.
  • Format: Online (live), In-company (at your offices), or Hybrid.
Investment

Price per private group, online live training, starting from 5200 € + VAT*

Contact us for an exact quote and to hear our latest promotions

Testimonials (2)

Provisional Upcoming Courses (Contact Us For More Information)

Related Categories