Skip to main content

Python wrapper for Veracity's command-line interface.

Project description


This library provides a Python wrapper for Veracity’s command-line interface. It includes objects for repositories, working copies, and other commonly-used items. The library also installs several command-line tools to work with Veracity’s distributed build tracking features.


0.0.x releases are experimental and interfaces will likely change.

Getting Started


  • Python 3.3
  • Veracity 2.5



The package can be installed using pip:

pip install python-veracity

or directly from source:

python install

After installation, it is available under the name veracity:

>>> import veracity
>>> veracity.__version__

>>> from veracity import vv
>>> vv.version()
>>> vv.repos()

Scripting Interface

A sample script might look similar to the following:

#!/usr/bin/env python

from veracity import Repository, WorkingCopy, Item

# Clone a repo
repo = Repository('veracity', remote='')

# Display Repository attributes
print repo.users
print repo.branches
print repo.tags

# Check out a working copy (from a Repository)
work = repo.checkout("~/v/veracity")

# Check out a working copy (by repo name)
work = WorkingCopy("~/v/veracity", repo='veracity')

# Change some files
item = Item('docs/GettingStarted.txt', work=work)

Build Tracking

This package also installs a set of command-line tools to work with Veracity’s Build Tracking feature:


In your master branch, create a setup.cfg similar to the following:


repositories = python-veracity
series = N, C
environments = W, M, L
virtualenv = True


N_branches = *
N_command = [ $( date "+%H" ) = 00 ]
N_command-nt = if %TIME:~0,2%==00 (exit /b 0) else (exit /b 1)
N_sleep = 60 * 30
N_start = Q

C_branches = master, develop, feature-*, release-*, hotfix-*
C_sleep = 60
C_start = Q


U_enter = Q
U_path = .
U_command = make depends
U_fail = UF

B_enter = U
B_path = .
B_command = make install
B_fail = BF

T_enter = B
T_path = .
T_command = make test
T_fail = TF

C_enter = T
C_path = .
C_command = make check
C_fail = CF
C_exit = D

The series, environments, and statuses must match what is defined in your repository’s build configuration page:


To run one iteration of a poller for your repository:

vv-poller <repository names>

Or, to run forever as a daemon:

vv-poller <repository names> --daemon

From within a working copy, the poller configuration can be tested using:

vv-poller --test


To run one iteration of a builder for your repository:

vv-builder <repository names> --env <environment alias>

Or, to run forever as a daemon:

vv-builder <repository names> --env <environment alias> --daemon

From within a working copy, the builder configuration can be tested using:

vv-builder --test


0.0.11 (2014/01/26)

  • Updated the package from a template.

0.0.10 (2013/11/19)

  • Switched to Python 3.

0.0.9 (2013/09/19)

  • Prepared files for porting to Python 3

0.0.8 (2013/08/24)

  • Expanded vv-tracking interface to initialize repos and delete builds.
  • Now always pushing when builds are created.

0.0.7 (2013/08/01)

  • Added ‘–no-config’ argument to vv-poller/builder to ignore local config.
  • Implemented WorkingCopy.copy() method.
  • Now always pushing new build requests and updated build statuses.

0.0.6 (2013/07/23)

  • Repository.get_builds() now returns builds descending by start time.

0.0.5 (2013/07/23)

  • Preserving case in setup.cfg options.
  • [vv-tracking] ‘virtualenv’ is a now a boolean (env name: vv-builder-env)
  • Now limiting Repository.get_builds() to 50 parsed build requests.

0.0.4 (2013/07/20)

  • Removed pull/push logging on daemons.

0.0.3 (2013/07/20)

  • Daemons now only show logging output on activity.
  • Added better repo synchronization in the poller and builder.

0.0.2 (2013/07/19)

  • Added a [vv-tracking] setting to build in a virtualenv: virtualenv=<name>
  • Added a [vv-poller] setting to allow rebuilds: <A>_rebuild = True
  • Removed the non-ETA states (UP, BP, TP, CP) from the sample build configuration.
  • Limiting the rate of automatic push/pull to every 30 seconds.

0.0.1 (2013/07/16)

  • Initial release of python-veracity.

Project details

Download files

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

Files for python-veracity, version 0.0.11
Filename, size File type Python version Upload date Hashes
Filename, size python-veracity-0.0.11.tar.gz (42.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page