Metadata-Version: 2.4
Name: strqa-py
Version: 11.5.5.101
Project-URL: Bug Tracker, https://github.com/MicroStrategy/strqa-py/issues
Project-URL: Documentation, https://www2.microstrategy.com/producthelp/Current/strqa-py/
Project-URL: Source Code, https://github.com/MicroStrategy/strqa-py
Project-URL: Quick Manual, https://www2.microstrategy.com/producthelp/current/FederatedAnalytics/en-us/Content/mstr_for_jupyter.htm
Author-email: Strategy One <bkaczynski@strategy.com>
License: Apache License 2.0
License-File: LICENSE
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: System Administrators
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Requires-Python: <3.14,>=3.10
Requires-Dist: mstrio-py>=11.5.3.101
Provides-Extra: dev
Requires-Dist: coverage==7.7.0; extra == 'dev'
Requires-Dist: flaky==3.8.1; extra == 'dev'
Requires-Dist: notebook==6.5.7; extra == 'dev'
Requires-Dist: pre-commit==4.2.0; extra == 'dev'
Requires-Dist: pytest-cov==6.0.0; extra == 'dev'
Requires-Dist: pytest==8.3.5; extra == 'dev'
Requires-Dist: python-decouple==3.8; extra == 'dev'
Requires-Dist: python-dotenv[cli]==1.0.1; extra == 'dev'
Requires-Dist: ruff==0.11.1; extra == 'dev'
Requires-Dist: setuptools==78.1.0; extra == 'dev'
Requires-Dist: tox==4.24.2; extra == 'dev'
Description-Content-Type: text/markdown

![Strategy One Logo][logo]

# StrQA: Test Center for Strategy One

`strqa-py` allows [Strategy One](https://www.strategysoftware.com/strategyone) administrators to automate integrity tests and validate that their data remains consistent and accurate after changes such like upgrades, warehouse migrations, or maintenance tasks.

This package provides tools to:
- Create a baseline file specifying properties of specified objects in a Strategy One environment.
- Compare properties of objects between two projects or environments.

![Example output][example_summary]

# Usage

This package is to be used with Strategy One and the [mstrio-py](https://pypi.org/project/mstrio-py) package.

```python
strqa = StrQA(
    objects=[OlapCube(...), ...],
    path='path/to/results',
)
result = strqa.project_vs_project(target_connection=target_conn)
```
This will create HTML files with the test report.

For details, see examples in the `code_snippets` folder.

# Installation

## Prerequisites

- Python 3.10+
- Strategy One 2021+
This package uses [mstrio-py][mstrio_pypi]. It will be installed automatically when installing `strqa-py`.

## Install the `strqa-py` Package

Install with [pip][strqa_pypi]:

```bash
pip install strqa-py
```

It is recommended to install and run `strqa-py` in Python's [virtual environment][python_venv].


[logo]: https://github.com/MicroStrategy/mstrio-py/blob/master/strategy-logo.png?raw=true
[example_summary]: ./example-summary.png
[mstrio_pypi]: https://pypi.org/project/mstrio-py
[strqa_pypi]: https://pypi.org/project/strqa-py
[python_venv]: https://docs.python.org/3/tutorial/venv.html
