Open szaghi opened 9 years ago
Thanks for the info. I've more or less settled on click for the CLI. I knew there were Python libraries for dealing with git, although I wasn't aware there were quite so many!
@cmacmackin Wonderful, I am curious to see click in action, I never used it :-)
In python there are always n
different ways for doing one things...
See the main driver
https://github.com/Fortran-FOSS-programmers/FLATPack/blob/master/src/main/python/flatpack/flatpack.py
and the subcommands
https://github.com/Fortran-FOSS-Programmers/FLATPack/tree/master/src/main/python/flatpack/commands
At present I haven't added the code for any arguments or options. Everything is just a stub.
I've looked at the git libraries. github3.py and PyGithub are just for the GitHub API, as the names suggest. While those may be useful at some time in the future, for now I wasn't planning to use that.
Gittle looks very easy to use, but its documentation is a bit sparse. More concerning is that, at present, it doesn't work with Python 3. dulwich and GitPython both look very powerful, but also appear to be harder to use. They require a bit more knowledge of git's plumbing, rather than just the porcelain. In particular, I'm amazed by how difficult it seems to be just to checkout a commit. Of these two, I'd be more inclined to go with dulwich, as it is pure Python, whereas GitPython has to pipe things through the shell.
At this point, I guess that Chris has chosen python. Here I would like to list available python modules that should help Chris to avoid reinvent the wheel. I start with the following list hoping that your experiences improve it.
Git
UI (CLI)