Plan du cours
Day 1 — Robust Python Foundations & Tooling
Modern Python Features and Typing
- Typing basics, generics, Protocols, and TypeGuard
- Dataclasses, frozen dataclasses, and attrs overview
- Pattern matching (PEP 634+) and idiomatic 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
Project Management and Packaging
- Dependency management with Poetry and virtual environments
- Package layout, 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 variants)
- Structural patterns: Adapter, Facade, Decorator, Proxy
- Behavioral patterns: Strategy, Observer, Command
Architectural Principles
- SOLID principles applied to Python codebases
- Hexagonal/Clean Architecture and boundaries
- Dependency injection patterns and configuration management
Modularity and Reuse
- Designing library vs application code
- APIs, stable interfaces, and semantic versioning
- Handling configuration, secrets, and environment-specific settings
Day 3 — Concurrency, Async IO, and Performance
Concurrency and Parallelism
- Threading fundamentals and the GIL implications
- Multiprocessing and process pools for CPU-bound tasks
- When to use concurrent.futures vs multiprocessing
Async Programming with asyncio
- Async/await patterns, event loop, and cancellation
- Designing async libraries and interoperability with sync code
- IO-bound patterns, backpressure, and rate limiting
Profiling and Optimization
- Profiling tools: cProfile, pyinstrument, perf, memory_profiler
- Optimizing hot paths and using C-extensions/Numba where appropriate
- Measuring latency, throughput, and resource utilization
Day 4 — Testing, CI/CD, Observability, and Deployment
Testing Strategies and Automation
- Unit testing and fixtures with pytest; test organization
- Property-based testing with 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
- Building reproducible containers with Docker and multi-stage builds
- Application observability: structured logging, Prometheus metrics, and tracing
Security, Hardening, and Best Practices
- Dependency auditing, SBOM basics, and vulnerability scanning
- Secure coding practices for input validation and secrets management
- Runtime hardening: resource limits, user rights, and container security
Capstone Project & Review
- Team lab: design and implement a small service using patterns from the course
- Testing, type-checking, packaging, and CI pipeline for the project
- Final review, code critique, and actionable improvement plan
Summary and Next Steps
Pré requis
- Strong intermediate-level Python programming experience
- Familiarity with object-oriented programming and basic testing
- Experience using the command line and Git
Audience
- Senior Python developers
- Software engineers responsible for Python code quality and architecture
- Technical leads and MLOps/DevOps engineers who work with Python codebases
Nos clients témoignent (5)
Le fait d'avoir plus d'exercices pratiques utilisant des données plus proches de ce que nous utilisons dans nos projets (images satellites en format raster)
Matthieu - CS Group
Formation - Scaling Data Analysis with Python and Dask
Traduction automatique
J'ai trouvé que le formateur était très compétent et a répondu aux questions avec assurance pour clarifier la compréhension.
Jenna - TCMT
Formation - Machine Learning with Python – 2 Days
Traduction automatique
Une très bonne préparation et expertise de la part du formateur, une communication parfaite en anglais. Le cours était pratique (exercices + partage d'exemples de cas d'utilisation)
Monika - Procter & Gamble Polska Sp. z o.o.
Formation - Developing APIs with Python and FastAPI
Traduction automatique
Les exercices étaient agréables
Vyshnavi Iyappan - Red Embedded Consulting Sp. z o.o.
Formation - Unit Testing with Python
Traduction automatique
La explanation
Wei Yang Teo - Ministry of Defence, Singapore
Formation - Machine Learning with Python – 4 Days
Traduction automatique