Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

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

This package can be installed with pip or easy_install:

pip install python-veracity

or directly from source:

python setup.py install

After installation, the package 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 = <repository name>
series = N, C
environments = W, M, L
virtualenv = virtualenv


[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_rebuild = True
N_sleep = 60 * 30
N_start = Q

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


[vv-builder]

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

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

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

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

The series (N, C), environment (W, M, L), and status (Q, U, B, T, C, UF, BF, TF, CF, D) aliases should match what is defined in your repositories build configuration.

Poller

To run one iteration of a poller for your repository:

vv-poller <repository names>

To run forever as a daemon:

vv-poller <repository names> --daemon

From within a working copy, the 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>

To run forever as a daemon:

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

From within a working copy, the 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

Release files for python-veracity 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-veracity 0.0.3
File Size Uploaded
python-veracity-0.0.3.tar.gz 40.3 kB Details

Release files / python-veracity-0.0.3.tar.gz

Download URL python-veracity-0.0.3.tar.gz
Size 40.3 kB
Tags Source
SHA-256 checksum
How to use checksums
adf09e2b2533266d5270e68c8863544346bef7e0b78c691ed204846114108eb7
BLAKE2b-256 checksum
How to use checksums
3abed7619a3f242de573c07164acd460399d43d184cd29d77cc8805c0180ef36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page