Skip to main content

This is a little tiny wrapper around Git CLI

Project description

Littlegit

A very little Python wrapper around Git CLI.

Littlegit doesn't need any external dependency except for the Git binary to be installed in your system.

All the current, past and future commands and options of Git are fully supported.

Installation

Install Littlegit with pip:

pip install littlegit

Usage

To use Littlegit is very simple, it follows a very simple rule to map Git's commands to Littlegit's API:

  • every Git command is a method
  • every argument is a method's argument
  • every option is a method's keywords

Lets explain this with an example of initialising a local repository, adding a file and commiting:

from pathlib import Path

from littlegit import Git

repo = Git(Path("/my/local/repo"))
repo.init()  # git init /my/local/repo

open("myfile", "w").close()

repo.add("myfile")  # git add myfile
repo.commit(message="this is my first commit")  # git commit --message "this is my first commit"
repo.remote("add", "origin", "<my_remote_repo>")  # git remote add origin <my_remote_repo>
repo.push("origin", "master")  # git push origin master
print(repo.log(_1=True))  # get only the last log message

All the methods return the output if the Git command:

output = repo.branch(remote=True)  # git branch --remote
print(output)
origin/HEAD -> origin/master
origin/master

Tests

To run the unit tests install the development dependencies and then run PyTest:

pip install -r requirements_dev.txt
pytest tests.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

littlegit-0.2.0.tar.gz (2.8 kB view hashes)

Uploaded Source

Built Distribution

littlegit-0.2.0-py3-none-any.whl (3.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page