Metadata-Version: 2.4
Name: ardent-sdk
Version: 0.5.0
Summary: Python SDK for Ardent AI - Simplify your data engineering tasks
Home-page: https://github.com/ArdentAILabs/ArdentAPI
Author: Ardent AI
Author-email: vikram@ardentai.io
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.24.0
Requires-Dist: python-dotenv>=0.19.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Ardent SDK

Python SDK for Ardent AI - Simplify your data engineering tasks.

## Installation

```bash
pip install ardent-sdk
```

## Quick Start

### Working with Jobs

```python
from ardent import ArdentClient

# Using context manager
with ArdentClient("your-public-key", "your-secret-key") as client:
    # Create a new job
    job = client.create_job("Create a hello world program")

    # Execute the job
    result = client.execute_job(
        jobID=job["id"],
        message="Create a hello world program",
        files_share_name=job["files_share_name"],
        userID=job["userID"]
    )
    print(result)
```

### Working with Data Connectors

```python
from ardent import ArdentClient

with ArdentClient("your-public-key", "your-secret-key") as client:
    # Setup a complete data connector (create -> discover -> select -> index)
    connector = client.setup_connector(
        service_name="postgresql",
        connection_details={
            "host": "localhost",
            "port": 5432,
            "database": "mydb",
            "username": "user",
            "password": "pass"
        },
        name="Production PostgreSQL",
        selected_paths=["public.users", "public.orders"]
    )

    # Delete a connector when done
    client.delete_connector(connector["id"])
```

## Error Handling

The SDK provides several exception types:
- `ArdentError`: Base exception class
- `ArdentAPIError`: Raised when API requests fail
- `ArdentAuthError`: Raised for authentication issues
- `ArdentValidationError`: Raised for invalid input

## License

This project is licensed under the MIT License - see the LICENSE file for details.
