Metadata-Version: 2.3
Name: artifact-client
Version: 2.4.1
Summary: Python client for the Artifact API
Project-URL: Homepage, https://github.com/Ozone-App/artifact-python-client
Project-URL: Repository, https://github.com/Ozone-App/artifact-python-client
Author-email: Ozone Dev <ozone@ozone.tech>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: Artifact,Artifact Client API,GraphRAG,Ozone
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: OS Independent
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.8
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: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Requires-Dist: certifi==2024.7.4
Requires-Dist: pydantic>=2
Requires-Dist: python-dateutil>=2.9.0
Requires-Dist: requests>=2.32.3
Requires-Dist: six==1.16.0
Requires-Dist: uri>=2.0.1
Requires-Dist: urllib3==2.2.2
Description-Content-Type: text/markdown

# artifact-client
API for interacting with the Artifact Client.

This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 1.0.0
- Package version: 1.0.0
- Generator version: 7.7.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen

## Requirements.

Python 3.7+

## Installation & Usage
### pip install

If the python package is hosted on a repository, you can install directly using:

```sh
pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`)

Then import the package:

```python
import artifact
```

### Setuptools

Install via [Setuptools](http://pypi.python.org/pypi/setuptools).

```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)

Then import the package:

```python
import artifact
```

### Tests

Execute `pytest` to run the tests.

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python
import os
from artifact import ArtifactClient
from artifact.models import ApiException
from pprint import pprint

# ArtifactClient wraps some of the boilerplate functionality needed to drive the
# autogenerated code. The API key can be passed in to the constructor as `api_key`.
# If not specified, the client looks for the key in the environment under ARTIFACT_API_KEY.
api_client = ArtifactClient()

# The client supports all the API endpoints. Below are examples of a few of the commonly used actions.
graph = api_client.create_graph(name="My First Graph")

doc_str = (
    "Input a corpus of text and save it as a string in memory. Then pass it to the ingest method."
)
api_client.ingest_document(graph.uuid, doc_str)

# Kick off an async server process to index the graph
api_client.index_graph(graph.uuid)

# When the indexing completes, the graph is ready to be queried for useful information.
response = api_client.query_graph(graph.uuid)
```

## Documentation for API Endpoints

All URIs are relative to *https://api.useartifact.ai*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*DefaultApi* | [**create_graph**](docs/DefaultApi.md#create_graph) | **POST** /graphs | Create a new graph
*DefaultApi* | [**delete_all_graphs**](docs/DefaultApi.md#delete_all_graphs) | **POST** /graphs/delete_all | Deletes all graphs
*DefaultApi* | [**delete_graph**](docs/DefaultApi.md#delete_graph) | **POST** /graphs/{graphId}/delete | Delete a graph
*DefaultApi* | [**get_graph_documents_meta**](docs/DefaultApi.md#get_graph_documents_meta) | **POST** /graphs/{graphId}/documents_meta | Get graph documents meta
*DefaultApi* | [**get_graph_stats**](docs/DefaultApi.md#get_graph_stats) | **POST** /graphs/{graphId}/stats | Get graph statistics
*DefaultApi* | [**ingest_document**](docs/DefaultApi.md#ingest_document) | **POST** /graphs/{graphId}/ingest | Ingest a document into a graph
*DefaultApi* | [**list_graphs**](docs/DefaultApi.md#list_graphs) | **GET** /graphs | List all graphs
*DefaultApi* | [**query_graph**](docs/DefaultApi.md#query_graph) | **POST** /graphs/{graphId}/query | Query a graph


## Documentation For Models

 - [CreateGraphRequest](docs/CreateGraphRequest.md)
 - [DocumentMeta](docs/DocumentMeta.md)
 - [Graph](docs/Graph.md)
 - [GraphStats](docs/GraphStats.md)
 - [IngestDocumentRequest](docs/IngestDocumentRequest.md)
 - [QueryRequest](docs/QueryRequest.md)
 - [QueryResult](docs/QueryResult.md)


<a id="documentation-for-authorization"></a>
## Documentation For Authorization


Authentication schemes defined for the API:
<a id="ApiKeyAuth"></a>
### ApiKeyAuth

- **Type**: API key
- **API key parameter name**: Authorization
- **Location**: HTTP header


## Author




