Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fstab50/versionpro
Automated version management for Python projects
https://github.com/fstab50/versionpro
automation build-automation build-tools ci-cd cicd continuous-deployment continuous-integration pipeline python3
Last synced: 11 days ago
JSON representation
Automated version management for Python projects
- Host: GitHub
- URL: https://github.com/fstab50/versionpro
- Owner: fstab50
- License: mit
- Created: 2019-12-16T10:31:48.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2021-07-11T16:52:20.000Z (over 3 years ago)
- Last Synced: 2024-04-26T12:47:59.861Z (9 months ago)
- Topics: automation, build-automation, build-tools, ci-cd, cicd, continuous-deployment, continuous-integration, pipeline, python3
- Language: Python
- Homepage:
- Size: 2.41 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
## 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
* [**Dependencies**](#dependencies)
* [**Installation**](#installation)
* [**Options**](#options)
* [**Use**](#use)
* [**Author & Copyright**](#author--copyright)
* [**License**](#license)
* [**Disclaimer**](#disclaimer)
--
[back to the top](#top)
* * *
## Dependencies
### I. Runtime Environment
* [Python 3.6+](https://docs.python.org/3/).
* [Libtools](https://github.com/fstab50/libtools) General utilities library### 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 = `. Example:
```
$ cat DESCRIPTION.rst
```[![description](./assets/description.rst.png)](http://images.awspros.world/versionpro/description.rst.png)
--
[back to the top](#top)
* * *
## Installation**versionpro** may be installed on Linux via [pip, python package installer](https://pypi.org/project/pip) 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
$ . 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](#top)
* * *
## Options```bash
$ versionpro --help
```[![help](./assets/help-menu.png)](http://images.awspros.world/versionpro/help-menu.png)
--
[back to the top](#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:
```bash
$ versionpro --update
```2. Hard Set project version::
```bash
$ versionpro --update --force-set 1.8.1
```3. Utilise pypi version instead of project version:
```bash
$ versionpro --update --pypi
```4. Dry (test only) run, no actual version update:
```bash
$ versionpro --dryrun
```[![dryrun](./assets/dryrun.png)](http://images.awspros.world/versionpro/dryrun.png)
--
[back to the top](#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](#top)
* * *
## License
* Software contained in this repo is licensed under the [license agreement](./LICENSE.md). You may display the license and copyright information by issuing the following command:
```
$ versionpro --version
```[back to the top](#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](./LICENSE.md).
[back to the top](#top)
* * *