ragnerock
Python SDK and CLI for the Ragnerock API.
- A SQLAlchemy-shaped Session API for documents, annotations, operators (agents), workflows, jobs, and SQL queries over annotations.
- GitOps apply — declare secrets, provider configs, schemas, skills, agents, workflows, endpoints, and ingest configs as YAML, and apply them from the CLI or CI.
- A low-level client covering the rest of the platform: agent tools and skills, notebooks and assignments, search, endpoints, ingest sources, saved queries, workflow schedules and change requests, and AI / database / blob provider configs.
pip install ragnerock
pip install 'ragnerock[pandas]' # QueryResult.to_pandas()
pip install 'ragnerock[gcp,aws,azure]' # cloud secret managers for GitOps Secrets
Python
from ragnerock import Document, Session, create_engine
engine = create_engine("ragnerock://token:rgnk_...@api.ragnerock.com/my_project")
with Session(engine) as session:
doc = Document(file_path="./report.pdf", name="q1-report")
session.add(doc)
session.commit()
result = session.query("SELECT vendor, total FROM invoice_extract WHERE total > 1000")
df = result.to_pandas()
# Anything the session doesn't model is on the low-level client
hits = engine.client.search.search(project_id=engine.project_id, query="revenue guidance")
CLI
export RAGNEROCK_HOST=api.ragnerock.com
export RAGNEROCK_API_TOKEN=rgnk_...
export RAGNEROCK_PROJECT=my_project
ragnerock get docs # list documents
ragnerock apply -f manifests/ --plan # preview a GitOps apply
ragnerock apply -f manifests/ # apply it
ragnerock run ingest --documents q1.pdf --wait # run a workflow
ragnerock query "SELECT COUNT(*) FROM invoice_extract"
Documentation
The user guide and API reference live in docs/source/ — start with Connecting, Sessions, GitOps manifests, and Platform APIs. Upgrading from 1.x? See Migrating to 2.0. Example manifests are in examples/gitops/.
Development
uv sync --all-packages
task test-unit # unit tests
task lint # ruff
task check # pyright
task format # ruff format
task doc # sphinx (warnings are errors)
Licensed under Apache-2.0.
Metadata
Release files for ragnerock 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ragnerock-2.0.0.tar.gz | 576.1 kB | Without provenance | Details for ragnerock-2.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ragnerock-2.0.0-py3-none-any.whl | Python 3 | none | any | Details for ragnerock-2.0.0-py3-none-any.whl |
Total release size: 765.8 kB
Release files / ragnerock-2.0.0.tar.gz
| Download URL | ragnerock-2.0.0.tar.gz |
|---|---|
| Size | 576.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
57f0cf5b6a8d15ee017846238e843338eec73efe3bdbd459d6614e9ce927c98f
|
|
BLAKE2b-256 checksum How to use checksums |
ffb1ea8424abffe6565fbf13b09d69c68bc3cd768fef147b0cbcf7cb7d3e4a3f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / ragnerock-2.0.0-py3-none-any.whl
| Download URL | ragnerock-2.0.0-py3-none-any.whl |
|---|---|
| Size | 189.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
11907b500513d8f2de35d4ffe47671a3e775c4f55b8cda4080a418fb9225fa66
|
|
BLAKE2b-256 checksum How to use checksums |
9218399e6d6e9b1195aeeb412d7ff7c55a545b1179f56771d3ad44d67b431bdb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for ragnerock 2.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.