Metadata-Version: 2.1
Name: libvcs
Version: 0.12.0b16
Summary: vcs abstraction layer
Home-page: http://github.com/vcs-python/libvcs/
License: MIT
Keywords: libvcs,git,mercurial,hg,svn
Author: Tony Narlock
Author-email: tony@git-pull.com
Requires-Python: >=3.9,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: System :: Shells
Classifier: Topic :: Utilities
Provides-Extra: coverage
Provides-Extra: docs
Provides-Extra: format
Provides-Extra: lint
Provides-Extra: test
Project-URL: Bug Tracker, https://github.com/vcs-python/libvcs/issues
Project-URL: Changes, https://github.com/vcs-python/libvcs/blob/master/CHANGES
Project-URL: Documentation, https://libvcs.git-pull.com
Project-URL: Repository, https://github.com/vcs-python/libvcs
Description-Content-Type: text/markdown

# `libvcs` &middot; [![Python Package](https://img.shields.io/pypi/v/libvcs.svg)](https://pypi.org/project/libvcs/) [![License](https://img.shields.io/github/license/vcs-python/libvcs.svg)](https://github.com/vcs-python/libvcs/blob/master/LICENSE) [![Code Coverage](https://codecov.io/gh/vcs-python/libvcs/branch/master/graph/badge.svg)](https://codecov.io/gh/vcs-python/libvcs)

libvcs is an abstraction layer for vcs systems. powers
[vcspull](https://www.github.com/vcs-python/vcspull/).

## Setup

```console
$ pip install --user libvcs
```

Open up python:

```console
$ python
```

Or for nice autocompletion and highlighting:

```console
$ pip install --user ptpython
```

```console
$ ptpython
```

## Usage

Create a [Repo](https://libvcs.git-pull.com/api.html#creating-a-repo-object) object of the project
to inspect / checkout / update:

```python
>>> 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:

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

Get revision:

```python
>>> r.get_revision()
u'5c227e6ab4aab44bf097da2e088b0ff947370ab8'
```

## Donations

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: 3.9+, 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/history.html>
- API: <https://libvcs.git-pull.com/api.html>
- Issues: <https://github.com/vcs-python/libvcs/issues>
- 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](https://opensource.org/licenses/MIT).

[![Docs](https://github.com/vcs-python/libvcs/workflows/docs/badge.svg)](https://libvcs.git-pull.com/)
[![Build Status](https://github.com/vcs-python/libvcs/workflows/tests/badge.svg)](https://github.com/vcs-python/libvcs/actions?query=workflow%3A%22tests%22)

