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 Tests: 584 passing License: GPL-2.0-only (code) + CC-BY-4.0 (content) Python: 3.10+ Documentation

[!WARNING] Beta software.

SecantusDB is past initial proving but the Python API surface (CLI flags, public class signatures) may still shift before 1.0. The on-disk format is WiredTiger's — the same engine MongoDB uses — and the schema we layer on top (collection / index / oplog tables) has been stable across releases; the test suite runs against real on-disk WiredTiger storage and the persistence tests explicitly verify close-and-reopen round-trips. That said, we don't yet ship a migration tool or a formal compatibility guarantee, so please don't put production data here yet — production deployments that need durable data across upgrades should still run a real mongod.

Drop-in MongoDB for single-node applications. SecantusDB is a real MongoDB server written in Python: it speaks the MongoDB wire protocol on the same TCP socket a mongod would, so any standard MongoDB driver or tool — pymongo, mongo-go-driver, mongosh, mongodump / mongorestore — connects unchanged. Point a MongoClient at it and your application code doesn't know the difference, as long as the application only needs single-node behaviour. No mongod to install, no port conflicts, parallel-test friendly, embedded or as a standalone daemon (secantusd-py).

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

from pymongo import MongoClient
from secantus import SecantusDBServer

# On-disk by default at ./secantus-data; pass storage_path=":memory:" for ephemeral.
with SecantusDBServer(port=27017) as server:
    client = MongoClient(server.uri)
    db = client["mydb"]
    db["users"].insert_one({"_id": 1, "name": "Joe"})
    assert db["users"].find_one({"_id": 1})["name"] == "Joe"

Storage engine

SecantusDB uses the same WiredTiger C library mongod ships — vendored at vendor/wiredtiger/ (mongodb-7.0.33), built from source into the wheel, called via WT's official Python SWIG bindings. There is no Python re-implementation of the storage engine: B-trees, page eviction, write-ahead logging, durability, on-disk format are all pure WiredTiger. Your data lives on the same battle-tested engine mongod uses.

That doesn't make SecantusDB as fast as mongod — the layers above storage (command dispatch, query planner, aggregation pipeline) are Python, and a like-for-like benchmark currently has SecantusDB ~1.2×–24× slower per operation than mongod. CRUD reads sit near the lower end of that; bulk update / delete and aggregation sit at the upper end where Python loop overhead dominates. See docs/benchmark.md for current numbers and methodology. The right use is tests, dev, embedded apps, and single-node prototypes where conformance + WT durability matter more than per-op latency.

What's in scope

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, 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, partial, TTL, sort — proper explain output (IXSCAN vs COLLSCAN), and a hash-join $lookup.

Authentication: SCRAM-SHA-256 — MongoDB's default since 4.0 — is implemented end-to-end on the wire, alongside native TLS / mTLS and the MONGODB-X509 cert-as-username mechanism. Off by default; flip SCRAM on with secantusd-py --auth (or SecantusDBServer(..., require_auth=True)), provision users with createUser, then connect with the standard MongoClient(uri, username=, password=) shape. See Authentication. Authorization (RBAC) is not enforced — an authenticated principal is currently treated as fully privileged — and LDAP / Kerberos / GSSAPI / AWS / OIDC auth mechanisms are out of scope.

What's out of scope: real replica sets, sharding, RBAC, auth mechanisms beyond SCRAM-SHA-256 / 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. Native TLS + mTLS, multi-document transactions (with WiredTiger-native rollback), and geo support ($geoWithin / $geoIntersects / $near / $nearSphere, $geoNear, 2dsphere and 2d indexes) are all in scope and shipped.

SQL / PostgreSQL interface (opt-in)

SecantusDB can also speak SQL over the PostgreSQL wire protocol. Install the extra (pip install "secantus[sql]"), start a SecantusPGServer — optionally sharing the same storage as the MongoDB server — and connect with psql, pg8000, or SQLAlchemy over a postgresql:// URL:

from secantus.sql import SecantusPGServer

with SecantusPGServer(port=5432) as server:
    ...  # SELECT / INSERT / UPDATE / DELETE, JOIN, GROUP BY, transactions, ...

Or run it as a standalone daemon — pip install "secantus[sql]" puts a secantusd-py-pg script on your PATH:

secantusd-py-pg --host 127.0.0.1 --port 5432 --storage-path ./secantus-data

