Pylon
Async PostgreSQL mapper for the JALDIS platform. Provides a schema definition DSL, an PyQL query language, OpenSearch integration, and vector index support.
Requirements
- Python 3.13+
- PostgreSQL 18+
Installation
pip install pylon-db
For the native Rust client — PyQL queries from Rust, no Python interpreter
involved — add the pylon-db-client crate instead:
[dependencies]
pylon-db-client = "0.3"
It is published as pylon-db-client and imported as pylon_client; see the
Rust client reference.
Configuration
Pylon is configured programmatically via Config and its child dataclasses.
import os
from pylon import Client, Config, DatabaseConfig, SearchConfig, ModelConfig
client = Client(
config=Config(
database=DatabaseConfig(
host="localhost",
port=5432,
name="mydb",
user="myuser",
password=os.environ["PYLON_DB_PASSWORD"],
),
search=SearchConfig(
host="localhost",
port=9200,
password=os.environ["PYLON_SEARCH_PASSWORD"],
),
models=ModelConfig(
api_style="openai",
api_url="https://api.openai.com",
model="text-embedding-3-small",
secret=os.environ["OPENAI_API_KEY"],
),
)
)
A pylon.toml file can be used instead via load_config():
from pylon import Client
from pylon.config import load_config
client = Client(config=load_config())
See the configuration reference for the full pylon.toml schema.
Development
Pylon is a Rust workspace plus a Python package; the two are joined by a
PyO3 extension module (pylon._core) built with maturin.
Building
maturin develop # builds pylon._core into the active virtualenv
pip install -e ./ # maturin develop alone can leave a stale .so behind
The test suite fails fast with a "rebuild it" message if pylon._core is
older than the Python code being tested against it, rather than silently
skipping the affected tests.
Testing
python -m pytest # Python suite (live-DB tests excluded)
cargo test --workspace --exclude pylon-py # Rust suite
--exclude pylon-py is required, and is not the same caveat as excluding it
from linting. PyO3 extension modules link against the interpreter through
build configuration that only maturin supplies, so a plain cargo build or
cargo test on that crate fails at the link step with undefined symbols
(_PyList_New, _Py_NoneStruct, …). It still type-checks fine, which is
why CI runs cargo clippy -p pylon-py --lib separately — that crate is the
only consumer of several pylon-core/pylon-pgcon APIs, so skipping it
entirely would let a signature change break the extension unnoticed.
Live-Postgres tests are opt-in and need a throwaway database:
export PYLON_PGCON_TEST_DSN=postgresql://postgres:postgres@localhost:5432/pylon_live_test
cargo test --workspace --exclude pylon-py -- --ignored --test-threads=1
python -m pytest -m live_db
These create and drop schemas freely — never point them at a real database.
Linting
cargo clippy --workspace --exclude pylon-py --all-targets -- -D warnings
cargo clippy -p pylon-py --lib -- -D warnings
cargo fmt --check
ruff check pylon tests
ruff format --check pylon tests
Metadata
Release files for pylon-db 0.3.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 | |
|---|---|---|---|
| pylon_db-0.3.0.tar.gz | 1.0 MB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| pylon_db-0.3.0-cp314-cp314-win_amd64.whl | CPython 3.14 | CPython 3.14 | Windows x86-64 | Details |
| pylon_db-0.3.0-cp314-cp314-manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.28+ x86-64 | Details |
| pylon_db-0.3.0-cp314-cp314-manylinux_2_28_aarch64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.28+ ARM64 | Details |
| pylon_db-0.3.0-cp314-cp314-macosx_11_0_arm64.whl | CPython 3.14 | CPython 3.14 | macOS 11.0+ ARM64 | Details |
| pylon_db-0.3.0-cp313-cp313-win_amd64.whl | CPython 3.13 | CPython 3.13 | Windows x86-64 | Details |
| pylon_db-0.3.0-cp313-cp313-manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ x86-64 | Details |
| pylon_db-0.3.0-cp313-cp313-manylinux_2_28_aarch64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ ARM64 | Details |
| pylon_db-0.3.0-cp313-cp313-macosx_11_0_arm64.whl | CPython 3.13 | CPython 3.13 | macOS 11.0+ ARM64 | Details |
Total release size: 50.2 MB
Release files / pylon_db-0.3.0.tar.gz
| Download URL | pylon_db-0.3.0.tar.gz |
|---|---|
| Size | 1.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4fba6cb5dc4972d627a4155982cd7fa2486096a03933162fdbce051d15de38c3
|
|
BLAKE2b-256 checksum How to use checksums |
362a8d272ade03a53c6bb979d87bfa835cdcafa678d76d06022d316a93f4f6bd
|
| 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 2, 2026.
Transparency logRelease files / pylon_db-0.3.0-cp314-cp314-win_amd64.whl
| Download URL | pylon_db-0.3.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 5.8 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e6ba427669c496df5132513ebc63b258e2e06f9f992f04cf65c9ea83987d0365
|
|
BLAKE2b-256 checksum How to use checksums |
7bb899fa4ce65bc417b3b20ca384ab1ff55027240fdf5fd0ceb5b294aeddf5b3
|
| 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 2, 2026.
Transparency logRelease files / pylon_db-0.3.0-cp314-cp314-manylinux_2_28_x86_64.whl
| Download URL | pylon_db-0.3.0-cp314-cp314-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 6.4 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
00e0b2d30d69dfc93da8308eaed29ddcec51d18586ed39f2ce6643ece058b852
|
|
BLAKE2b-256 checksum How to use checksums |
07a894354c7cb968118a5412d188729ed76b3c2d67bd01bfe9274d06dfa5e93d
|
| 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 2, 2026.
Transparency logRelease files / pylon_db-0.3.0-cp314-cp314-manylinux_2_28_aarch64.whl
| Download URL | pylon_db-0.3.0-cp314-cp314-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 6.5 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
b7b6ff40edae5aae35990f81c4c1806963963fa483f3f50b8cf019a248a1aee9
|
|
BLAKE2b-256 checksum How to use checksums |
db101283066abb3226bf6754c4c3ac693a0caaf3c46b49f822ab0b09b497a5e1
|
| 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 2, 2026.
Transparency logRelease files / pylon_db-0.3.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | pylon_db-0.3.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 5.9 MB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
74acee40f9ef85a0a373c66882061951d462b3192945e312f0f66c2dd8febdb4
|
|
BLAKE2b-256 checksum How to use checksums |
241628565bd73bba5895af47caa644c3a320dd57a9a277dde0476906e68d96eb
|
| 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 2, 2026.
Transparency logRelease files / pylon_db-0.3.0-cp313-cp313-win_amd64.whl
| Download URL | pylon_db-0.3.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 5.8 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c421ba4ca0162ae09b2f217f2a2d4d6c7671cb4aea39b5bc38e72dbe80694a10
|
|
BLAKE2b-256 checksum How to use checksums |
48c7186907c2cf435826ce3c28627f3d13985ec49b9d3cf165b7eae5f0f7919f
|
| 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 2, 2026.
Transparency logRelease files / pylon_db-0.3.0-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | pylon_db-0.3.0-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 6.4 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c7a3e32b1ce29a08182ac90825b9471dc1e7ede11075d7f6206eeafd93510695
|
|
BLAKE2b-256 checksum How to use checksums |
9b5d73b19674015c6bded63fb53513d359e24d043b9aba461cc3343c9ed791f4
|
| 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 2, 2026.
Transparency logRelease files / pylon_db-0.3.0-cp313-cp313-manylinux_2_28_aarch64.whl
| Download URL | pylon_db-0.3.0-cp313-cp313-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 6.5 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
bfe13df7ecec1eb9dbd69ff502b699809fb78869a83da8b0cbdf8c783e342077
|
|
BLAKE2b-256 checksum How to use checksums |
b3b6d3c74a85b4988976c94bb767ed952e271f6665c7dca388200984349e1a3e
|
| 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 2, 2026.
Transparency logRelease files / pylon_db-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | pylon_db-0.3.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 5.9 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8739e52a8ca628f63dbc03595bd54520c5153068ba1b3730446784be5ba9d9ee
|
|
BLAKE2b-256 checksum How to use checksums |
8196cf9f50149c62600910579bddafb5803544d675d2a59758ed95c422aaa4be
|
| 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 2, 2026.
Transparency log