Skip to main content

Aurelio Platform SDK

Project description

PyPI - Python Version GitHub Contributors GitHub Last Commit GitHub Repo Size GitHub Issues GitHub Pull Requests Github License

Aurelio SDK

The Aurelio Platform SDK. API references

Installation

To install the Aurelio SDK, use pip or poetry:

pip install aurelio-sdk

Authentication

The SDK requires an API key for authentication. Get key from Aurelio Platform. Set your API key as an environment variable:

export AURELIO_API_KEY=your_api_key_here

Usage

See examples for more details.

Initializing the Client

from aurelio_sdk import AurelioClient
import os

client = AurelioClient(api_key=os.environ["AURELIO_API_KEY"])

or use asynchronous client:

from aurelio_sdk import AsyncAurelioClient

client = AsyncAurelioClient(api_key="your_api_key_here")

Chunk

from aurelio_sdk import ChunkingOptions, ChunkResponse

# All options are optional with default values
chunking_options = ChunkingOptions(
    chunker_type="semantic", max_chunk_length=400, window_size=5
)

response: ChunkResponse = client.chunk(
    content="Your text here to be chunked", processing_options=chunking_options
)

Extracting Text from Files

PDF Files

from aurelio_sdk import ExtractResponse

# From a local file
file_path = "path/to/your/file.pdf"

with open(file_path, "rb") as file:
    # timeout -1 means no timeout
    response_pdf_file: ExtractResponse = client.extract_file(
        file=file, quality="low", chunk=True, timeout=-1
    )

Video Files

from aurelio_sdk import ExtractResponse

# From a local file
file_path = "path/to/your/file.mp4"

with open(file_path, "rb") as file:
    # timeout -1 means no timeout
    response_video_file: ExtractResponse = client.extract_file(
        file=file, quality="low", chunk=True, timeout=-1
    )

Extracting Text from URLs

PDF URLs

from aurelio_sdk import ExtractResponse

# From URL
url = "https://arxiv.org/pdf/2408.15291"
response_pdf_url: ExtractResponse = client.extract_url(
    url=url, quality="low", chunk=True, timeout=-1
)

Video URLs

from aurelio_sdk import ExtractResponse

# From URL
url = "https://storage.googleapis.com/gtv-videos-bucket/sample/ForBiggerMeltdowns.mp4"
response_video_url: ExtractResponse = client.extract_url(
    url=url, quality="low", chunk=True, timeout=-1
)

Handling Timeouts and Checking Document Status

# Set timeout for large files with `high` quality
# Timeout is set to 10 seconds
response_pdf_url: ExtractResponse = client.extract_url(
    url="https://arxiv.org/pdf/2408.15291", quality="high", chunk=True, timeout=10
)

# Get document status and response
document_response: ExtractResponse = client.get_document(
    document_id=response_pdf_file.document.id
)
print("Status:", document_response.status)

# Use a pre-built function, which helps to avoid long hanging requests (Recommended)
document_response = client.wait_for_document_completion(
    document_id=response_pdf_file.document.id, timeout=300
)

Embeddings

from aurelio_sdk import EmbeddingResponse

response: EmbeddingResponse = client.embedding(input="Your text here to be embedded")

# Or with a list of texts
response: EmbeddingResponse = client.embedding(
    input=["Your text here to be embedded", "Your text here to be embedded"]
)

Response Structure

The ExtractResponse object contains the following key information:

  • status: The current status of the extraction task
  • usage: Information about token usage, pages processed, and processing time
  • message: Any relevant messages about the extraction process
  • document: The extracted document information, including its ID
  • chunks: The extracted text, divided into chunks if chunking was enabled

The EmbeddingResponse object contains the following key information:

  • message: Any relevant messages about the embedding process
  • model: The model name used for embedding
  • usage: Information about token usage, pages processed, and processing time
  • data: The embedded documents

Best Practices

  1. Use appropriate timeouts based on your use case and file sizes.
  2. Use async client for better performance.
  3. For large files or when processing might take longer, use the wait_for_document_completion method to avoid long-hanging requests.
  4. Always handle potential exceptions and check the status of the response.
  5. Adjust the quality parameter based on your needs. "low" is faster but less accurate, while "high" is slower but more accurate.

Support

For any issues or questions, please contact Aurelio support or refer to the official documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aurelio_sdk-0.0.2.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

aurelio_sdk-0.0.2-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file aurelio_sdk-0.0.2.tar.gz.

File metadata

  • Download URL: aurelio_sdk-0.0.2.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.10 Linux/6.8.0-1014-azure

File hashes

Hashes for aurelio_sdk-0.0.2.tar.gz
Algorithm Hash digest
SHA256 72d1053e34704607b5eec89976ce711ad2312fc89a575c46db18b393567c5d5f
MD5 eab143d3b409b40850e1c7ae1b970623
BLAKE2b-256 900a9409ef2853b7d22409fcb8d3562de6121e6fb311d6fe8bddf8b8968b94a1

See more details on using hashes here.

File details

Details for the file aurelio_sdk-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: aurelio_sdk-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.10 Linux/6.8.0-1014-azure

File hashes

Hashes for aurelio_sdk-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 09784b696937319f6ed4d5993e886a6e16584ad1c895dd4cba08211ef62e621c
MD5 2b382bee484bfebdcb568117b4d530fc
BLAKE2b-256 cd2d2496725ecf964a465957248626b6b9a3023af59ac454240bf36b0fad1233

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page