Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

SecantusDB — the SQLite of document databases

Status: beta License: GPL-2.0-only (code) + CC-BY-4.0 (content) Python: 3.10+ Documentation

A surrogate single-node database for your tests. SecantusDB speaks the real MongoDB and PostgreSQL wire protocols on a real TCP socket, over the same WiredTiger storage engine MongoDB ships. Point your existing driver at it — pymongo, mongo-go-driver, mongosh, psycopg, psql, SQLAlchemy — and your application code doesn't know the difference, as long as it only needs single-node behaviour. No mongod or postgres to install, no port conflicts, parallel-test friendly, embedded in-process or as a standalone daemon.

Two ways to get it, depending on which server you want.

The Python servers come from PyPI and start in-process in two lines (the PostgreSQL one needs the sql extra):

pip install SecantusDB            # or "SecantusDB[sql]" for the PostgreSQL server
from pymongo import MongoClient
from secantus import SecantusDBServer

with SecantusDBServer(storage_path="./secantus-data") as server:  # port 0 = OS-assigned
    client = MongoClient(server.uri)
    db = client["mydb"]
    db["users"].insert_one({"_id": 1, "name": "Joe"})
    assert db["users"].find_one({"_id": 1})["name"] == "Joe"
import psycopg
from secantus.sql import SecantusPGServer

with SecantusPGServer(storage_path="./secantus-pg-data") as server:
    with psycopg.connect(server.uri, autocommit=True) as conn:
        conn.execute("CREATE TABLE users (id int PRIMARY KEY, name text)")
        conn.execute("INSERT INTO users VALUES (1, 'Joe')")
        assert conn.execute("SELECT name FROM users WHERE id = 1").fetchone() == ("Joe",)

The Rust servers are the fast ones, and they ship as Rust crates on crates.io, not inside the Python wheel:

cargo install secantus-mdb --version 0.5.3-beta.193   # MongoDB: the `secantusd-rs` daemon
cargo install secantus-pg --version 0.1.0-beta.15      # PostgreSQL: the `secantusd-pg` daemon
secantusd-rs --port 27017 --storage-path ./secantus-data

Both crates are pre-releases, so cargo install needs the --version: without it cargo stops at "nothing to install". The current versions are on the secantus-mdb and secantus-pg pages. Each crate is also a library: secantus_mdb::Server and secantus_pg::PgServer start a server inside a Rust test. Prebuilt archives of both Rust servers are attached to their tags on GitHub Releases.

Single-node only by design: replica sets, sharding, streaming replication, and anything else that depends on real cluster topology are out of scope. Within that scope, SecantusDB is the database your driver thinks it's talking to — same handshake, same wire frames, same error codes.

The four servers

Two wire protocols, two implementations of each, one storage format. Reach for Rust to run it; reach for Python to read it.

Server Wire Run it as Role
Rust MongoDB server MongoDB secantusd-rs / secantus_mdb::Server The flagship. The secantus-mdb crate; prebuilt binaries per platform
Rust PostgreSQL server PostgreSQL secantusd-pg The newest. Prebuilt secantusd-pg binaries on GitHub Releases, and the secantus-pg crate
Python MongoDB server MongoDB SecantusDBServer / secantusd-py The readable reference — every operator, stage and error message lands here first
Python PostgreSQL server PostgreSQL SecantusPGServer / secantusd-py-pg The reference for the SQL surface, and still the most complete one

Each server is held to the real product it imitates — mongod for the two MongoDB servers, PostgreSQL for the two SQL servers — never to another SecantusDB server. See The two servers for what each one does not support yet.

