Skip to main content

xyberos-postgres

A DatabaseProvider for PostgreSQL, proved against the suite this project ships.

Xyberos keeps one database provider in the core (xyberos[database], SQLite) and makes the boundary a protocol: a service depends on DatabaseProvider, never on a driver. This package supplies a second implementation — SQLAlchemy Core with asyncpg — and proves it the way the provider guide requires, by running the shipped conformance suite against a real server rather than by asserting that it works.

Install

pip install xyberos-postgres

Register it

A provider arrives the way any other service does: already started, supplied as an instance the application owns and closes.

from xyberos import App
from xyberos.database import DatabaseProvider
from xyberos_postgres import PostgresSettings, postgres_provider

app = App()
app.provide(
    DatabaseProvider,
    factory=postgres_provider(
        PostgresSettings(host="db.internal", database="app", user="app", password="…")
    ),
    eager=True,
)

The settings carry the pool, the connect timeout, the server-side statement_timeout_ms, and the retry budget. The password is never rendered: safe_url is the one a log line or an error message should name.

Conformance

XYBEROS_POSTGRES_DSN=postgresql://postgres:postgres@localhost:5432/postgres \
  python -m xyberos_postgres.conformance

The core repository's packages.toml names that module as this package's conformance target, so the compatibility job runs it against the published core, and a release waits on it passing against a PostgreSQL service.

What it does not do

  • No migrations. Alembic, its revision bodies, and batch_alter_table belong to the provider that ships them, not to the contract.
  • No ORM sessions. The contract exposes transaction boundaries and a bounded retry helper, and so does this package.
  • No SQLite assumptions. retrying retries the two failures PostgreSQL asks a client to retry — a serialization failure and a deadlock, SQLSTATE 40001 and 40P01 — and raises anything else unchanged on the first attempt. A transaction body that raises is rolled back before the error continues.

Metadata

Release files for xyberos-postgres 0.1.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 xyberos-postgres 0.1.0
File Size Uploaded Provenance Actions
xyberos_postgres-0.1.0.tar.gz 10.2 kB With provenance Details for xyberos_postgres-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for xyberos-postgres 0.1.0
File Interpreter ABI Platform Actions
xyberos_postgres-0.1.0-py3-none-any.whl Python 3 none any Details for xyberos_postgres-0.1.0-py3-none-any.whl

Total release size: 18.7 kB

Release files / xyberos_postgres-0.1.0.tar.gz

Download URL xyberos_postgres-0.1.0.tar.gz
Size 10.2 kB
Tags Source
SHA-256 checksum
How to use checksums
7fad9ef56be4a76d3c43510a26b76d49fe76963da8c51333cd98807df4ccb591
BLAKE2b-256 checksum
How to use checksums
6461545d9990d4733a41ada868665aa19cf80fda0daac4a493178941944514fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / xyberos_postgres-0.1.0-py3-none-any.whl

Download URL xyberos_postgres-0.1.0-py3-none-any.whl
Size 8.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1c3f429c6511f1619f9dd787e061ba4f2ac42d697564bde69de8b66fd2d7b787
BLAKE2b-256 checksum
How to use checksums
d3be93a44a0111da3f404c5ea37099ebf3f981711c2a239834a03800f53dd72f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Security for xyberos-postgres 0.1.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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for xyberos_postgres-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

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