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.0b10.tar.gz (11.8 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.0b10-cp313-cp313-win_amd64.whl (15.0 MB view details)

Uploaded CPython 3.13Windows x86-64

secantusdb-0.6.0b10-cp313-cp313-musllinux_1_2_x86_64.whl (17.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.6.0b10-cp313-cp313-manylinux_2_28_x86_64.whl (17.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

secantusdb-0.6.0b10-cp313-cp313-manylinux_2_28_aarch64.whl (16.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

secantusdb-0.6.0b10-cp313-cp313-macosx_11_0_arm64.whl (15.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

secantusdb-0.6.0b10-cp312-cp312-win_amd64.whl (15.0 MB view details)

Uploaded CPython 3.12Windows x86-64

secantusdb-0.6.0b10-cp312-cp312-musllinux_1_2_x86_64.whl (17.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.6.0b10-cp312-cp312-manylinux_2_28_x86_64.whl (17.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

secantusdb-0.6.0b10-cp312-cp312-manylinux_2_28_aarch64.whl (16.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

secantusdb-0.6.0b10-cp312-cp312-macosx_11_0_arm64.whl (15.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

secantusdb-0.6.0b10-cp311-cp311-win_amd64.whl (15.0 MB view details)

Uploaded CPython 3.11Windows x86-64

secantusdb-0.6.0b10-cp311-cp311-musllinux_1_2_x86_64.whl (17.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.6.0b10-cp311-cp311-manylinux_2_28_x86_64.whl (17.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

secantusdb-0.6.0b10-cp311-cp311-manylinux_2_28_aarch64.whl (16.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

secantusdb-0.6.0b10-cp311-cp311-macosx_11_0_arm64.whl (15.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

secantusdb-0.6.0b10-cp310-cp310-win_amd64.whl (15.0 MB view details)

Uploaded CPython 3.10Windows x86-64

secantusdb-0.6.0b10-cp310-cp310-musllinux_1_2_x86_64.whl (17.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.6.0b10-cp310-cp310-manylinux_2_28_x86_64.whl (17.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

secantusdb-0.6.0b10-cp310-cp310-manylinux_2_28_aarch64.whl (16.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

secantusdb-0.6.0b10-cp310-cp310-macosx_11_0_arm64.whl (15.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: secantusdb-0.6.0b10.tar.gz
  • Upload date:
  • Size: 11.8 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.0b10.tar.gz
Algorithm Hash digest
SHA256 7ddfd25285785c6ffc20ebcf6434848ca2ba8b8f32d4b7b6b010c7bf6fcdc0b4
MD5 241ab021dc89d345e0fcfe604343fffd
BLAKE2b-256 e73e64d0096e554576ba5f3f7463d0e2d1c845cdfb348cb4655c79954925879e

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10.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.0b10-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a9afb1dd8c1a9420a332bb4b40581de786d0ad187014095ae6713bda1ab75845
MD5 35641011c552b6d6590d2bf434fdded9
BLAKE2b-256 9babcd8ca8f76edebdd8f213cf9e7bb45c54372bac9508b5b099993cb1904072

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bb17316318b153fd24167b184e1311511f8f043243815615bbf1fdfb625ca071
MD5 7e629dfcb102c93cb759d4b28ddd1767
BLAKE2b-256 fda0d9de7a59472cfd196f31124193bccdaf0c894110484c2921c8a400e7dffa

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 898f0a0a232bfaf18ee884a72898863d677fd42dad257aff875c1ab1ecdf9063
MD5 29f0028728e4be2ed3ad1aa8d6f0f9eb
BLAKE2b-256 a23a1298368af64d308377789c94fb8111da52b6923beb3e592d2c95376534c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3540c4e0ca8f4ebb8b07f19b818f0892ad7db60f2361fe4d95c40715da1e3b04
MD5 ac64f020af82acfd824166b0e6aa7018
BLAKE2b-256 ea3583a366a9399a5a7b3c2d33115cfac824778c03caeaff737c61eeab34ba0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 56a25227a6fea51c29baeb1ec215aaf4542622efd7a25a8dcad085673277ad78
MD5 16769e32c72f50194f84c2b7cc47a856
BLAKE2b-256 99fa0c4d6fad82c49441a9c02094704b08f0d2bd0563b56470e193cbbfb94482

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 343b3253699ca0db0495b3cfa964341cca43670d2902687bce3c9787bc1022fd
MD5 315b4c3d48b4ab1e75041b2b101195db
BLAKE2b-256 5b51757fcf0e665acd91557c60baa6029391a3866d8a8ee677d15e058556e159

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 634d6ace020d0bafb6221b33bb46b4130ab80e2ceaf51a00017a97bc8a5d2390
MD5 9894e5499b08a4d3252d3a63b97c678e
BLAKE2b-256 b0254e6e41f80d0c8fc248bcc82404bf0a580176148f80ad9a00080882418018

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6b59ac6a464027be6c96b3013595cc7c35a2a04e513f97d6b449a3685ddf351f
MD5 b17a2036f384802ebd5deabdb81b000a
BLAKE2b-256 8db19be97d4a8ebfc2ea1744a97dee674c26a5084f3196334311f1efd18567fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 84b7541880374a803104686c9303746321112bf0943d43737769b941fdce5859
MD5 5d8ce0904f281a01b6883b5cc087ff27
BLAKE2b-256 3f6663b186211eb11c1702d696c3f86fb58662760935b1dcf50d9fb92432a107

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fca6ad7767313eb9411f779f1a41161e1b9b6b2e63354dc4aac98742b64a9e00
MD5 fdc475dcfcbc554d98a3d85909829e02
BLAKE2b-256 46fe56cc5dc23b41d9a0ef71bc59b96a64e92de2174c4bbb6d090b9fb2c471d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c0b294927d865d03f7fc6502ebe958c0d9a7b9dfe8a503188f9153dfc3a85990
MD5 8bd999eaf1b060f73677ceb4e8d03546
BLAKE2b-256 1902029b323d9e8fb61524ad4929e3451abfe7f625ba416705eef0e7bddc23a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 644e48cfb393a9a0b048a3bbd47120d4745c0cc502f746d6fda0254edd075218
MD5 e8c7ccd3f7fdd7c22c245dc5880183a0
BLAKE2b-256 050612dd9de6b4001b2850932a40db5b811ec555958ed83b8171fea24ed8c29c

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b03b7ee1dfad43971855f04325fe6e13cb968e526c7186ad592a5d0d063679a0
MD5 79cd485a9e3f8926ebbc640db4abcc02
BLAKE2b-256 ae5b09bfe8fa6155293ab4624d16072eb0d3c662400ca193c0f220892efd8b51

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 85fc4a73eb3babd35a69ae8c918d9888be990fad3deab6eff10d9c69aff913cf
MD5 3b76068d8572ba1daf3cdab0fe885d9d
BLAKE2b-256 1bdbfbf015c658f90e7f31047b718f94ce1c14f6a10196031159cfe7d49a7e62

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fbb2dfb0c05bd50002ec183f60b150808d496a5051b93141f68fe3788d780b75
MD5 c30de27481d9d1492bd7ceeaeff12ce8
BLAKE2b-256 ce83587ab8f38a3c37c3fff6e10000129e0f4850ec54515f3db0cc868ecd0b1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a7dc22c0020e71cf4bd78ba387fb330f73828cdfb766b7eba4596307d7f2cffb
MD5 9674c5cd63d8a0df1bd6acdbe6053caf
BLAKE2b-256 4e7e93ac32ebde066e86b5a127116b0031c4beab5361f308e5c76768d9565333

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 931e03c8da2a938a9da6148c9acc7880033a628a2620f204b54995d2a4e933e1
MD5 a6f24943dc11d772548aba264c61a186
BLAKE2b-256 6162450514356c805227966c44aef6c03de89997bdd4afed2065e7b28e82e09a

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf72abd273fd99b279203fa0c159e97fe2ae5c497bdc1c56ae60adeb9549913e
MD5 ec679360253d7a1a98a870578f2dfb1d
BLAKE2b-256 7a05e812a758f8b27d0949c34ad1e376bf9dda87bbcdd274d51928d4beaaa10e

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 017ac2d6e480ac17d2ad4756cef3e6a884ccef2efd7ee564c0c63ce6a79864bc
MD5 7dc322d8892fb86921ae9976a079a21f
BLAKE2b-256 a48aa6cdc57a98a8ce5927e09ae9b05b5cb0b769baa69be8d6256da4c50ec830

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5370dc814030304ed96cb3e6e8be543ed77777d78ef53e77cb6134db1a264f47
MD5 e6e325c4924c60a41b38dc54806b22b6
BLAKE2b-256 e20125cb4ecdcd4ca22f81ed0d23a38a989f43a08bd2b00449db505c7c21053c

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c45b411b75372de5eb6137d0c6d7ead2e2e9e3c8dd17746c5c3764ae497d6742
MD5 9171a48c46c5194abc9e7250dd137322
BLAKE2b-256 6b88791f5aa18c060504ebdea8a12379ef245da12d39db13be93d81838fb8c58

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a77523e1180e89e02b05297ba17f19e4197b380ec8ce6a9db953a7bbe2e25c63
MD5 a3fb92cd3a769e3c48838cf083637ba8
BLAKE2b-256 e675c888e74b66179bcbe0d501ad5701bb6db7d5142ec35d23ed4dcbba8e0618

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e0737c3252a2be8fdfbffb03d162a16cee160713ad30772c2c2e6a180f333de0
MD5 968f3b57789504b91175b7c92643b35a
BLAKE2b-256 021e555d2529006b85ddee0fdafa7fc469a1e355f20c560d3aa81db1e31f2974

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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.0b10-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.6.0b10-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 43f5335db4f45eaa3aabf9dce57d55b72009b7c3e27c1674a1c618f88208f156
MD5 9fcc0b01be77d57d27e5f595871968b1
BLAKE2b-256 88d9094d8a6c1b9f7aedd4d9655c5935f25870cab7bc7e2404e245afa27055e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.6.0b10-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