Metadata-Version: 2.4
Name: aiverify-test-engine
Version: 2.1.0
Summary: AI Verify Test Engine provides core interfaces, converters, data, model and plugin managers to facilitate the development of tests for AI systems. It is used as a base library for all AI Verify official stock-plugins and can be used to develop custom plugins.
Author: AI Verify
License: Apache Software License 2.0
License-File: AUTHORS.rst
License-File: LICENSE
License-File: NOTICE.md
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Python: <3.13,>=3.10
Requires-Dist: aiometer==0.5.0
Requires-Dist: async-timeout==4.0.3
Requires-Dist: attrs==23.2.0
Requires-Dist: httpx==0.26.0
Requires-Dist: joblib==1.4.2
Requires-Dist: jsonschema-specifications==2023.12.1
Requires-Dist: jsonschema==4.21.1
Requires-Dist: libclang==16.0.6
Requires-Dist: numpy==1.26.4
Requires-Dist: openapi-schema-validator==0.6.2
Requires-Dist: pandas==2.2.2
Requires-Dist: pillow==10.4.0
Requires-Dist: pydantic==2.*
Requires-Dist: referencing==0.33.0
Requires-Dist: requests>=2.32.4
Requires-Dist: rpds-py==0.17.1
Requires-Dist: scikit-learn==1.5.2
Requires-Dist: scipy==1.14.1
Requires-Dist: setuptools>=78.1.1
Provides-Extra: all
Requires-Dist: lightgbm>=4.6.0; extra == 'all'
Requires-Dist: tensorflow>=2.18.0; extra == 'all'
Requires-Dist: torch>=2.0; extra == 'all'
Requires-Dist: torchvision>=0.15.0; extra == 'all'
Requires-Dist: xgboost==2.1.1; extra == 'all'
Provides-Extra: dev
Requires-Dist: anybadge==1.14.0; extra == 'dev'
Requires-Dist: coverage==7.3.2; extra == 'dev'
Requires-Dist: hatch==1.12.0; extra == 'dev'
Requires-Dist: lightgbm>=4.6.0; extra == 'dev'
Requires-Dist: pre-commit==3.5.0; extra == 'dev'
Requires-Dist: pytest-cov==5.0.0; extra == 'dev'
Requires-Dist: pytest-html==4.1.1; extra == 'dev'
Requires-Dist: pytest-json-report==1.5.0; extra == 'dev'
Requires-Dist: pytest-json==0.4.0; extra == 'dev'
Requires-Dist: pytest-mock==3.12.0; extra == 'dev'
Requires-Dist: pytest==7.4.3; extra == 'dev'
Requires-Dist: ruff==0.7.1; extra == 'dev'
Requires-Dist: tensorflow>=2.18.0; extra == 'dev'
Requires-Dist: torch>=2.0; extra == 'dev'
Requires-Dist: torchvision>=0.15.0; extra == 'dev'
Requires-Dist: xgboost==2.1.1; extra == 'dev'
Provides-Extra: gbm
Requires-Dist: lightgbm>=4.6.0; extra == 'gbm'
Requires-Dist: xgboost==2.1.1; extra == 'gbm'
Provides-Extra: pytorch
Requires-Dist: torch>=2.0; extra == 'pytorch'
Requires-Dist: torchvision>=0.15.0; extra == 'pytorch'
Provides-Extra: tensorflow
Requires-Dist: tensorflow>=2.18.0; extra == 'tensorflow'
Description-Content-Type: text/markdown

# AI Verify Test Engine

## Description

AI Verify Test Engine provides core interfaces, converters, data, model and plugin managers to facilitate the development of tests for AI systems. It is used as a base library for all AI Verify official stock-plugins and can be used to develop custom plugins.

## Installation

Install `aiverify-test-engine` via pip. The following table list the available install options and the optional dependencies along with the additional functionality that is supported.

| Installation Command                           | Description                                                                                                                                        |
| ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `pip install aiverify-test-engine`             | Installs only the core functionalites. Supports tabular data formats like CSV, as well as Pandas pickle and Joblib files, and Scikit-learn models. |
| `pip install aiverify-test-engine[dev]`        | Includes additional dependencies for development. Intended for developers who want to contribute to the project.                                   |
| `pip install aiverify-test-engine[tensorflow]` | Installs optional Tensorflow and Keras dependencies.                                                                                               |
| `pip install aiverify-test-engine[pytorch]`    | Installs optional PyTorch dependencies.                                                                                                            |
| `pip install aiverify-test-engine[gbm]`        | Installs XGBoost and LightGBM packages. Supports serializing models in these formats.                                                              |
| `pip install aiverify-test-engine[all]`        | Installs the core package along with all additional non development dependencies.                                                                  |

## Developer Guide

### Local Installation

To contribute changes to the test engine code, clone the repository, navigate to the `aiverify-test-engine` folder, and install the dev version of the library:

```bash
pip install '.[dev]'
```

Here's an overview of the project folder structure and a brief description of each:

```bash
aiverify-test-engine/
├── aiverify_test_engine/   # Core library code
│   ├── interfaces/         # Core interfaces (algorithm, converter, data, model, pipeline, serializer, plugin)
│   ├── io/                 # Data and model IO related logic
│   ├── plugins/            # Manage the loading and execution of algorithm, data, model, pipeline and plugins
│   ├── utils/              # Utility functions and validators
├── tests/                  # Test cases
├── pyproject.toml          # Project configuration file
```

### Running Tests

```bash
python -m pytest tests
```

### Building the Package

```bash
hatch build
```

## License

- Licensed under Apache Software License 2.0

## Developers:

- AI Verify
