Sign in or create a free account to continue.

Packaging, Deployment and DevOps for Python

Shipping Python software: packaging, continuous integration, containers, configuration, deployment and monitoring.

PYTH-260 Year 2 3 credits 12 lessons · 4 h 39 min ▶ Video lessons coming soon

Offered by HSM University · Python Programming

This is the American version of this course. See the Canadian version.

What you'll learn

  • Explain what changes when a script becomes a product, and apply reproducibility and automation to remove manual, undocumented steps.
  • Lay out a Python project with the src layout and describe it completely in pyproject.toml, including extras, dependency groups and entry points.
  • Build sdists and wheels, read wheel filename tags, and publish packages safely to public or private indexes.
  • Choose version constraints for libraries and applications, generate hashed lock files, and keep dependencies current and audited.
  • Write a continuous integration workflow with a test matrix, ordered jobs, caching and required status checks.
  • Package an application as a small, secure container image with a multi-stage Dockerfile, and run it with Docker Compose.
  • Load typed configuration from the environment with clear precedence, and store, inject, rotate and scan for secrets correctly.
  • Deploy a web application behind a production server and load balancer, with health checks, safe migrations and graceful shutdown.
  • Choose a cloud hosting model, describe infrastructure as code, and release with blue-green or canary deployments and practiced rollbacks.
  • Instrument an application with structured logs, metrics, percentiles, traces and SLO-based alerts.
  • Version releases with semantic versioning, pre-releases and deprecation, and generate changelogs and tags from conventional commits.
  • Assemble and operate a complete deployment pipeline from commit to production, with release checks, smoke tests and a runbook.

Course content

12 lessons · 4 h 39 min total · final exam

  1. 1 From script to product 26 min · quiz
  2. 2 Project layout and pyproject.toml 23 min · quiz
  3. 3 Building and publishing packages 23 min · quiz
  4. 4 Dependency management 21 min · quiz
  5. 5 Continuous integration pipelines 23 min · quiz
  6. 6 Containers with Docker 22 min · quiz
  7. 7 Configuration and secrets 24 min · quiz
  8. 8 Deploying web applications 23 min · quiz
  9. 9 Deploying to the cloud 23 min · quiz
  10. 10 Monitoring and logging in production 23 min · quiz
  11. 11 Releases and versioning 23 min · quiz
  12. 12 Capstone: a deployment pipeline 25 min · quiz
  13. E Final exam 20 questions

Requirements

Recommended background. You can start any course at any time.

Description

Shipping Python software: packaging, continuous integration, containers, configuration, deployment and monitoring.

Part of the Information Technology stream, typically taken in year 2.