To the best of my knowledge, there are currently no widely adopted or out-of-the-box tools that support automated semantic versioning for Python monorepos containing multiple packages. As the ecosystem around AI, Data Science continues to grow, many projects now consist of multiple interdependent packages. This is often to support diverse operations using different ML models, or to organize separate workflows within one cohesive project. LlamaIndex is an example of one such FOSS project that is a monorepo with a multi-package system.
The experience of developing in such codebases is a bit easy(ish). One might just focus on developing a single package that is self contained. But Maintaining is hard! An important thing you want in a monorepo is consistency. Even a slight difference in the way tests are executed or packages are built can complicate cross-platform support and turn versioning across the monorepo into a nightmare. Hence there is a need to have an automated system that can detect changes and apply the appropriate semantic version bumps to each affected package.
Instead of looking at how too many cooks spoiled the broth, we will look at how to manage too many cooks making the broth?
Through this lightning talk:
Walk through semantic versioning in a software project
Introduce the challenges of maintaining a monorepo with a multi-pacakge system
How to perform automated versioning?
Share best practices for structuring and writing such codebases
The talk is intended for people curious about maintaining a software project in python, software developers, or anyone interested in learning a different CI/CD approach.
Have listed some above
Thank you for submitting your proposal for IndiaFOSS 2025. Your submission was well-received and progressed to our final review stages.
Unfortunately, due to the high volume of excellent proposals this year, we were unable to select your talk for the final program. We appreciate the effort you put into your submission and encourage you to apply again for future events.