Pensé que respondería a mi propia pregunta, ya que estoy tomando un camino diferente al sugerido en las respuestas. Sin embargo, gracias a quienes respondieron.
Primero, una breve sinopsis de mis experiencias con GitPython, PyGit y Dulwich:
- GitPython : Después de descargar, importé esto y se inicializó el objeto apropiado. Sin embargo, tratar de hacer lo que se sugirió en el tutorial condujo a errores. Al carecer de más documentación, recurrí a otro lado.
- PyGit : Esto ni siquiera importaría, y no pude encontrar documentación.
- Dulwich : Parece ser el más prometedor (al menos para lo que quería y vi). Hice algunos progresos con él, más que con GitPython, ya que su huevo viene con la fuente Python. Sin embargo, después de un tiempo, decidí que podría ser más fácil probar lo que hice.
Además, StGit parece interesante, pero necesitaría la funcionalidad extraída en un módulo separado y no quiero esperar a que eso suceda en este momento.
En (mucho) menos tiempo del que pasé tratando de hacer que los tres módulos anteriores funcionen, logré que los comandos git funcionen a través del módulo de subproceso, por ejemplo
def gitAdd(fileName, repoDir):
cmd = ['git', 'add', fileName]
p = subprocess.Popen(cmd, cwd=repoDir)
p.wait()
gitAdd('exampleFile.txt', '/usr/local/example_git_repo_dir')
Esto aún no está completamente incorporado a mi programa, pero no estoy anticipando un problema, excepto tal vez la velocidad (ya que a veces estaré procesando cientos o incluso miles de archivos).
Tal vez simplemente no tuve la paciencia para poner las cosas en marcha con Dulwich o GitPython. Dicho esto, espero que los módulos tengan más desarrollo y sean más útiles pronto.