libvcs - vcs abstraction layer

libvcs - abstraction layer for vcs, powers vcspull.

Python Package Docs Build Status Code Coverage License


$ pip install libvcs

Open up python:

$ python

# or for nice autocomplete and syntax highlighting
$ pip install ptpython
$ ptpython


Create a Repo object of the project to inspect / checkout / update:

>>> from libvcs.shortcuts import create_repo_from_pip_url, create_repo

# repo is an object representation of a vcs repository.
>>> r = create_repo(url='',
...                 vcs='git',
...                 repo_dir='/tmp/libtmux')

# or via pip-style URL
>>> r = create_repo_from_pip_url(
...         pip_url='git+',
...         repo_dir='/tmp/libtmux')

Update / clone repo:

# it may or may not be checked out/cloned on the system yet
>>> r.update_repo()

Get revision:

>>> r.get_revision()


Your donations fund development of new features, testing and support. Your money will go directly to maintenance and development of the project. If you are an individual, feel free to give whatever feels right for the value you get out of the project.

See donation options at