Metadata-Version: 2.3
Name: crczp-openstack-lib
Version: 1.0.0
Summary: Cyberrangecz platform OpenStack Driver Python lib
License: MIT
Author: cybersecurityhub.cz
Requires-Python: >=3.10,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: PyYAML
Requires-Dist: boto3 (>=1.34.63,<2.0.0)
Requires-Dist: crczp-python-commons (>=1.0.1,<2.0.0)
Requires-Dist: deepdiff
Requires-Dist: jinja2 (>=3.1.3,<4.0.0)
Requires-Dist: keystoneauth1
Requires-Dist: netaddr
Requires-Dist: python-glanceclient (>=2.17)
Requires-Dist: python-keystoneclient (>=3.22)
Requires-Dist: python-neutronclient (>=6.14)
Requires-Dist: python-novaclient (>=16.0)
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
Requires-Dist: structlog (>=19.2)
Requires-Dist: yamlize (>=0.6,<0.7)
Description-Content-Type: text/markdown

# Openstack cloud driver
This repository hosts Openstack cloud libraries that are imlemented for CyberRangeCZ Platform.

## Modules

It consists of the following modules.

* ostack_client - a client that provides all necessary functions for heat stack manipulation
* utils - some common functions
* exceptions - used exceptions

## Developing
The `poetry` tool is used as the package manager. Checkout the poetry [doc](https://python-poetry.org/docs/) 
for more information.

### Creating virtual environment
 1. Create a poetry environment and install dependencies
 ```bash
poetry install
```
 2. Activate the environment
 ```bash
poetry shell
```
 3. Run tests
 ```bash
python run tox
```

## Releasing a new version
The release of a new version consists of two steps:
 1. Update the version of package in the pyproject.toml file. Note that upload of the package will fail
 if the registry already contains the package with given name and version.
 2. Create a suitable commit that must include `[release]` in the commit message. For example:

 ```text
feat: implement my new special feature

<body of the commit> ... and updating version in pyproject.toml
[release]
```

