TVM: Tutor Version Manager

Hi everyone! at the Open edX conference 2022, we talked about TVM and we have been working hard to release it since then. We’d love to share the results with you :grin:

What is TVM?

TVM is the acronym for Tutor Version Manager. It manages Tutor versions and enables switching between them.

What does TVM provide?

If you are like us that work on different projects with different tutor versions, TVM helps you with this. You can switch between global tutor versions installed with some commands.

Also if you want to set one directory as TUTOR_ROOT and work with multiple terminals without set variables on each one, you can do it with TVM.

Is that all? No.
With TVM you can install different tutor plugins on each tutor version without any problems.

TVM is also a Tutor enVironment Manager, what does it mean?

With TVM you can create TVM projects, and have different Tutor versions on each one, with their own tutor root variables.

Where can I find more info about TVM?

eduNEXT - TVM Repository
eduNEXT - TVM Discussions


  • TVM is a tool developed and supported by eduNEXT, if you have some issue, feature request, or contribution, please do it using the channels on GitHub or contact one TVM-maintainer.

  • This is the first release version of eduNEXT’s internal tool TVM, which has been used by our team for a few months.

Please share with us your thoughts and feedback on this!


Hello @Alecar,

Thank you for sharing this tool.

I believe it will significantly simplify the guide I wrote recently about custom Tutor images/edx-platform forks. FAQ: Running an edx-platform Fork with Tutor - #2 by uetuluk

Edit: I have added a new version of the Quickstart that uses TVM. FAQ: Running an edx-platform Fork with Tutor - #4 by uetuluk


We’ll be doing a live stream about TVM with Alejandro 2022-05-24T12:00:00Z on the Overhang.IO channel: [Tutor Live Dev] Introducing the Tutor Environment Manager ("tvm") by eduNEXT - YouTube :movie_camera:


@Alecar @Felipe Great to see this, thank you for publishing it! :+1: :smiley:

Do you know if there are some areas of TVM which overlap with the elements being discussed in Tech talk/demo: Deploying multiple Open edX instances onto a Kubernetes Cluster with Tutor - #49 by keithgg ? Or is it completely separate and orthogonal to it?

FYI @gabor @keithgg @braden

Happy that you like it @antoviaque. Now I do think this is completely separate and orthogonal, since this work makes it easy to run multiple copies of tutor in the same laptop. Each of those copies could be managing a different cluster or no cluster at all. This makes it mostly un-related to k8s.

1 Like

By the way, I said that I was going to tag you when this was published @Agrendalath.

1 Like