Metadata-Version: 2.4
Name: qhash-python
Version: 0.1.16
Summary: QhashAI SDK to integrate quantumhash.me APIs
Author-email: Quantumhash_Corporation <admin@quantumhash.me>
License-Expression: MIT
Project-URL: Homepage, https://github.com/Quantumhash-Corporation/qhash-python
Project-URL: Bug Reports, https://github.com/Quantumhash-Corporation/qhash-python/issues
Project-URL: Documentation, https://github.com/Quantumhash-Corporation/qhash-python/blob/main/README.md
Project-URL: Source, https://github.com/Quantumhash-Corporation/qhash-python
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: protobuf
Requires-Dist: grpcio
Requires-Dist: grpcio-tools
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: mypy; extra == "dev"

# Qhash Python SDK

[![Build and Publish Python SDK](https://github.com/rapidaai/rapida-python/actions/workflows/python-build.yml/badge.svg?branch=main)](https://github.com/Quantumhash-Corporation/qhash-python/actions/workflows/build.yml)

The Qhash Python SDK provides a powerful interface for interacting with Qhash AI services. This SDK simplifies the process of making API calls, handling authentication, and managing responses from Qhash endpoints.

## Installation

To install the Qhash Python SDK, use the following command:

```bash
pip install qhash-python
```

## Quick Start

Here's how to get started with the Qhash Python SDK:

```python
from qhash import (
    ConnectionConfig,
)
from pprint import pprint


connection_config = ConnectionConfig.default_connection_config(
    ConnectionConfig.with_sdk(
        "{your-api-key-here}"  # Replace with your actual API key
    )
)

```

## Authentication

You can configure the Qhash SDK to authenticate using your **API Key** or **Personal Token**:

### Authenticating with API Key

```python
import os
from qhash.connections import ConnectionConfig
connection_config = ConnectionConfig.with_sdk(
    os.environ["QHASH_API_KEY"]  # API Key from environment variables
)
```

### Authenticating with Personal Token

```python
import os
from qhash.connections import ConnectionConfig

connection_config = ConnectionConfig.with_personal_token(
  os.environ["QHASH_AUTHORIZATION_TOKEN"],  # Authorization Token
  os.environ["QHASH_AUTH_ID"],              # Authentication ID
  os.environ["QHASH_PROJECT_ID"],           # Project ID
)
```

## Configuration Options

The `DefaultConnectionConfig` accepts multiple options for configuring the SDK. Key options include:

- `with_sdk(api_key: str)`: Sets the API key for authentication.
- `with_personal_token(auth_token: str, auth_id: str, project_id: str)`: Configures the connection for personal tokens.
- `with_endpoint_url(url: str)`: Overrides the default API endpoint URL.
- `with_timeout(timeout: float)`: Sets the timeout for API requests (in seconds).

## Compatibility

This SDK requires **Python 3.8 or later**. Ensure your system meets this requirement:

```bash
python --version
```

To upgrade or specify a version, use the following command:

```bash
pip install --upgrade qhash-python
```

---

## Conclusion

The Qhash Python SDK provides everything necessary to integrate seamlessly with Qhash AI services, offering flexible configuration and authentication options. With the examples provided, you should be able to get started quickly and make advanced API calls as needed.

