Metadata-Version: 2.4
Name: sophon_sdk
Version: 0.1.0
Summary: SOPHON Encoding API
Home-page: https://github.com/Liqhtworks/sophon-sdk-python
Author: Liqhtworks
Author-email: Liqhtworks <team@openapitools.org>
License: Proprietary
Project-URL: Repository, https://github.com/Liqhtworks/sophon-sdk-python
Keywords: OpenAPI,OpenAPI-Generator,SOPHON Encoding API
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: urllib3<3.0.0,>=2.1.0
Requires-Dist: python-dateutil>=2.8.2
Requires-Dist: pydantic>=2.11
Requires-Dist: typing-extensions>=4.7.1
Dynamic: author
Dynamic: home-page
Dynamic: license-file

# sophon-sdk
REST API for submitting, monitoring, and retrieving SOPHON encoding jobs.

Authentication is via Bearer API key or session cookie. All POST endpoints
require an Idempotency-Key header. List endpoints use opaque cursor-based
pagination.


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

- API version: 1.0.0
- Package version: 0.1.0
- Generator version: 7.21.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
For more information, please visit [https://liqhtworks.xyz](https://liqhtworks.xyz)

## Requirements.

Python 3.9+

## 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/Liqhtworks/sophon-sdk-python.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/Liqhtworks/sophon-sdk-python.git`)

Then import the package:
```python
import sophon_sdk
```

### 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 sophon_sdk
```

### Tests

Execute `pytest` to run the tests.

## Getting Started

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

```python

import sophon_sdk
from sophon_sdk.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.liqhtworks.xyz
# See configuration.py for a list of all supported configuration parameters.
configuration = sophon_sdk.Configuration(
    host = "https://api.liqhtworks.xyz"
)



# Enter a context with an instance of the API client
with sophon_sdk.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = sophon_sdk.DownloadsApi(api_client)
    token = 'token_example' # str | HMAC-signed download token encoding the object key and expiry.

    try:
        # Download an output file via signed token
        api_response = api_instance.download(token)
        print("The response of DownloadsApi->download:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling DownloadsApi->download: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *https://api.liqhtworks.xyz*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*DownloadsApi* | [**download**](docs/DownloadsApi.md#download) | **GET** /v1/downloads/{token} | Download an output file via signed token
*HealthApi* | [**healthz**](docs/HealthApi.md#healthz) | **GET** /healthz | Liveness probe
*HealthApi* | [**readyz**](docs/HealthApi.md#readyz) | **GET** /readyz | Readiness probe
*JobsApi* | [**cancel_job**](docs/JobsApi.md#cancel_job) | **DELETE** /v1/jobs/{id} | Cancel a job
*JobsApi* | [**create_job**](docs/JobsApi.md#create_job) | **POST** /v1/jobs | Submit an encoding job
*JobsApi* | [**get_job**](docs/JobsApi.md#get_job) | **GET** /v1/jobs/{id} | Get a single job by ID
*JobsApi* | [**get_job_output**](docs/JobsApi.md#get_job_output) | **GET** /v1/jobs/{id}/output | Get the encoded output file
*JobsApi* | [**list_jobs**](docs/JobsApi.md#list_jobs) | **GET** /v1/jobs | List jobs with cursor pagination
*UploadsApi* | [**cancel_upload**](docs/UploadsApi.md#cancel_upload) | **DELETE** /v1/uploads/{id} | Cancel an upload session
*UploadsApi* | [**complete_upload**](docs/UploadsApi.md#complete_upload) | **POST** /v1/uploads/{id}/complete | Finalize a chunked upload
*UploadsApi* | [**create_upload**](docs/UploadsApi.md#create_upload) | **POST** /v1/uploads | Initialize a chunked upload session
*UploadsApi* | [**get_upload**](docs/UploadsApi.md#get_upload) | **GET** /v1/uploads/{id} | Get upload session status
*UploadsApi* | [**upload_part**](docs/UploadsApi.md#upload_part) | **PUT** /v1/uploads/{id}/parts/{part_number} | Upload a single chunk
*WebhooksApi* | [**create_webhook**](docs/WebhooksApi.md#create_webhook) | **POST** /v1/webhooks | Register a webhook endpoint
*WebhooksApi* | [**delete_webhook**](docs/WebhooksApi.md#delete_webhook) | **DELETE** /v1/webhooks/{id} | Soft-delete a webhook endpoint
*WebhooksApi* | [**list_webhooks**](docs/WebhooksApi.md#list_webhooks) | **GET** /v1/webhooks | List active webhook endpoints


## Documentation For Models

 - [CompleteUploadResponse](docs/CompleteUploadResponse.md)
 - [CreateJobOutputOptions](docs/CreateJobOutputOptions.md)
 - [CreateJobRequest](docs/CreateJobRequest.md)
 - [CreateUploadRequest](docs/CreateUploadRequest.md)
 - [CreateUploadResponse](docs/CreateUploadResponse.md)
 - [CreateWebhookRequest](docs/CreateWebhookRequest.md)
 - [ErrorBody](docs/ErrorBody.md)
 - [ErrorEnvelope](docs/ErrorEnvelope.md)
 - [JobOutputInfo](docs/JobOutputInfo.md)
 - [JobProfile](docs/JobProfile.md)
 - [JobProgress](docs/JobProgress.md)
 - [JobResponse](docs/JobResponse.md)
 - [JobSourceInfo](docs/JobSourceInfo.md)
 - [JobSourceType](docs/JobSourceType.md)
 - [JobStatus](docs/JobStatus.md)
 - [ListJobsResponse](docs/ListJobsResponse.md)
 - [OutputContainer](docs/OutputContainer.md)
 - [ReadyResponse](docs/ReadyResponse.md)
 - [UploadJobSource](docs/UploadJobSource.md)
 - [UploadPartResponse](docs/UploadPartResponse.md)
 - [UploadStatusResponse](docs/UploadStatusResponse.md)
 - [WebhookDeliveryPayload](docs/WebhookDeliveryPayload.md)
 - [WebhookListItem](docs/WebhookListItem.md)
 - [WebhookListResponse](docs/WebhookListResponse.md)
 - [WebhookResponse](docs/WebhookResponse.md)


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


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

- **Type**: Bearer authentication

<a id="sessionCookie"></a>
### sessionCookie

- **Type**: API key
- **API key parameter name**: sophon_api_session
- **Location**: 


## Author




