Ecosystem for Reliable Python Programming
summary
Describes concrete practices and tools for making Python systems more reliable: static typing and linters (mypy, pylint), API-first/spec-driven development (OpenAPI/Swagger), automated testing and CI with pytest, tox, and coverage, plus mutation testing, chaos-style fault injection, and helpers like freezegun and factory_boy. Presents real-world harms (service outages, medical errors, large productivity and financial losses) and shows these methods being used in organizations to generate quick tests and catch regressions in pipelines.
AI-written summary · about
chapters (22)
- 0:00Reliable Python intro
- 1:44What reliability is
- 4:36Software error effects
- 6:18Economic losses from errors
- 8:01Fix cost by stage
- 10:08Professional standards
- 10:51Technologies for quality
- 13:46API specs for interfaces
- 15:09Culture of automated testing
- 15:30Unit and integration tests
- 17:18API testing with web tests
- 19:26Tox for running tests
- 20:06Acceptance tests BDD
- 22:36Testability and manageability
- 24:00Test data and time
- 26:08Test quality and coverage
- 27:34Mutation testing
- 29:20Handling failures with Retry
- 31:06Steps to implement
- 35:18Web service testing CI/CD
- 37:54Testing in MVP agile
- 40:29Q&A
related talks
51mTaking Python beyond scripting
34mSecure Python Development: Tips, Tricks, and Tools
41mThe Snake in the Tar Pit: Complex Systems with Python
22mPublishing well formed Python packages
01h 10mKeynote 2: Robust Python and Why It Matters
26mCLI, CI, DIY: Crafting Python Based Dev Tools in a DevOps Vacuum
38mBuilding Data Pipelines in Python
31mGuardrails: An Alternative View of Safely Working in Python