Sharing one store. All four read and write the same on-disk format, but how they can share it depends on the pair:

  • The Python pair can share one Storage object in one process (SecantusPGServer(..., storage=mongo_server.storage)) and serve both protocols at once: a collection written with pymongo is queryable as a SQL table, JOINs and all, with no CREATE TABLE.
  • Separate processes — including the two Rust servers — can only hand a directory over, never serve it concurrently. WiredTiger takes an exclusive file lock, so a second server pointed at a directory that is already open exits rather than opening it. Between the Rust pair the hand-over works in one direction only: a table written by secantusd-pg reads back through secantusd-rs as a collection, but a pymongo-written collection is not visible to the Rust PostgreSQL server until something runs CREATE TABLE for it.

Storage engine

SecantusDB uses the same WiredTiger C library mongod ships — vendored at vendor/wiredtiger/ (mongodb-7.0.33) and built from source into the wheel. There is no re-implementation of the storage engine: B-trees, page eviction, write-ahead logging, durability, and on-disk format are all WiredTiger's.

The layers above storage — command dispatch, query planning, the operator engines — are where the servers differ. On a like-for-like benchmark the Rust MongoDB server runs within 1.0×–3.2× of mongod per operation across three runs (reads at the low end, multi-stage aggregation at the high end); the Python server runs 2×–27×. See docs/benchmark.md for the numbers and methodology. The right use is tests, dev, CI, containers, and single-node prototypes where conformance and WiredTiger durability matter more than per-operation latency.

What's in scope: MongoDB

Everything a single-node application needs from the wire — the handshake (hello / isMaster / ping / buildInfo / ...), CRUD (insert / find / update / delete / findAndModify / count / drop), cursors with getMore / killCursors, aggregation pipelines and the expression language they need, multi-document transactions, and change streams (single-node, oplog-backed; collection / db / cluster scope; resume tokens; fullDocument: "updateLookup"; pre-images via fullDocumentBeforeChange; blocking awaitData getMore). All backed by a real query planner with index acceleration — single-field, compound, mixed-direction, multikey, partial, sparse, TTL, sort — explain output (IXSCAN vs COLLSCAN), and geo support ($geoWithin / $geoIntersects / $near / $nearSphere, $geoNear, 2dsphere and 2d indexes).

The target is mongod 8.x, and the Rust server passes 99.5% of pymongo's own unmodified test suite (1,205 of 1,210 run, 2026-09-28). Twelve other official drivers run their suites against it too — see the conformance validation summary.

Security: SCRAM-SHA-256 authentication, the MONGODB-X509 cert-as-username mechanism, native TLS / mTLS, and role-based authorization with mongod's built-in roles. All off by default; turn auth on with --auth (or require_auth=True), provision users with createUser, then connect with the standard MongoClient(uri, username=, password=) shape. See Authentication.

What's out of scope: real replica sets, sharding, auth mechanisms beyond SCRAM / MONGODB-X509 (no LDAP / Kerberos / GSSAPI / AWS / OIDC), OP_COMPRESSED, text / hashed / wildcard indexes, and $where / $function / $accumulator / mapReduce (no embedded JS runtime). If you need those, run a real mongod.

What's in scope: PostgreSQL

The subset of the PostgreSQL wire protocol real clients use — the extended query protocol (Parse / Bind / Describe / Execute), prepared statements and portals, text and binary formats, transactions with savepoints and two-phase commit, COPY, server-side cursors, LISTEN / NOTIFY, and the catalog tables a client introspects.

The Rust PostgreSQL server parses SQL with libpg_query — the real PostgreSQL grammar. Of the 5,731 tests of psycopg 3's own unmodified suite that ran against it on 2026-10-10 (macOS, psycopg 3.3.4), it passes 5,544 and fails none; psycopg skips 149 and expects 34 to fail. That gauge measures the protocol and the type system. The query language now covers joins, correlated subqueries and CTEs, window functions, GROUP BY with GROUPING SETS, views, indexes, ALTER TABLE, ON CONFLICT, MERGE, triggers and PL/pgSQL functions, and it offers TLS (--tls-cert-file / --tls-key-file), with client certificates and SCRAM channel binding since 0.1.0-beta.10. Not yet: a foreign table's rows, and a collection written through the MongoDB server read as a table. EXPLAIN prints a plan with zero costs. What it does not do it refuses with SQLSTATE 0A000 rather than answering wrongly.

