Get in Touch

Course Outline

Day 1 — Solid Python Foundations & Developer Tools

Contemporary Python Features and Type Systems

  • Foundations of type hinting, generic types, Protocols, and TypeGuard utilities
  • Overview of dataclasses, immutable dataclasses, and the attrs library
  • Implementation and best practices for structural pattern matching (PEP 634+)

Code Integrity and Development Workflows

  • Configuration and usage of formatters and linters: black, isort, flake8, ruff
  • Static type analysis using MyPy and pyright
  • Integration of pre-commit hooks and optimized developer routines

Project Administration and Packaging Strategies

  • Managing dependencies via Poetry and isolating environments using virtual setups
  • Optimal package structures, entry point definitions, and semantic versioning guidelines
  • Processes for building and publishing packages to PyPI and internal registries

Day 2 — Design Patterns & Architectural Frameworks

Application of Design Patterns in Python

  • Object creation patterns: Factory, Builder, and Singleton (including Python-specific adaptations)
  • Composition patterns: Adapter, Facade, Decorator, and Proxy
  • Behavior management patterns: Strategy, Observer, and Command

Architectural Core Principles

  • Application of SOLID principles within Python codebases
  • Hexagonal/Clean Architecture concepts and domain boundaries
  • Techniques for dependency injection and effective configuration handling

Modularity and Code Reusability

  • Differentiating design approaches for libraries versus application logic
  • Defining stable APIs, interfaces, and semantic versioning standards
  • Strategies for managing configuration files, secrets, and environment-specific variables

Day 3 — Concurrency, Asynchronous I/O, and Performance Tuning

Concurrency and Parallel Processing

  • Basics of threading and understanding the Global Interpreter Lock (GIL) constraints
  • Utilizing multiprocessing and process pools for CPU-intensive workloads
  • Decision frameworks for choosing between concurrent.futures and multiprocessing

Asynchronous Programming via asyncio

  • Mastery of async/await syntax, event loop mechanics, and task cancellation
  • Architecting asynchronous libraries and ensuring compatibility with synchronous code
  • Handling I/O-bound tasks, implementing backpressure, and managing rate limits

Performance Profiling and Optimization

  • Utilization of profiling utilities: cProfile, pyinstrument, perf, and memory_profiler
  • Refining critical code paths and leveraging C-extensions or Numba for speed improvements
  • Metrics tracking for latency, throughput, and resource consumption

Day 4 — Testing, CI/CD, Observability, and Release Strategies

Testing Methodologies and Automation

  • Unit test design and fixture management with pytest; structuring test suites
  • Property-based testing via Hypothesis and contract verification
  • Techniques for mocking, monkeypatching, and validating asynchronous code

CI/CD, Release Management, and Monitoring

  • Incorporating test suites and quality checks into GitHub Actions/GitLab CI pipelines
  • Creating reproducible Docker images using multi-stage build strategies
  • Implementing application observability through structured logs, Prometheus metrics, and distributed tracing

Security, Hardening, and Operational Best Practices

  • Dependency audits, Software Bill of Materials (SBOM) fundamentals, and vulnerability detection
  • Secure coding standards for input validation and credential management
  • Runtime security measures: resource constraints, permission scoping, and container safety

Capstone Assignment & Evaluation

  • Collaborative lab: designing and building a microservice utilizing course-covered patterns
  • Implementation of testing, type-checking, packaging, and CI automation for the assignment
  • Final assessment, peer code review, and development of an actionable improvement roadmap

Conclusion and Future Directions

Requirements

  • Solid proficiency in intermediate-level Python programming
  • Working knowledge of object-oriented principles and fundamental testing procedures
  • Practical experience with command-line interfaces and Git version control

Intended Learners

  • Experienced Python developers
  • Engineers tasked with maintaining code integrity and architectural design in Python projects
  • Technical leaders and MLOps/DevOps specialists managing Python-based codebases
 28 Hours

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories