Get in Touch
Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.

Course Outline

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

Requirements

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

Number of participants


Price per participant

Testimonials (3)

Upcoming Courses

Related Categories

Morty Proxy This is a proxified and sanitized view of the page, visit original site.