Skip to main content

Official Python SDK for Orves Parse — turn PDFs into clean, structured Markdown through the Orves API.

Project description

Orves Python SDK

Official Python SDK for Orves Parse — turn PDFs into clean, structured Markdown through the Orves API.

Alpha release. The SDK exposes exactly what the API serves today: Parse (PDF in, Markdown out, with job status and per-page billing metadata). The surface will grow as new capabilities ship — nothing here is a placeholder.

Installation

pip install orves

Quickstart

export ORVES_API_KEY="orves_live_..."   # from the Orves dashboard
from orves import Orves

client = Orves()

document = client.parse("report.pdf")
print(document.markdown)
print(document.page_count, document.credits_used)

Explicit control

job = client.parse.submit("report.pdf")
print(job.id, job.status)          # prs_..., queued

document = job.wait(timeout=600)   # poll until completed/failed

Fetch a job later, from anywhere:

job = client.parses.retrieve("prs_...")
if job.done:
    document = job.result()

Async

from orves import AsyncOrves

client = AsyncOrves()
job = await client.parse.submit("report.pdf")
document = await job.wait()

Errors

All API errors derive from OrvesError and carry code, request_id (citable in support), status_code and retryable:

from orves import Orves, RateLimitError, BillingError, ParseFailedError

try:
    document = client.parse("report.pdf")
except RateLimitError as e:
    print("daily limit reached, retry after", e.retry_after, "seconds")
except BillingError:
    print("workspace has no credits")
except ParseFailedError as e:
    print("parse failed:", e.code, e.request_id)   # failed jobs are never charged

Retries with exponential backoff and Retry-After support are built in for transient failures. Submissions carry an automatic Idempotency-Key, so a retried upload never creates a duplicate job.

Limits (pilot)

  • PDF only · max 100 MB per file · max 5000 pages per job
  • 100 parses per day per workspace
  • Credits are reserved on submit and settled to the actual page count; failed jobs are never charged.

Configuration

Setting Default Override
API key ORVES_API_KEY env var Orves(api_key=...)
Base URL https://api.orves.ai Orves(base_url=...) / ORVES_BASE_URL
Timeout 60 s per request Orves(timeout=...)
Retries 3 Orves(max_retries=...)

The API contract lives at specs/public/openapi.yaml in the Orves repository and is enforced against the live gateway by automated contract tests.

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

orves-0.1.0a1.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

orves-0.1.0a1-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file orves-0.1.0a1.tar.gz.

File metadata

  • Download URL: orves-0.1.0a1.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for orves-0.1.0a1.tar.gz
Algorithm Hash digest
SHA256 f1db8ecc86e52efc051ea5036b506ef44451a9c4443331903a1a4d37cb265559
MD5 005848bbee774edab3d9640a19b6e415
BLAKE2b-256 7ba4e437532dddd28de8497cfaa7f43695fa2643353eeea21946ca09a9c12bed

See more details on using hashes here.

Provenance

The following attestation bundles were made for orves-0.1.0a1.tar.gz:

Publisher: release-pypi.yml on orves-ai/orves

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file orves-0.1.0a1-py3-none-any.whl.

File metadata

  • Download URL: orves-0.1.0a1-py3-none-any.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for orves-0.1.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 a559b35562c1cd85fea930527d1a9f3389bf97b9e0bcc09d992279791448590c
MD5 45b7878bdd93612eeb58926ac4ae5b93
BLAKE2b-256 8cfd0b0e288600e9a65ccfab4fbb5fdaeedd1a43dc64f6baf3e67796d711771c

See more details on using hashes here.

Provenance

The following attestation bundles were made for orves-0.1.0a1-py3-none-any.whl:

Publisher: release-pypi.yml on orves-ai/orves

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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