⚙️ vcs abstraction layer
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


libvcs - abstraction layer for vcs, powers vcspull.

Python Package Documentation Status 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='https://www.github.com/vcs-python/libtmux',
...                 vcs='git',
...                 repo_dir='/tmp/libtmux')

# or via pip-style URL
>>> r = create_repo_from_pip_url(
...         pip_url='git+https://www.github.com/vcs-python/libtmux',
...         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 https://www.git-pull.com/support.html.

More information

Python support Python 2.7, >= 3.4, pypy
VCS supported git(1), svn(1), hg(1)
Source https://github.com/vcs-python/libvcs
Docs https://libvcs.git-pull.com
Changelog https://libvcs.git-pull.com/en/latest/history.html
API https://libvcs.git-pull.com/en/latest/api.html
Issues https://github.com/vcs-python/libvcs/issues
Travis https://travis-ci.org/vcs-python/libvcs
Test Coverage https://codecov.io/gh/vcs-python/libvcs
pypi https://pypi.python.org/pypi/libvcs
Open Hub https://www.openhub.net/p/libvcs
License MIT.
git repo
$ git clone https://github.com/vcs-python/libvcs.git
install dev
$ git clone https://github.com/vcs-python/libvcs.git libvcs
$ cd ./libvcs
$ virtualenv .venv
$ source .venv/bin/activate
$ pip install -e .
$ py.test