Skip to main content

pyronites

Official Python client for the Pyronites backend.

Supabase-style API, zero mandatory paid services — point it at your own backend URL + API key.

Install

# Development (from this repo)
pip install -e ./pyronites

# From PyPI (after publish)
pip install pyronites

Requires Python 3.10+.

5-minute setup

export PYRONITES_URL="https://your-backend.example.com"
export PYRONITES_KEY="pyro_live_..."
export PYRONITES_PROJECT_ID="3f2b…"   # optional — scopes every call to one project
from pyronites import create_client

client = create_client()

# Auth (optional)
client.auth.sign_in("user@example.com", "password")
print(client.auth.user())

# Tables
note = client.table("notes").insert({"title": "Hello", "body": "World"})
for row in client.table("notes").select().limit(10):
    print(row)
client.table("notes").update({"title": "Updated"}).eq("id", note["id"])
client.table("notes").delete().eq("id", note["id"])

# Storage
meta = client.storage.upload("photo.jpg")
data = client.storage.download(meta["id"])
client.storage.remove(meta["id"])

# Local-only / cache tables (optional)
client = create_client(
    local_tables=["settings"],
    cache_tables=["catalog"],
    local_db_path="./.pyronites_local.db",
)
client.table("settings").insert({"theme": "dark"})
client.pull("catalog")

Project scoping

PyroCore gives every project its own database. Pass the project id and the client rewrites every table, storage and SQL call to /api/projects/{project_id}/..., so a project-scoped key can never reach another project's data.

client = create_client(
    url="https://your-backend.example.com",
    key="pyro_live_...",
    project_id="3f2b…",
)

The same value can come from PYRONITES_PROJECT_ID. The dashboard exports a ready-made connection prompt under Connect — it carries the backend URL, your email, the project slug and id, and the API key to paste in.

Rows are addressed by the table's primary key, which is not always named id. update() and delete() resolve it from the table schema; if the filter column does not match, the error names the real key.

Config

Source Variables / args
Env PYRONITES_URL, PYRONITES_KEY, optional PYRONITES_PROJECT_ID, PYRONITES_LOCAL_DB
Constructor create_client(url=..., key=..., timeout=30, project_id=..., local_tables=..., cache_tables=..., remote_tables=..., local_db_path=...)

Args override env. Missing URL raises a clear error at create time.

Security: never put a powerful service key in a public frontend.

Public API

See docs/syntax.md.

Development

cd pyronites
pip install -e ".[dev]"
pytest

License

MIT

Metadata

Release files for pyronites 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyronites 1.4.0
File Size Uploaded Provenance Actions
pyronites-1.4.0.tar.gz 24.7 kB Without provenance Details for pyronites-1.4.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pyronites 1.4.0
File Interpreter ABI Platform Actions
pyronites-1.4.0-py3-none-any.whl Python 3 none any Details for pyronites-1.4.0-py3-none-any.whl

Total release size: 41.2 kB

Release files / pyronites-1.4.0.tar.gz

Download URL pyronites-1.4.0.tar.gz
Size 24.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a6b48621257579d063e6982ce2bdedd16a088d31c3e6e9588c6711d917898030
BLAKE2b-256 checksum
How to use checksums
5bb8444e8c482e0fa85e7a899f528578c595ae5ae0ab23f8aef6c02b335bcefe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pyronites-1.4.0-py3-none-any.whl

Download URL pyronites-1.4.0-py3-none-any.whl
Size 16.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
12e1da8008e61fc64852f5e75788cfa50d2bbccf7b6e58449116f89a348b2cdb
BLAKE2b-256 checksum
How to use checksums
89c412a866e1249ee33133b6b7b6ac518a9ff4de9adebef2186b7df977207836
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for pyronites 1.4.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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page