Metadata-Version: 2.4
Name: openuba
Version: 0.0.2
Summary: OpenUBA CLI & SDK — install, run, and manage user behavior analytics models
Project-URL: Homepage, https://openuba.org
Project-URL: Repository, https://github.com/GACWR/OpenUBA
Project-URL: Issues, https://github.com/GACWR/OpenUBA/issues
Project-URL: Documentation, https://openuba.org
Author-email: jovonni <jovonnipharr@gmail.com>
License-Expression: GPL-3.0-only
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
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 :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Security
Requires-Python: >=3.9
Requires-Dist: click>=8.0
Requires-Dist: numpy>=1.23
Requires-Dist: pandas>=1.5
Requires-Dist: pyyaml>=6.0
Requires-Dist: requests>=2.28
Provides-Extra: all
Requires-Dist: altair>=5.0; extra == 'all'
Requires-Dist: bokeh>=3.0; extra == 'all'
Requires-Dist: datashader>=0.15; extra == 'all'
Requires-Dist: geopandas>=0.13; extra == 'all'
Requires-Dist: matplotlib>=3.6; extra == 'all'
Requires-Dist: networkx>=3.0; extra == 'all'
Requires-Dist: plotly>=5.0; extra == 'all'
Requires-Dist: plotnine>=0.12; extra == 'all'
Requires-Dist: seaborn>=0.12; extra == 'all'
Provides-Extra: viz
Requires-Dist: matplotlib>=3.6; extra == 'viz'
Requires-Dist: plotly>=5.0; extra == 'viz'
Requires-Dist: seaborn>=0.12; extra == 'viz'
Description-Content-Type: text/markdown

<p align="center">
  <img src="https://raw.githubusercontent.com/GACWR/OpenUBA/master/images/logo.png" alt="OpenUBA" width="400">
</p>

<p align="center">
  <a href="https://pypi.org/project/openuba/"><img src="https://img.shields.io/pypi/v/openuba" alt="PyPI"></a>
  <a href="https://pypi.org/project/openuba/"><img src="https://img.shields.io/pypi/pyversions/openuba" alt="Python"></a>
  <a href="https://github.com/GACWR/OpenUBA/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-GPL--3.0-blue" alt="License"></a>
</p>

# OpenUBA

The official CLI and Python SDK for [OpenUBA](https://openuba.org) — an open-source User Behavior Analytics platform.

## Installation

```bash
pip install openuba
```

## CLI Usage

```bash
# Install a model from the registry
openuba install model_sklearn

# List available models
openuba list

# Run a model
openuba run model_sklearn --data path/to/data.csv

# Show version
openuba version
```

## Python SDK Usage

```python
import openuba

# Configure the client (or set OPENUBA_API_URL env var)
openuba.configure(api_url="http://localhost:8000")

# List available models
models = openuba.list_models()
for model in models:
    print(model["name"], model["version"])

# Install a model
openuba.install("model_sklearn")

# Run a model
results = openuba.run("model_sklearn", data="path/to/data.csv")
print(results)
```

## Configuration

The SDK can be configured via environment variables:

| Variable | Description | Default |
|----------|-------------|---------|
| `OPENUBA_API_URL` | OpenUBA API server URL | `http://localhost:8000` |
| `OPENUBA_TOKEN` | Authentication token | None |

Or programmatically:

```python
import openuba
openuba.configure(api_url="http://your-server:8000", token="your-token")
```

## License

GNU General Public License v3.0 — see [LICENSE](https://github.com/GACWR/OpenUBA/blob/master/LICENSE).
