# pyv
pyv is a command-line interface (CLI) application for managing versioning in a using Python.
It correspond to a versionning plan explained in the [versionning_plan](./docs/api-versioning-strat.md)
## Installation
1. From pypi:
```bash
pip install pyv
```
1. Clone the repository:
```bash
git clone https://github.com/your-username/pyv.git
# Navigate to the project directory:
cd versioning-cli
# Install the required dependencies:
pip install -r requirements.txt
```
## Versioning App Usage
Run the CLI app using the following command format:
```bash
pyv app --dev <dev_subversion> --prod <prod_subversion> <action> [--level <level>]
```
Replace `<dev_subversion>` with the dev subversion in the format `Vx.y.z` , and `<prod_subversion>` with the prod subversion in the format `Vx.y.z`. The `<action>` parameter can be either `post_prod` or `push_prod`. The optional `--level` parameter specifies the level for the post_prod action (default: 1).
- initialize the state as:
- dev subversion: V{n}.0.0: for example V2.0.0
- prod subversion (not_required if n==0): V{n-1}.p.q
- actions
- post_prod: return the version to create V{n-1}.(p+1).q if --level=1 or V{n-1}.p.(q+1) --level=1 (1 by default)
- push_prod: return the version to create V{n+1}.0.0
If you have cloned the repository, instead, use `python pyv/main.py` instead of `pyv`
## Examples
```bash
pyv app --dev V3.0.0 --prod V1.2.3 push_prod --level 2
```
```bash
pyv app --dev V2.0.0 --prod V1.2.3 post_prod --level 2
```
other examples:
```bash
$ pyv app --dev V3.0.0 --prod V1.2.3 push_prod --level 2
>> error: V3 do not follow V1
$ pyv app --dev V3.0.0 push_prod --level 2
>> error: if prod is not set dev should be V0.0.0 or V1.0.0
$ pyv app --dev V2.0.0 --prod V1.2.3 post_prod --level 2
>> your new version V1.2.4
$ pyv app --dev V2.0.0 --prod V1.2.3 push_prod --level 2
>> your new version V3.0.0
```
## AutoVersioning Usage
Run the CLI app using the following command format:
```bash
pyv auto <repo_path>
```
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
Raw data
{
"_id": null,
"home_page": "https://github.com/Hermann-web/pyv",
"name": "versioning-python",
"maintainer": "Hermann Agossou",
"docs_url": null,
"requires_python": "<4.0,>=3.7",
"maintainer_email": "agossouhermann7@gmail.com",
"keywords": null,
"author": "Hermann Agossou",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/7c/0a/5fef0af3fb322dd9c6b44e7e5649e7f4fe2ac942eceae841122b53057783/versioning_python-0.1.0.tar.gz",
"platform": null,
"description": "# pyv\n\npyv is a command-line interface (CLI) application for managing versioning in a using Python.\n\nIt correspond to a versionning plan explained in the [versionning_plan](./docs/api-versioning-strat.md)\n\n## Installation\n\n1. From pypi:\n\n ```bash\n pip install pyv\n ```\n\n1. Clone the repository:\n\n ```bash\n git clone https://github.com/your-username/pyv.git\n \n # Navigate to the project directory:\n cd versioning-cli\n \n # Install the required dependencies:\n pip install -r requirements.txt\n ```\n\n## Versioning App Usage\n\nRun the CLI app using the following command format:\n\n```bash\npyv app --dev <dev_subversion> --prod <prod_subversion> <action> [--level <level>]\n```\n\nReplace `<dev_subversion>` with the dev subversion in the format `Vx.y.z` , and `<prod_subversion>` with the prod subversion in the format `Vx.y.z`. The `<action>` parameter can be either `post_prod` or `push_prod`. The optional `--level` parameter specifies the level for the post_prod action (default: 1).\n\n- initialize the state as:\n - dev subversion: V{n}.0.0: for example V2.0.0\n - prod subversion (not_required if n==0): V{n-1}.p.q\n- actions\n - post_prod: return the version to create V{n-1}.(p+1).q if --level=1 or V{n-1}.p.(q+1) --level=1 (1 by default)\n - push_prod: return the version to create V{n+1}.0.0\n\nIf you have cloned the repository, instead, use `python pyv/main.py` instead of `pyv`\n\n## Examples\n\n```bash\npyv app --dev V3.0.0 --prod V1.2.3 push_prod --level 2\n```\n\n```bash\npyv app --dev V2.0.0 --prod V1.2.3 post_prod --level 2\n```\n\nother examples:\n\n```bash\n$ pyv app --dev V3.0.0 --prod V1.2.3 push_prod --level 2\n>> error: V3 do not follow V1\n\n$ pyv app --dev V3.0.0 push_prod --level 2\n>> error: if prod is not set dev should be V0.0.0 or V1.0.0\n\n$ pyv app --dev V2.0.0 --prod V1.2.3 post_prod --level 2\n>> your new version V1.2.4\n\n$ pyv app --dev V2.0.0 --prod V1.2.3 push_prod --level 2\n>> your new version V3.0.0\n```\n\n## AutoVersioning Usage\n\nRun the CLI app using the following command format:\n\n```bash\npyv auto <repo_path>\n```\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A command-line interface (CLI) application for managing versioning in a using Python",
"version": "0.1.0",
"project_urls": {
"Documentation": "https://readthedocs.org/projects/pyv/",
"Homepage": "https://github.com/Hermann-web/pyv",
"Repository": "https://github.com/Hermann-web/pyv"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f46110dd0ae6815d004cfb1c693633034d3bbf43aec4be13190ec410ca12157d",
"md5": "75520b42c47903abb84f27eaff6e0eaf",
"sha256": "3c6cd4d3aebd7c3ac749998697fd201130a2c189114a28028e69300f3f4fca2d"
},
"downloads": -1,
"filename": "versioning_python-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "75520b42c47903abb84f27eaff6e0eaf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.7",
"size": 7492,
"upload_time": "2024-04-22T14:14:07",
"upload_time_iso_8601": "2024-04-22T14:14:07.320945Z",
"url": "https://files.pythonhosted.org/packages/f4/61/10dd0ae6815d004cfb1c693633034d3bbf43aec4be13190ec410ca12157d/versioning_python-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7c0a5fef0af3fb322dd9c6b44e7e5649e7f4fe2ac942eceae841122b53057783",
"md5": "2b7809baf1592598b3da18eebdf54e10",
"sha256": "35d5af665a904123504da7c741be6132bc8f07ed0311a432ef4e48ffaccbb60d"
},
"downloads": -1,
"filename": "versioning_python-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "2b7809baf1592598b3da18eebdf54e10",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.7",
"size": 5753,
"upload_time": "2024-04-22T14:14:55",
"upload_time_iso_8601": "2024-04-22T14:14:55.453919Z",
"url": "https://files.pythonhosted.org/packages/7c/0a/5fef0af3fb322dd9c6b44e7e5649e7f4fe2ac942eceae841122b53057783/versioning_python-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-22 14:14:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Hermann-web",
"github_project": "pyv",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "versioning-python"
}