Designing and Scaling a Python Library in the Open: Architecture, Automation and Community
Camila Maia
Transcription
Building a Python library that remains reliable, maintainable, and welcoming to contributors is a challenge many projects face as they grow. This session presents ScanAPI as a real-world case study of how thoughtful engineering and automation can support both technical scalability and open source sustainability.
ScanAPI is an open-source Python library that enables automated API integration testing and live documentation using declarative specifications. Distributed via PyPI and actively maintained, the project has been adopted by developers across different contexts and was recognized by GitHub as part of initiatives focused on securing the open source supply chain.
Rather than focusing on abstract best practices, this talk dives into concrete engineering decisions made while designing and maintaining the library.
What we will cover:
- Designing a Python Library for Growth
- How the codebase is structured to separate configuration, execution, and reporting
- Organizing modules and public APIs to remain stable over time
-
Packaging decisions and CLI design for ease of use
-
Using Python Features Effectively
- Configuration-driven workflows with YAML and JSON
- Validation, error handling, and predictable failures
-
Type hints and interfaces to improve readability and contributor confidence
-
Automation as a First-Class Concern
- Continuous integration with GitHub Actions
- Unit and integration testing strategies
-
Automated releases, versioning, and dependency management
-
Developer Experience and Adoption
- Documentation and live reports as part of the product, not an afterthought
- Lowering the barrier for new users and contributors
-
Tooling choices that reduce cognitive load
-
Community and Sustainability
- Contribution guidelines and governance models
- How open collaboration scales better than individual ownership
- The role of the Cumbuca Dev open source community in sustaining the project
By the end of the talk, attendees will have a clear mental model for designing Python libraries that can scale technically and socially. The lessons shared are applicable to anyone maintaining or planning to publish Python libraries, whether in personal projects, companies, or community-driven initiatives.