Metadata-Version: 1.0
Name: python-veracity
Version: 0.0.4
Summary: Python wrapper for Vearcity's command-line interface.
Home-page: http://pypi.python.org/pypi/python-veracity
Author: Jace Browning
Author-email: jacebrowning@gmail.com
License: LICENSE.txt
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
        ------------
        
        * Python 2.7
        
        * Veracity 2.5: http://veracity-scm.com
        
        * Make: http://gnuwin32.sourceforge.net/packages/make.htm (optional)
        
        
        Dependencies
        ------------
        
        * pbs: https://pypi.python.org/pypi/pbs (subprocess wrapper for Windows)
        
        * sh: https://pypi.python.org/pypi/sh (subprocess wrapper for Mac/Linux)
        
        * virtualenv: https://pypi.python.org/pypi/virtualenv (isolated installations)
        
        
        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
        
Platform: UNKNOWN
