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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.