Skip to Main Content
Lightning Talk Beginner First Talk

Semantic Versioning in a Multi-Package Python Monorepo

Proposal status is Rejected
Session Description

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. 

Key Takeaways

Have listed some above

References

Session Categories

Engineering practice - productivity, debugging
Technology architecture

Which track are you applying for?

Main track

Speakers

Aatman Vaidya
Aatman Vaidya Software Developer | Tattle Civic Tech

I am a Software Develoer at Tattle Civic Tech where I help build open source tools and datasets to respond to harmful and inaccurate content.