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.
  • Gamma
    link
    fedilink
    English
    25 months ago

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

      • Gamma
        link
        fedilink
        English
        1
        edit-2
        5 months ago

        Fair point, I usually use exit codes

    • Martin
      link
      fedilink
      25 months ago

      We have historically used GitPython a lot, but in a recent project I tried git via sh instead. It works great. If you already know the git cli, this feels very ergonomic to use.