Best-Practices
17 posts
Managing Bandit False Positives Without Breaking Security
How to handle false positives in Bandit without accidentally silencing the real vulnerabilities hiding among them. A practical guide.
Verification and Validation: Building the Right Thing Right
The difference between verification and validation, and why software teams should care about this systems engineering distinction.
Refactoring Library Interfaces
Discover techniques for improving library interfaces through thoughtful refactoring, using real-world examples while maintaining backward compatibility.
Context-Aware Library Design: Build for Your Users
Learn to design Python libraries that adapt to various user needs and experience levels, ensuring simplicity and effectiveness for all users.
Handling Deprecation: Gracefully Retiring Features
Learn to deprecate Python library features gracefully with warnings, clear communication, and migration paths that minimize disruption to your users.
McCabe Complexity: The Python Metric You Should Care About
Learn about McCabe Complexity, a key metric for code complexity. Understand, measure with tools like Ruff, and manage complexity in Python projects.
Python Logging Best Practices for Library Developers
A comprehensive guide to implementing logging in Python libraries - from basic setup to advanced patterns and common pitfalls to avoid
Documenting Your Library's API: Best Practices
Build a clear, comprehensive API reference with Sphinx & autodoc. Learn best practices for structure, content, cross-referencing your Python library docs.
Silos to Shared Libraries: Guide to Inner Source Adoption
Guide for transitioning from team-specific code to shared libraries, covering governance models, security, and standardized development practices.
Building Your Internal Library Developer Community
Explore strategies for building a thriving community of library developers in your organization through effective incentives, recognition, and collaboration.