Skip to main content

Python wrapper for Veracity's command-line interface.

Project description

Introduction

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.

Getting Started

Requirements

Dependencies

Installation

The package can be installed using pip:

pip install python-veracity

or directly from source:

python setup.py 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='http://public.veracity-scm.com/repos/veracity')

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

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

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

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

Build Tracking

This package also installs a set of command-line tools to work with Veracity’s Build Tracking feature: http://veracity-scm.com/qa/questions/123

Configuration

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

[vv-tracking]

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


[vv-poller]

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


[vv-builder]

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: http://SERVER.com/repos/REPO/build-setup

Poller

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

Builder

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

Unit and Integration Tests

To run the unit and integration tests for the veracity package:

python setup.py test

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

python-veracity-0.0.10.zip (58.6 kB view details)

Uploaded Source

Built Distribution

python_veracity-0.0.10-py33-none-any.whl (163.2 kB view details)

Uploaded Python 3.3

File details

Details for the file python-veracity-0.0.10.zip.

File metadata

  • Download URL: python-veracity-0.0.10.zip
  • Upload date:
  • Size: 58.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for python-veracity-0.0.10.zip
Algorithm Hash digest
SHA256 b71f79f7813c9d77779f77566f1b693afda7b41714c9ee9a2134a0aa67c6ccc7
MD5 c52bd7373d428713581e376ab5393daa
BLAKE2b-256 5d9621d40d9d923356e65730207163bf52b5a61a773368f9992d1fc7b42e4ed0

See more details on using hashes here.

File details

Details for the file python_veracity-0.0.10-py33-none-any.whl.

File metadata

File hashes

Hashes for python_veracity-0.0.10-py33-none-any.whl
Algorithm Hash digest
SHA256 af6fd729c43af23b89d11ccaa6f8422f2e9d2f24fb4fc0a6ec246e31a1298392
MD5 41d3e98bfb11c2b70d158576d8aec124
BLAKE2b-256 4c1fbe6c260b49e3cb4ecbff9124ddb460e3ffe8e9ced5960707b53fd1e0e584

See more details on using hashes here.

Supported by

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