What Git library to choose?

I happen to write a lot of python code dealing with git repositories. Currently I am calling the git command line tool from python and interpret the output.

This solution really doesn't scale well. Can you recommend a python library that wraps git functionality?

I have found three:

  • GitPython: Seems to work well, but it is in maintenance mode, unlikely to be improved. It also does not have any type hints making working with it annoying.
  • pygit2: Seems well supported and has type hints. But it also seems very low level and pretty tedious to use.
  • dulwich: Looks very promising feature wise but I'm unsure how well it is supported. It seems like an ambitious project being largely done by just one person.
GammaGames ,
@GammaGames@beehaw.org avatar

Honestly if you already know all the git commands? I’d use sh

wasabi OP ,

You'd still only get strings as returns. No objects modeling git concepts.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • python@programming.dev
  • test
  • worldmews
  • mews
  • All magazines