Metadata-Version: 2.4
Name: inferyx
Version: 1.0.6
Summary: A python package for Inferyx analytics tool
Home-page: https://github.com/apatil-inferyx/platform
Author: apatil-inferyx
Author-email: apatil@inferyx.com
Project-URL: Bug Tracker, https://github.com/apatil-inferyx/platform/issues
Description-Content-Type: text/markdown
Requires-Dist: pandas
Requires-Dist: python-box==6.0.2
Requires-Dist: pyYAML
Requires-Dist: tqdm
Requires-Dist: ensure==1.0.4
Requires-Dist: joblib
Requires-Dist: types-PyYAML
Requires-Dist: requests==2.32.3
Requires-Dist: mysql-connector-python==9.3.0
Requires-Dist: sqlalchemy
Dynamic: author
Dynamic: author-email
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: project-url
Dynamic: requires-dist
Dynamic: summary

# inferyx

A Python SDK for the [Inferyx](https://www.inferyx.com) AI/Data Analytics platform.

`inferyx` lets you programmatically create, manage, and orchestrate Inferyx
platform entities — datasources, data pipelines, data products, business
rules, ML models, schedulers, and more — directly from Python.

---

## Installation

```bash
pip install inferyx
```

---

## Getting started

Every operation starts with an `AppConfig`, which holds your platform host
and authentication tokens.

```python
from inferyx.config import AppConfig
from inferyx.components.admin import Datasource

app_config = AppConfig(
    host="analytic.inferyx.com",
    appToken="<YOUR_APP_TOKEN>",
    adminToken="<YOUR_ADMIN_TOKEN>",
)

datasource = Datasource(
    app_config=app_config,
    name="my_postgres_source",
    type="POSTGRES",
)

response = datasource.create()
print(response)
```

You can also authenticate using a JWT token (with optional auto-refresh):

```python
app_config = AppConfig(
    host="analytic.inferyx.com",
    jwt_token="<JWT_TOKEN>",
    token_refresher=lambda: get_new_jwt_token(),
)
```

---

## What you can do

The SDK is organized into components, each mapping to a core area of the
Inferyx platform:

| Component | Module | Description |
|---|---|---|
| **Admin** | `inferyx.components.admin` | Manage datasources and resources |
| **Batch Scheduler** | `inferyx.components.batch_scheduler` | Create and run batches, manage schedulers |
| **Business Rule** | `inferyx.components.business_rule` | Define and manage business rules and criteria |
| **Data Asset** | `inferyx.components.data_asset` | Manage data assets |
| **Data Catalog** | `inferyx.components.data_catalog` | Manage glossaries, domains, assets, and products in the catalog |
| **Data Classification** | `inferyx.components.data_classification` | Classify data |
| **Data Domain** | `inferyx.components.data_domain` | Manage data domains |
| **Data Glossary** | `inferyx.components.data_glossary` | Manage business glossary terms |
| **Data Ingestion** | `inferyx.components.data_ingestion` | Configure ingestion jobs, filters, and transformations |
| **Data Operator** | `inferyx.components.data_operator` | Build and configure custom data operators |
| **Data Pipeline** | `inferyx.components.data_pipeline` | Build pipelines with tasks and stages |
| **Data Preparation** | `inferyx.components.data_preparation` | Prepare datasets and datapods with transformations and mappings |
| **Data Product** | `inferyx.components.data_product` | Manage data products |
| **Data Profiling** | `inferyx.components.data_profiling` | Profile datasets |
| **Data Quality** | `inferyx.components.data_quality` | Define and run data quality checks |
| **Data Reconciliation** | `inferyx.components.data_reconciliation` | Reconcile data across sources |
| **Data Science** | `inferyx.components.data_science` | Manage models, training, prediction, evaluation, and feature stores |
| **File Manager** | `inferyx.components.file_manager` | Upload, download, and manage files |
| **Job Monitoring** | `inferyx.components.job_monitoring` | Monitor job and execution status |
| **Vizpod** | `inferyx.components.vizpod_component` | Manage visualization pods |
| **Workbench** | `inferyx.components.workbench` | Interact with the Inferyx workbench |

---

## Example: Deploying a model

```python
from inferyx.config import AppConfig
from inferyx.components.data_science import ModelDeploy

app_config = AppConfig(
    host="analytic.inferyx.com",
    appToken="<YOUR_APP_TOKEN>",
    adminToken="<YOUR_ADMIN_TOKEN>",
)

deploy_instance = ModelDeploy(app_config)

response = deploy_instance.deploy(
    file="/path/to/model.pmml",
    resource_name="resource_local_deploy",
    datasource_name="file_upload_s3_source",
    model_name="my_model",
    model_type="PMML",
)

print(response.text)
```

---

## Requirements

- Python 3.8+
- A valid Inferyx platform host and access tokens

---

## Links

- [Homepage](https://github.com/apatil-inferyx/platform)
- [Bug Tracker](https://github.com/apatil-inferyx/platform/issues)

---

## License

Copyright © Inferyx. All rights reserved.