SQL is compiled down to the same query / aggregation engines the MongoDB side uses, so it inherits index acceleration and the type system. A collection written with pymongo is queryable as a SQL table with no CREATE TABLE (schema-on-read), nested documents surface as jsonb (->, ->>, #>), and BEGIN / COMMIT / ROLLBACK are real transactions. Auth (SCRAM-SHA-256) and TLS work the same as on the Mongo side. 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 (manylinux2014 / glibc, and musllinux_1_2 / Alpine)
  • Windows AMD64

macOS Intel (x86_64) is not in the wheel matrix; use a from-source install if you need it.

WiredTiger is vendored inside the wheel — no separate package, no compile step, no system build tools required.

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.

The Rust server (separate)

SecantusDB ships two separate servers on independent version lines: the pure-Python server (this package's SecantusDBServer) and a self-contained Rust server that speaks the same wire protocol off the GIL. You run one or the other — there is no in-process engine switching. The Python server is always pure-Python; the Rust engines live only in the Rust server.

The old in-process accelerator (SECANTUS_ENGINE=rust / SecantusDBServer(engine=...)) has been retired in favour of this two-server split.

The Rust side is a Cargo workspace under crates/: a pure-Rust engine crate (secantus-core, no PyO3) reused by the Rust server and the standalone secantusd-rs binary, plus a thin PyO3 bindings crate (secantus-core-py) that builds the secantus-core wheel — the vehicle that pins each Rust engine byte-for-byte against its pure-Python counterpart.

pip install "secantus[rust]"      # pulls the matching secantus-core wheel

The Python server is the conformance leader and the default choice: it passes 99.2% of pymongo's own test suite. The Rust server runs the same unmodified suite and currently passes 92.0% — it's faster per operation (see docs/benchmark.md) but is still closing the gap. The features the Rust server doesn't support yet — showExpandedEvents DDL change events, large change-event splitting, read / write-concern semantics, timeseries _id non-uniqueness — and a side-by-side of when to pick each server are spelled out in The two servers.

Standalone daemon (drop-in mongod replacement)

pip install puts a secantusd-py script on your PATH. Run it like you'd run mongod:

secantusd-py --host 127.0.0.1 --port 27017
# storage at ./secantus-data by default; pass --storage-path :memory:
# for an ephemeral temp dir cleaned up on shutdown.

The same pip install secantus also puts the standalone Rust server on your PATH as secantusd-rs (same flags, same wire protocol; see The two servers) — on Linux, macOS (Apple Silicon), and Windows. Intel-Mac wheels are pure-Python.

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

mongosh mongodb://127.0.0.1:27017
mongodump --uri mongodb://127.0.0.1:27017 --out ./dump
from pymongo import MongoClient
client = MongoClient("mongodb://127.0.0.1:27017")  # same code as for mongod

The conformance gauges back this up: the official driver test suites run unmodified against SecantusDB — see the conformance validation summary.

Examples

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

from pymongo import MongoClient
from secantus import SecantusDBServer

# Ephemeral here so the snippet is self-contained; the production default
# is on-disk at ./secantus-data — drop storage_path or set a real path.
with SecantusDBServer(port=0, storage_path=":memory:") 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 — Python vs Rust server, which to use, and what each doesn't support yet.
  • 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 — every supported driver's own test suite (pymongo, Go, Node, Java, Ruby, Rust, and the PHP library + extension) run unmodified against SecantusDB, with a cross-driver summary table and a per-driver report for each. 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
uv sync --extra dev
uv run python -m pytest    # 584 tests, 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 contentCreative 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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

secantusdb-0.6.0b11.tar.gz (12.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

secantusdb-0.6.0b11-cp313-cp313-win_amd64.whl (15.1 MB view details)

Uploaded CPython 3.13Windows x86-64

secantusdb-0.6.0b11-cp313-cp313-musllinux_1_2_x86_64.whl (17.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

secantusdb-0.6.0b11-cp313-cp313-musllinux_1_2_aarch64.whl (16.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.6.0b11-cp313-cp313-manylinux_2_28_x86_64.whl (17.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

secantusdb-0.6.0b11-cp313-cp313-manylinux_2_28_aarch64.whl (16.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

secantusdb-0.6.0b11-cp313-cp313-macosx_11_0_arm64.whl (15.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

secantusdb-0.6.0b11-cp312-cp312-win_amd64.whl (15.1 MB view details)

Uploaded CPython 3.12Windows x86-64

secantusdb-0.6.0b11-cp312-cp312-musllinux_1_2_x86_64.whl (17.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

secantusdb-0.6.0b11-cp312-cp312-musllinux_1_2_aarch64.whl (16.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.6.0b11-cp312-cp312-manylinux_2_28_x86_64.whl (17.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

secantusdb-0.6.0b11-cp312-cp312-manylinux_2_28_aarch64.whl (16.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

secantusdb-0.6.0b11-cp312-cp312-macosx_11_0_arm64.whl (15.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

secantusdb-0.6.0b11-cp311-cp311-win_amd64.whl (15.1 MB view details)

Uploaded CPython 3.11Windows x86-64

secantusdb-0.6.0b11-cp311-cp311-musllinux_1_2_x86_64.whl (17.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

secantusdb-0.6.0b11-cp311-cp311-musllinux_1_2_aarch64.whl (16.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.6.0b11-cp311-cp311-manylinux_2_28_x86_64.whl (17.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

secantusdb-0.6.0b11-cp311-cp311-manylinux_2_28_aarch64.whl (16.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

secantusdb-0.6.0b11-cp311-cp311-macosx_11_0_arm64.whl (15.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

secantusdb-0.6.0b11-cp310-cp310-win_amd64.whl (15.1 MB view details)

Uploaded CPython 3.10Windows x86-64

secantusdb-0.6.0b11-cp310-cp310-musllinux_1_2_x86_64.whl (17.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

secantusdb-0.6.0b11-cp310-cp310-musllinux_1_2_aarch64.whl (16.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.6.0b11-cp310-cp310-manylinux_2_28_x86_64.whl (17.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

secantusdb-0.6.0b11-cp310-cp310-manylinux_2_28_aarch64.whl (16.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

secantusdb-0.6.0b11-cp310-cp310-macosx_11_0_arm64.whl (15.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file secantusdb-0.6.0b11.tar.gz.

File metadata

  • Download URL: secantusdb-0.6.0b11.tar.gz
  • Upload date:
  • Size: 12.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for secantusdb-0.6.0b11.tar.gz
Algorithm Hash digest
SHA256 56333d2c0fd7a96d51455bc540585c5d0b99e660e53176d173f37d5443645477
MD5 8d1b5c02a7caa7f87e86381ca215a17a
BLAKE2b-256 c7179445e370c91157aa2f08e35b60b843bf24a2d8a9e6d73cc2a91ce5f28d6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11.tar.gz:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8d1f482a628883c714099662c5025f071e42c3bd69085074493770ab2c31cb0c
MD5 668a27724456d61a8c4c2e859ec3ab44
BLAKE2b-256 0e152b686b7d969ae378eab27437c575099a5771f5b0ffe74e36de2dd18db29e

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d38b170c2a092640e6c1ec54693f6f3bd8994121d20f4ef784022f43be2bb727
MD5 a59e58d4aa782d7e26e46ec858c8bc18
BLAKE2b-256 251e82a1b86bd7dc05f1313804440ac29b1b3ecf35186467fb21257584aa66d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 444340ef276dab705ba3123df2a803671429fd7f33a4f014794bcf06acf72935
MD5 27851aaef336d40a1014989408cb0ff6
BLAKE2b-256 c47bc0a57f78ccc8d825aadbfd1816e52c6e6dd6bac2a07aead958bc50b4cfaa

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 34479f91fbcfe9147f975e68ab289f51095a4491187678926241cc3454e8c628
MD5 423d899b880454a9a8cbfdba62d9e017
BLAKE2b-256 fc5ed2b95bde701d0608b8e0e46de11298d654c31d0c5e6ac8ffb761bed7a3b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 efc3cf1bdab9908175afc47c3b92c799a6ff392cd59707af5908acd266c52944
MD5 d5fb3f3a55197c0078c194a0ac875e30
BLAKE2b-256 faddd45697c77bc8b0294514b44e995dd1c190711862eba0353d44ac46781001

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b47e07977eaf8752edadcdaccbc966425730e64ce63644d668be234adbbe5e7d
MD5 9e52ac144da42f3241facb0a1a867860
BLAKE2b-256 ef2777dae31c3d68fe97cdd1ed172143935bfdaf7b1e1f883a259fb37764d7b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 29bd19ae0f1fa89e5ff2817913b08f50c507fee9c0e43bb199b7e43ee5ae9a49
MD5 e6516d9a53791ce1a622d46ca009a66a
BLAKE2b-256 fa9b3f714058ac6a89184a7acd82fff3539b9bead9df440e923855b61bd33b46

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2b6d7b002dea25a0a6dd141ee59d261ec2cdfb919c0a22d3edc29daed605736e
MD5 20a04eeab53fb10cd13bfa9cd276bc92
BLAKE2b-256 ae2c258229bb0cf57314af84c1ff5717eb591a683463669185de27eeb3e8b099

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 599a10cab440d8683cc700124873c3518e1af76397f6b2935940ed864e0da96f
MD5 0176efe733c09ed1e43f3a3c5498b422
BLAKE2b-256 5bf8457df50f8bb9b6365be0fb201bba0fe72958d09c377bc2b9b0e69e6df1ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5a843ca6e9b708cae6c97641e81d8bc759a705e8c03b20a00a9253ae33e5b42b
MD5 918a9d738b1013f3ef2bd339ad631f13
BLAKE2b-256 824b509e5d5a5634fb6e857ce2cc0dbc2e6ff9d16751f0256216c0bef59450da

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 385cbd71695c222955737469083257fce6cf5e88ed62f4bacac84a426ef19277
MD5 7c008369f661b00ff52696bef413556e
BLAKE2b-256 c7307d137403f620a9391b981eb72c01e558f5105ad112ea8e19a474e1192a62

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 159002f7254803bf6db1dd1f08ba08884fce8dcc07d23e891d76ca568e7941eb
MD5 63cdd221f74735e4fdc281bb776897ac
BLAKE2b-256 de99bfddd7d6222e2e7ebc76522f349d996254d3de1816eff29c5af987b9b53a

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8ac614683ab67fc09ae5afc9fee1dd5aa857e169d2a40a7ac8fdb9aea20d472e
MD5 503dc496ffdbd902cd2f7fc718985d53
BLAKE2b-256 8c61852456dffaa20c3906aa18e995b60d7f7c59282c196e959153d3a5e91c23

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bd6242a519ee3b9054fa9903720b0eb697107b1446f77e9f371ad4037ea57b9c
MD5 5ea43b7ae72ac97d33f399fc82e5f4e4
BLAKE2b-256 6b1c5731b5c0680641221107ce6754625137cde6189f216fc77d242f95a6ce0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9e534966ef1c2566beb719618b7242112768b0131b49e1c5436867147e6abb05
MD5 a50a0f097c5651f7ed2e6d74f98f5928
BLAKE2b-256 d9eccb28e1095aacec64807ff5f2674a9f6c06995eef75850712f147f5e087e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 936473ba8ef22e237f530c9b0ec2ba830a1ec22dee255904ef1ca3b8120a272b
MD5 e6919b74c1d2d67416947a4f9d8bf1bd
BLAKE2b-256 7e9d5cba782abb5791bec48223840c970f31a95440e6c5fe943957bb16ab99f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 259472c78555354d3ad53b1e1027bde896acfe7e1736f1883beeac28dd2f31f0
MD5 345daceb4b908dd9e3043574ab296e9e
BLAKE2b-256 5defdd6ca8b83d25ccc81b88c06894ed51f7a914d43cf3b976cc9fce18207aac

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e2a0a50c4eb3c9421c4a8823e6eea067a4ee1a0ee8fbe7d36760507370e900a7
MD5 665cc72ae6ff790b3055c48ebf56656e
BLAKE2b-256 11738398682bf01b8cde7f935f36c85f3f01eb8045dfaf23edb3a710aae58fed

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5be4f53bdbac0142218f3ab635baa736ad3a1509c6d4c3f6507f6925e9d3326e
MD5 ebae2b8cb7f648f1e7669871587410af
BLAKE2b-256 dccd3a350aaecfaeb6992c1650ddcc9204b829609104cb2d283c3a963e090818

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 22619b476751b548b824e5a4f62603903e88f84c7820272da83bc56bfe33e960
MD5 c4f1ba88a6f98dafa546467b459f0907
BLAKE2b-256 4e4735664ba86eefb75f2308c2826202f677485883c537d1e956654eba33edca

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 990dbe1c450967a534c00fd8d8f080283418255d5a9db51aa8f623aaeba30e42
MD5 adce2ba96f6a44da6a5a8b6c20d70477
BLAKE2b-256 242501fb21bd4369b3c57eb67ccc7be2dbd6a5cb8096eb8c3fea0d38cc805577

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 952ec47ba3fa645a84c9a651e4c50656484a3a5d692130bb57cfb3616aa92edd
MD5 0415e98831dba9d82a347c23ea91c9e8
BLAKE2b-256 5faddd8c34849a9a5b7548ca1164f515f7acb743009a654cb9cb1d79b950160c

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ea82d465f89dd5d964a97325c89e5bc0b8428fb44a486f25f48d02670c5a8de9
MD5 4bc48f0bda949eb8974c7a5f82e510db
BLAKE2b-256 92a66115547f1ab2f1ba2284bc5e7a82b276aa48eee8a7db4b6fffbd563c5c88

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp310-cp310-manylinux_2_28_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.6.0b11-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b11-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d1a0b5bdc9aa332b981be6979e6ef78cffd0f1849e3f04307eb754d2fb8aca42
MD5 3acc09777e0908a7a40637943c5443bf
BLAKE2b-256 f47aa70cad97700bdfe82978d2913b9672fb69b808845f2e4dd79bdb3bc1a4a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b11-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page