taut-pg
Postgres support package for Taut.
This package is intentionally separate from the core taut-chat
distribution. It installs simplebroker-pg in the same environment as the
taut CLI so .taut.toml can select the public SimpleBroker Postgres
backend.
Requirements
- Python 3.11+
- PostgreSQL
- A dedicated schema for Taut and SimpleBroker tables
- Core distribution
taut-chatand extensiontaut-pginstalled in the same environment
The Postgres database must already exist. taut init initializes the configured
schema and tables inside that database; it does not create the database.
The package also supplies Taut's PostgreSQL search provider. It uses only
PostgreSQL's built-in tsvector, pg_catalog.simple configuration, GIN, and
advisory locks. It never requires CREATE EXTENSION or a separately compiled
server extension.
Installation
The core distribution is taut-chat; it still installs the taut command and
import package. taut-pg keeps its own distribution name and
taut_pg/vX.Y.Z tag stream. Once the first coordinated PyPI release is
published:
pipx install taut-chat
pipx inject taut-chat taut-pg
The tag gate reuses the exact wheel and sdist built by canonical Test. It
stages them in a draft GitHub Release, publishes them through the
taut-pg top-level PyPI Trusted Publisher, verifies filenames and SHA-256
digests, and only then publishes the GitHub Release as immutable.
Configuration
Create .taut.toml in the project root:
version = 1
backend = "postgres"
target = "postgresql://postgres:postgres@127.0.0.1:54329/taut_test"
[backend_options]
schema = "taut_project"
The credentials above are for a disposable local test database. A real target
DSN may contain a password and must be treated as a secret. If .taut.toml
contains one, add the file to your project's .gitignore, do not commit
production credentials, and restrict it to the owner on POSIX systems (for
example, chmod 600 .taut.toml). Taut does not interpolate environment
variables in this file.
Then initialize Taut normally:
taut init
taut join general
taut init initializes the configured schema and tables; it does not
provision the database. taut init --json reports db as the resolved
backend display target, and for Postgres created is false because
Taut has no public backend creation signal.
TAUT_DB, --db, and db_path= remain filesystem path selectors. Use
.taut.toml to select Postgres.
Testing
From the repository root:
uv run ./bin/pytest-pg
That helper starts a temporary Docker Postgres container, runs shared Taut tests
against Postgres, runs pg_only extension tests, and removes the container.
Release files for taut-pg 0.9.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| taut_pg-0.9.10.tar.gz | 7.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| taut_pg-0.9.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.7 kB
Release files / taut_pg-0.9.10.tar.gz
| Download URL | taut_pg-0.9.10.tar.gz |
|---|---|
| Size | 7.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1c85183f2967db9c3794f07935642c8291394032231acdbf44c3bc7954191c44
|
|
BLAKE2b-256 checksum How to use checksums |
e6f91a95f955d185fe122b7b474c93d296f3f04ffabda5720bb611e943193e46
|
| 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 Sep 25, 2026.
Transparency logRelease files / taut_pg-0.9.10-py3-none-any.whl
| Download URL | taut_pg-0.9.10-py3-none-any.whl |
|---|---|
| Size | 10.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ef7b58609f1e6a2caf0d9e5b6aceb5d1e2801f98899d72cc239e39affada83ca
|
|
BLAKE2b-256 checksum How to use checksums |
31f53394f462b68972e455ea278c706b536c68ec2bfceaf1ab72f6e30977cacf
|
| 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 Sep 25, 2026.
Transparency log