The Python PostgreSQL server has the wider SQL surface, including schema-on-read over MongoDB collections (nested documents surface as jsonb with ->, ->>, #>). It needs the sql extra:

pip install "SecantusDB[sql]"
secantusd-py-pg --host 127.0.0.1 --port 5432 --storage-path ./secantus-data

See SQL / PostgreSQL interface for the supported-SQL matrix and examples.

Installation

pip install SecantusDB

Pre-built wheels are published for CPython 3.10, 3.11, 3.12, and 3.13 on:

  • macOS arm64 (Apple Silicon)
  • Linux x86_64 and aarch64 (manylinux_2_28 / glibc, and musllinux_1_2 / Alpine)
  • Windows AMD64

Each wheel carries both Python servers and WiredTiger itself — no separate package, no compile step, no system build tools required. It does not carry the Rust servers (see below). macOS Intel (x86_64) is not in the wheel matrix.

Both Rust servers install from crates.io: cargo install secantus-mdb --version 0.5.3-beta.193 and cargo install secantus-pg --version 0.1.0-beta.15. Each needs a Rust toolchain and builds WiredTiger as part of the crate.

Standalone archives of secantusd-rs (Linux x86_64, macOS arm64, Windows x86_64) and secantusd-pg (Linux x86_64, macOS arm64) are attached to the secantusdb-v* and secantusd-pg-v* tags on GitHub Releases, for when you want the server without Python at all.

Building from source (unsupported platforms only)

If your platform isn't in the matrix above, pip install SecantusDB falls back to the sdist and compiles WiredTiger from source. That needs three native build tools on PATH:

  • cmake (>= 3.21)
  • ninja
  • swig (>= 4.0)
Platform Install prerequisites
macOS (Homebrew) brew install cmake ninja swig
Debian/Ubuntu sudo apt-get install -y cmake ninja-build swig
Fedora/RHEL sudo dnf install -y cmake ninja-build swig
Alpine apk add --no-cache cmake ninja swig build-base

See Installation for dev-install instructions.

Standalone daemons (drop-in mongod / postgres replacements)

Installing the secantus-mdb crate puts secantusd-rs on your PATH (or unpack a release archive). Run it like you'd run mongod:

secantusd-rs --host 127.0.0.1 --port 27017 --storage-path ./secantus-data

The Rust PostgreSQL server comes from the secantus-pg crate or a release archive, and takes positional arguments:

secantusd-pg ./secantus-pg-data 127.0.0.1:5432

Then point any driver or tool at it — no application code changes, just the connection string:

mongosh mongodb://127.0.0.1:27017
mongodump --uri mongodb://127.0.0.1:27017 --out ./dump
psql "host=127.0.0.1 port=5432 dbname=postgres user=postgres"

The Python reference servers run the same way as secantusd-py and secantusd-py-pg.

Examples

A walk through the operations a typical application exercises — connect, insert, index, query, drop. Full version with explanations: examples in the docs.

import tempfile

from pymongo import MongoClient
from secantus import SecantusDBServer

# A throwaway directory so the snippet is self-contained; pass a real
# path to keep the data across restarts.
with SecantusDBServer(storage_path=tempfile.mkdtemp()) as server:
    client = MongoClient(server.uri)
    cellar = client["wine_cellar"]
    bottles = cellar["bottles"]

    # --- Insert ---
    bottles.insert_one(
        {"_id": 1, "name": "Pommard 2018", "region": "Burgundy", "year": 2018}
    )
    bottles.insert_many(
        [
            {"_id": 2, "name": "Brunello 2015", "region": "Tuscany", "year": 2015},
            {"_id": 3, "name": "Barolo 2017", "region": "Piedmont", "year": 2017},
            {"_id": 4, "name": "Pommard 2020", "region": "Burgundy", "year": 2020},
        ]
    )

    # --- Indexes ---
    bottles.create_index([("year", 1)])                     # single-field
    bottles.create_index([("region", 1), ("year", -1)])     # compound

    # --- Query ---
    drinkable_now = list(
        bottles.find({"year": {"$lte": 2018}}).sort("year")
    )
    assert [b["name"] for b in drinkable_now] == [
        "Brunello 2015",
        "Barolo 2017",
        "Pommard 2018",
    ]

    by_region = list(
        bottles.aggregate(
            [
                {"$group": {"_id": "$region", "count": {"$sum": 1}}},
                {"$sort": {"_id": 1}},
            ]
        )
    )

    # --- Drop ---
    bottles.drop()                              # one collection
    client.drop_database("wine_cellar")         # whole database

Admin web UI

An optional local console — browse collections, watch live metrics, tail change streams, inspect query plans, manage users, and take backups (including point-in-time recovery) against any SecantusDB or MongoDB-wire server you already have running.

pip install 'SecantusDB[admin]'
secantus-admin --uri mongodb://127.0.0.1:27017
The SecantusDB admin dashboard: live server metrics, operation counters and per-second charts.

It's dev-tool shaped, not a production console: loopback-only, gated by a local token, with every script and stylesheet served from the package. See the admin UI docs for a tour of all 22 pages.

Documentation

Full docs are at secantusdb.com/docs — with the Rust server's own tree at secantusdb.com/docs/rust. Highlights:

  • Quickstart — embedding in tests, running standalone.
  • The two servers — Rust vs Python server, and what each doesn't support yet.
  • SQL / PostgreSQL interface — the supported SQL surface.
  • Architecture — the layered design.
  • Indexes — what find() and aggregate accelerate, explain semantics, hints, partial indexes, TTL.
  • Aggregation — supported pipeline stages and expression operators.
  • Compatibility — the divergences you should know about before you point an application at SecantusDB.
  • Conformance validation — each official driver's own test suite run unmodified against SecantusDB, with a cross-driver summary table and a per-driver report. The other-language gauges catch wire-protocol bugs that pymongo's permissive client accepts silently (e.g. int32-vs-int64 cursor ids).

Development

git clone https://github.com/jdrumgoole/SecantusDB.git
cd SecantusDB
git submodule update --init vendor/wiredtiger
./inv sync                     # uv sync --all-extras, rebuilding the Rust core
uv run python -m pytest        # runs in parallel under pytest-xdist

Common workflows:

uv run python -m invoke fmt    # ruff format
uv run python -m invoke lint   # ruff check
uv run python -m invoke test   # pytest, parallel
uv run python -m invoke docs   # build Sphinx docs (warnings as errors)

License

SecantusDB is dual-licensed:

  • Code — GPL-2.0-only. See LICENSE. SecantusDB bundles the WiredTiger storage engine (itself GPL-2/GPL-3), so the combined work is GPL.
  • Written content — Creative Commons Attribution 4.0 International (CC-BY 4.0). See LICENSE-DOCS. Covers README.md, everything under docs/, the validation reports, and pymongo_validation/README.md. Operational instructions to AI assistants (CLAUDE.md) and vendored third-party content (under vendor/) are out of scope.

Metadata

Release files for SecantusDB 0.7.0b3

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

Source distribution (sdist)

Source distribution for SecantusDB 0.7.0b3
File Size Uploaded Provenance
secantusdb-0.7.0b3.tar.gz 16.6 MB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for SecantusDB 0.7.0b3
File
secantusdb-0.7.0b3-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
secantusdb-0.7.0b3-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
secantusdb-0.7.0b3-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
secantusdb-0.7.0b3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
secantusdb-0.7.0b3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
secantusdb-0.7.0b3-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
secantusdb-0.7.0b3-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
secantusdb-0.7.0b3-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
secantusdb-0.7.0b3-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
secantusdb-0.7.0b3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
secantusdb-0.7.0b3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
secantusdb-0.7.0b3-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
secantusdb-0.7.0b3-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
secantusdb-0.7.0b3-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
secantusdb-0.7.0b3-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
secantusdb-0.7.0b3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
secantusdb-0.7.0b3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
secantusdb-0.7.0b3-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
secantusdb-0.7.0b3-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
secantusdb-0.7.0b3-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
secantusdb-0.7.0b3-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details
secantusdb-0.7.0b3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
secantusdb-0.7.0b3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
secantusdb-0.7.0b3-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 87.8 MB

Release files / secantusdb-0.7.0b3.tar.gz

Download URL secantusdb-0.7.0b3.tar.gz
Size 16.6 MB
Tags Source
SHA-256 checksum
How to use checksums
8b77591cd9281d8244d6e01334fc5e1f81a9ddf1702b022e07e49f71f17d4f98
BLAKE2b-256 checksum
How to use checksums
2a31d0812ad5ca5b45bd8cbafa16973a6f89a08d5f40da1964cb47cc8724c003
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 / secantusdb-0.7.0b3-cp313-cp313-win_amd64.whl

Download URL secantusdb-0.7.0b3-cp313-cp313-win_amd64.whl
Size 2.7 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
0f063776cbe738eb068c9a717d8d2b8320894655c93ab3114b30f986b55f4b2e
BLAKE2b-256 checksum
How to use checksums
2631e478c9de2540536074fa87a3c45eb78b8914cc3739e97af6e2419539edbb
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 / secantusdb-0.7.0b3-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL secantusdb-0.7.0b3-cp313-cp313-musllinux_1_2_x86_64.whl
Size 3.1 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
219af599ee573e54d726b970fb51bdd7d871a17f319455c6c5837ff4fff91f07
BLAKE2b-256 checksum
How to use checksums
e3a4be8ac802ad8286296c2d08d43c7c6b7efebcac121becbe48f8ca130ab987
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 / secantusdb-0.7.0b3-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL secantusdb-0.7.0b3-cp313-cp313-musllinux_1_2_aarch64.whl
Size 3.0 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
2350a95f86ebb2f9ff46471064800bc06e298d4bb4264dc2971093fa259ee7a9
BLAKE2b-256 checksum
How to use checksums
55bae34202385a65bd53b8174512efdd1662fab3d3134620f1821a991ee3767b
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 / secantusdb-0.7.0b3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL secantusdb-0.7.0b3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 3.1 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
17e39ed4b962be8f79d7554e06b9d5f02f8fb4f27cde7ed454f9024f645d00c1
BLAKE2b-256 checksum
How to use checksums
4572ce133c7213a3bfe3f11a5ee506d00ed9956154767e4a81f215546e07c98b
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 / secantusdb-0.7.0b3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL secantusdb-0.7.0b3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 3.0 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
edbfc1a9652ff25c23eeafc6091044114578bbf5915fd7b0f5d6db8469453693
BLAKE2b-256 checksum
How to use checksums
53fba15e0b546140f8cb5dad913b244edc318dd5784a9da862faafe6fa40cd5b
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 / secantusdb-0.7.0b3-cp313-cp313-macosx_11_0_arm64.whl

Download URL secantusdb-0.7.0b3-cp313-cp313-macosx_11_0_arm64.whl
Size 2.8 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
51a2dccec2d60d292dfa656b14e921ac300c7de2568fe1c9e7d3bd2f96bf202a
BLAKE2b-256 checksum
How to use checksums
0fb1804e1c02d0f89a5fe49a992aa49c596154a3d608834c6af578c34b2ed960
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 / secantusdb-0.7.0b3-cp312-cp312-win_amd64.whl

Download URL secantusdb-0.7.0b3-cp312-cp312-win_amd64.whl
Size 2.7 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
844e4b012a33d5cf64f8b454262c9e60f436cb1cac2491e3c36a1fe522df0476
BLAKE2b-256 checksum
How to use checksums
cc26b07eeb11fdd5fa1b671c75ae489dbced4076699a53af7ea071551629552e
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 / secantusdb-0.7.0b3-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL secantusdb-0.7.0b3-cp312-cp312-musllinux_1_2_x86_64.whl
Size 3.1 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
4124f017d13f370492faa2a3e3c78911e1382201030cee6d6f9c4c908f375334
BLAKE2b-256 checksum
How to use checksums
10678381ae977215078a1c7cb083a27404c970cc96c41dc6bbea6f02e7efa347
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 / secantusdb-0.7.0b3-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL secantusdb-0.7.0b3-cp312-cp312-musllinux_1_2_aarch64.whl
Size 3.0 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
6521a1d3a95b180a41f0d91d6042c7c1f3f7a9ac6ed1f180174f75ae63e58a6d
BLAKE2b-256 checksum
How to use checksums
6c1b602766e71d3278d74e5f2d4741cf25d6859d12938a7cc4a920312e48bfc0
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 / secantusdb-0.7.0b3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL secantusdb-0.7.0b3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 3.1 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6240de589ec53a4de0701d026e9131097464ac5a1eaa47eb0001c5fcb76a9150
BLAKE2b-256 checksum
How to use checksums
c7adddebf7deee2b8d9cdef2c166e182e58ed693c65198114dfc1c1abad40958
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 / secantusdb-0.7.0b3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL secantusdb-0.7.0b3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 3.0 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9378836e42d2dd6cf7b750d0af01b2119eb0f0c1be0e5b3541450c2c0f0e4aed
BLAKE2b-256 checksum
How to use checksums
5f73974d0d62ce1b4a08caf3de9ac1cfbda9b5f07d7e3359d6e20ec71bdeb8b0
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 / secantusdb-0.7.0b3-cp312-cp312-macosx_11_0_arm64.whl

Download URL secantusdb-0.7.0b3-cp312-cp312-macosx_11_0_arm64.whl
Size 2.8 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5f2b2415bed673caf9e1ca9387e24722358e636b7e5a4f3dd3fdd4de05f94d8e
BLAKE2b-256 checksum
How to use checksums
4feebb97d4783568c0e89c1ee8977bc2dd95d7a188ed50edf7ffb01ff0e9146c
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 / secantusdb-0.7.0b3-cp311-cp311-win_amd64.whl

Download URL secantusdb-0.7.0b3-cp311-cp311-win_amd64.whl
Size 2.7 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
f11456e77f35c2b263d49a683835ff95ab182bc1970488ac58e758472ae4d197
BLAKE2b-256 checksum
How to use checksums
78ede89a76c8702b228deeebc0d8ce1363907e5bf9a43df99fc2b475de44f832
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 / secantusdb-0.7.0b3-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL secantusdb-0.7.0b3-cp311-cp311-musllinux_1_2_x86_64.whl
Size 3.1 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
5108ba897b0640cb053393e11bbfcf15af836e905d2031b590d82fd623ce49df
BLAKE2b-256 checksum
How to use checksums
63b37bf45d16d652650f8588cc89f16fbce1e6ccf8d6a701c513a6d2fe9372fe
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 / secantusdb-0.7.0b3-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL secantusdb-0.7.0b3-cp311-cp311-musllinux_1_2_aarch64.whl
Size 3.0 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
fda2f61c2428431e9d3b1ae25bf59c41bd2ee491de1593622066d845695c0a68
BLAKE2b-256 checksum
How to use checksums
95d438216d6705a1ad9955410faeed58f5afeedec9330d7843a6198deda3f5d8
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 / secantusdb-0.7.0b3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL secantusdb-0.7.0b3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 3.1 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0a21af2f488d5263c45beb328e68cea989217edf6a385fc491c24ea62ac3cec0
BLAKE2b-256 checksum
How to use checksums
7092fc6b177d33181d0a128322aea22a0b211cb3aad86eb83ea0d0591003c054
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 / secantusdb-0.7.0b3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL secantusdb-0.7.0b3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 3.0 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ba26333efc24f3b6c621ffa0b463a15e0d5f75ed34b33f6eeede8a3f9af2a64e
BLAKE2b-256 checksum
How to use checksums
b1d8988109fe14196869de6c61efd2014d17c8e6f5cfa2e98650482c3523451e
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 / secantusdb-0.7.0b3-cp311-cp311-macosx_11_0_arm64.whl

Download URL secantusdb-0.7.0b3-cp311-cp311-macosx_11_0_arm64.whl
Size 2.8 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5f94cd7d78d9bda488867429e7f08f2fb95b3a9dae75f14518dcc7c1815e0d3e
BLAKE2b-256 checksum
How to use checksums
b619d33e552f3e5e7576921f4154c7ed255c23233a50060af2187fe4892560fd
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 / secantusdb-0.7.0b3-cp310-cp310-win_amd64.whl

Download URL secantusdb-0.7.0b3-cp310-cp310-win_amd64.whl
Size 2.7 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
0b84368c9cf2edeaf9262463fe3b812576efd2c9f2dfcc6cae7bd1e8e1ef873d
BLAKE2b-256 checksum
How to use checksums
8ab7ab732769fad39b1da04fa8280a85d4a35ca26e4c90faf17dfde768d2dc8a
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 / secantusdb-0.7.0b3-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL secantusdb-0.7.0b3-cp310-cp310-musllinux_1_2_x86_64.whl
Size 3.1 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
9f957daf3c030621d45c6b26e01576d8582d7a2cd2e2b53fcc20ee950c9e3796
BLAKE2b-256 checksum
How to use checksums
6e08c34ff9131114d62c54bef71e1ace4be1d592c9870c290187aab35ea05a6a
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 / secantusdb-0.7.0b3-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL secantusdb-0.7.0b3-cp310-cp310-musllinux_1_2_aarch64.whl
Size 3.0 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
26473440813bc51a937cbf7383a79eadcaeddefbc83146b12dd4da3685a448d6
BLAKE2b-256 checksum
How to use checksums
47f90aed663180cf5703d163ab5833a0e5822a637b4a3bbb3858dbd03ed6b1ae
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 / secantusdb-0.7.0b3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL secantusdb-0.7.0b3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 3.1 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b248b4b1372460ed1d83c4d58b39cfbf0ef23b6b161e561a592420fc49898e82
BLAKE2b-256 checksum
How to use checksums
17e96e14f206446906b5b1cac03ee5d91125a0005fb8763ad136a64d3e421521
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 / secantusdb-0.7.0b3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL secantusdb-0.7.0b3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 3.0 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
f18bea92ae6fc63490c15800d06fcecffc0007a7bb728a6aa91b348917e8fe16
BLAKE2b-256 checksum
How to use checksums
f52676ca86eaa4606875690432f3f40b4768c79eac45c293408822063250059e
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 / secantusdb-0.7.0b3-cp310-cp310-macosx_11_0_arm64.whl

Download URL secantusdb-0.7.0b3-cp310-cp310-macosx_11_0_arm64.whl
Size 2.8 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6563b94f288f0fde3db371ce6321600d854db668d55ec4fc9e1bc44d6a6af4bf
BLAKE2b-256 checksum
How to use checksums
df6513865af1dcd5a5bfd9571766acf222f460452d1da2c857a4b50e8e3f3063
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 SecantusDB 0.7.0b3

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 25 files in this release have been uploaded with provenance metadata.

Select from 25 files

Attestation for secantusdb-0.7.0b3.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.

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