Focused notes from real bug fixes across the Python open-source ecosystem.
This repository collects small, concrete debugging write-ups: what broke, how the failure was reproduced, what made the fix minimal, and what test closed the loop. The goal is to make real maintenance work easier to study than a long commit history or a closed pull request tab.
- Short postmortems for parser, scientific Python, data tooling, serialization, and packaging bugs.
- A checklist for turning a failing behavior into a focused pull request.
- Links to upstream issues and PRs where possible.
- Reproduce the failure with the smallest input that still fails.
- Identify the contract being violated.
- Add or update one targeted regression test.
- Make the smallest code change that satisfies the contract.
- Run the narrow test first, then the relevant package test slice.
- Keep the pull request body factual: bug, cause, fix, verification.
| Area | Example failure mode | Note |
|---|---|---|
| Parsers | Valid input rejected or round-tripped incorrectly | Parser fixes |
| Scientific Python | Numerical edge case, shape mismatch, or unstable assumption | Scientific Python fixes |
| Data tooling | Serialization, formatting, or schema behavior drift | Data tooling fixes |
- feedparser: Anchoring Author Email Parsing
- mistune: Preserving RST List Item State
- pyserde: Union Argument Order and Optional Cache Reuse
- mwparserfromhell: Empty-Title Wikilink Filtering
- py7zr: Requiring Passwords for Explicit Crypto Filters
- PyMeasure: Explicit SRS Auxiliary Output Formatting
- sqlparse: Keeping Oracle Procedure Declarations Together
- trimesh: OBJ/MTL Optional Property Round-Trips
## Summary
- Explain the user-visible bug.
- Explain the minimal fix.
## Test
- List the exact command used.Many useful open-source contributions are small: a one-line formatting fix, a missing edge-case test, or a parser branch that should have accepted valid input. Those fixes are easy to overlook, but they are also the best way to learn maintainable debugging.
This repo is a public index of that work.