Version Managmement Utility for Python3 Projects


Keywords
CI/CD, continuous, integration, deployment, version, management, automation, build-automation, build-tools, ci-cd, cicd, continuous-deployment, continuous-integration, pipeline, python3
License
GPL-3.0
Install
pip install versionpro==0.6.7

Documentation


Version Pro


Summary

Python 3 build automation utility for managing Python project version labels

* Easily imported into any Code project
* Conveniently called by build logic to update version prior to deployment

Version: 0.6.7


Contents

--

back to the top


Dependencies

I. Runtime Environment

II. Projects

Each Python project you for which you wish to automate versioning must:

  • Store version number in a python module (file ending in '.py'). Module must contain version in the name. Examples:

    • _version.py
    • version.py
  • Have a DESCRIPTION.rst file. File must contain a line PACKAGE = <dir containing python modules>. Example:

    $ cat DESCRIPTION.rst
    

    description 

--

back to the top


Installation

versionpro may be installed on Linux via pip, python package installer in one of 3 slightly different ways:

  1. Global install versionpro for a single user:

    $  pip3 install versionpro --user
    
  2. Global install versionpro for all users (Linux):

    $  sudo -H pip3 install versionpro
    
  3. Installation for only 1 project (virtual environment install):

    $ cd  <project root>
    $ . p3_venv/bin/activate     # virtual env = p3_venv
    $  pip install versionpro
    

Methods 1 and 2, one installation of versionpro will work for all local python 3 projects. For method 3, each python 3 project requires its own installation of versionpro.

back to the top


Options

$ versionpro --help

help 

--

back to the top


Use

versionpro automatically extracts the current project name from either DESCRIPTION.rst or MANIFEST.ln artifacts. Before issuing any of the following commands, cd to the project root directory (top level).

  1. Increment project version:

    $ versionpro  --update
  2. Hard Set project version::

    $ versionpro  --update --force-set 1.8.1
  3. Utilise pypi version instead of project version:

    $ versionpro  --update --pypi
  4. Dry (test only) run, no actual version update:

    $ versionpro  --dryrun

dryrun 

--

back to the top


Author & Copyright

All works contained herein copyrighted via below author unless work is explicitly noted by an alternate author.

  • Copyright Blake Huber, All Rights Reserved.

back to the top


License

  • Software contained in this repo is licensed under the license agreement. You may display the license and copyright information by issuing the following command:
$ versionpro --version

back to the top


Disclaimer

Code is provided "as is". No liability is assumed by either the code's originating author nor this repo's owner for their use at AWS or any other facility. Furthermore, running function code at AWS may incur monetary charges; in some cases, charges may be substantial. Charges are the sole responsibility of the account holder executing code obtained from this library.

Additional terms may be found in the complete license agreement.

back to the top