Skip to main content

An embeddable, MongoDB compatible, document database, built on WiredTiger

Project description

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 ~4×–17× 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.

Project details


Release history Release notifications | RSS feed

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.0b7.tar.gz (11.9 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.0b7-cp313-cp313-win_amd64.whl (14.7 MB view details)

Uploaded CPython 3.13Windows x86-64

secantusdb-0.6.0b7-cp313-cp313-musllinux_1_2_x86_64.whl (17.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

secantusdb-0.6.0b7-cp313-cp313-musllinux_1_2_aarch64.whl (16.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.6.0b7-cp313-cp313-manylinux_2_28_x86_64.whl (17.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

secantusdb-0.6.0b7-cp313-cp313-manylinux_2_28_aarch64.whl (16.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

secantusdb-0.6.0b7-cp313-cp313-macosx_11_0_arm64.whl (15.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

secantusdb-0.6.0b7-cp312-cp312-win_amd64.whl (14.7 MB view details)

Uploaded CPython 3.12Windows x86-64

secantusdb-0.6.0b7-cp312-cp312-musllinux_1_2_x86_64.whl (17.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

secantusdb-0.6.0b7-cp312-cp312-musllinux_1_2_aarch64.whl (16.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.6.0b7-cp312-cp312-manylinux_2_28_x86_64.whl (17.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

secantusdb-0.6.0b7-cp312-cp312-manylinux_2_28_aarch64.whl (16.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

secantusdb-0.6.0b7-cp312-cp312-macosx_11_0_arm64.whl (15.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

secantusdb-0.6.0b7-cp311-cp311-win_amd64.whl (14.7 MB view details)

Uploaded CPython 3.11Windows x86-64

secantusdb-0.6.0b7-cp311-cp311-musllinux_1_2_x86_64.whl (17.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

secantusdb-0.6.0b7-cp311-cp311-musllinux_1_2_aarch64.whl (16.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.6.0b7-cp311-cp311-manylinux_2_28_x86_64.whl (17.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

secantusdb-0.6.0b7-cp311-cp311-manylinux_2_28_aarch64.whl (16.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

secantusdb-0.6.0b7-cp311-cp311-macosx_11_0_arm64.whl (15.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

secantusdb-0.6.0b7-cp310-cp310-win_amd64.whl (14.7 MB view details)

Uploaded CPython 3.10Windows x86-64

secantusdb-0.6.0b7-cp310-cp310-musllinux_1_2_x86_64.whl (17.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

secantusdb-0.6.0b7-cp310-cp310-musllinux_1_2_aarch64.whl (16.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.6.0b7-cp310-cp310-manylinux_2_28_x86_64.whl (17.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

secantusdb-0.6.0b7-cp310-cp310-manylinux_2_28_aarch64.whl (16.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

secantusdb-0.6.0b7-cp310-cp310-macosx_11_0_arm64.whl (15.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: secantusdb-0.6.0b7.tar.gz
  • Upload date:
  • Size: 11.9 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.0b7.tar.gz
Algorithm Hash digest
SHA256 e1e66f48b8cb9ac92b9caf54eb651d8e427cb60852c3a5e011cf5f6245724107
MD5 b7d60056e1c40bbc5e62738bf9bd8f10
BLAKE2b-256 e9341cebf4d6541bcb7a1bf43273caf3fdd1260660059e7fbcc1b27a6d6ad5d7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 46ec4fd4bf94fab0bfcc035e0fd8669d0781a68ed3c92c44c25100b052d8a4e7
MD5 35b983a6b545d9be3c696ebeedd78286
BLAKE2b-256 1e1616e10477ab81735c17001b31a13614711d31ae72122a19049aef0e5c3965

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e55579b04915b9cab401618649ba8c2259e84a04785c883ff6c998d749704b0e
MD5 f809cf32758a3bcd1a2627550f283431
BLAKE2b-256 01358792d9d1c175424a03e77f5a46d97d3cbbe2c0490994c8b7642d443097bc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 592b8bac90c4e2c80617d368b8ed7798dd58d321af05b9ed692558d64f123dbb
MD5 97e11e964cd1708b6eccb597721b0949
BLAKE2b-256 085baf8f91c3677d663d66a06309319aac68444ad45aa738533bd0b6bca1595b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3232c017de125df41fa56737ca1900dd72b0760c601ffb956b548bd2caf1d675
MD5 aa24825989442bf30d0c837ba4dc0a94
BLAKE2b-256 61d6c71e1c5df762e1af9c84d41484522ac7079f419f9c97176eb9299f2cbc52

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c5877002b8a82ee23cfe3b936f86520bea1462a994f52c49d656c1e4e2b7a8d4
MD5 17725b816c366627042da39bb51ef71c
BLAKE2b-256 d7261d010e55922617346429a5f519f48974faf14b848c8d5cae9b63212b8111

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12ab29fdb0895461c2a9399dc20158473addaabe31ea7ac0d04878534741514d
MD5 068795721f11c42f84a2e7fdfb50f777
BLAKE2b-256 995eda4be32c07ee0be87d8343d9983ce702c012786af5f61e8eae2f9306f5e5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f9f484e08a592800e1d93f4e90775de8c8be67991b9858a70f4b5184f3f1bfe3
MD5 c9bd051d7eb8c53c1fbd7a9159c63811
BLAKE2b-256 14fc5d7132c2d8c47609105b40860a2b60d23e803013b40769db457b25a00bdc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cedfaa0b9cdc3b6d5996c38532de22f0f83a68e4f4c39e2f72e96380ca91babe
MD5 e4e3e48fb40dea0a6366a8fe36b0c7a8
BLAKE2b-256 f368a1dcfccb6db45f453789e8a15f4b5a8b99794baa24d021397b84351b4e56

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d7eee136c575d2fb45bfd565be0744c642b65289b74c388afb855725db3320c3
MD5 d40bf3e826c9722a8e7fd1c8e5e925ad
BLAKE2b-256 c7ec9a5b0e24c9359c2d7f0edbc3062f81a74ab961b40737a0d7435d52f09218

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f9d8eb1fe1595914bc2402d0cedc266042034a789fd87760d76ac41b8d2033f8
MD5 27b63c5897d3686cd733011ca017a839
BLAKE2b-256 390fd1ba04c2ee6fb7c71f5a0048f9cd608e10c38f9e9755903eff9a1cdc3ef7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 733a162d3b7efab63cf87b1cdb6252ccf086c3d1c6a7b4393f7be650fbe1d287
MD5 6b67e4db28e2d079e3dc3e84af9a23b4
BLAKE2b-256 979ed96bf1ce6503d5b7ec9fc36c31ac28522690de8ff885213008633beaa034

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e5b8d04d6afae496bfe0ac31116170b76aebbda99695f773b7c25671292d16dc
MD5 4a21e13b5a3515642c75aa47c5c314a4
BLAKE2b-256 425fe0451632b80c99798cfd5509d002d4dfadfeee74cd3b270f5458bbc276f5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b313b5ec7234e24b38fa10b4b81de6b3d9b6798dd913189841877a781d12d780
MD5 15aae40875d277bfd9e3151c6decd751
BLAKE2b-256 af8f4cb5d472b95dba6e78ee6df5a30d76b2afd545207ce47b5e4c5affc4c1f9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 819a22344ef507b2fd3f972062a68bb2e07d9db5db045606b8f03c43602dd81a
MD5 f7c99516372e8944a39c627fc138c807
BLAKE2b-256 bb6fe46bf9e9e29173d63aaea0455c29f084a7a584f35040e4d168afdaf816c9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bf4ce9a1e3e167a99332cb917362ce13518b4dd6fcdbd85d12849f6c520780a8
MD5 bb8fa19e6501edd930f98d8a66d76c02
BLAKE2b-256 9091c51b9b3a64f0618c6a7bc1b4e20da5c73bb19f6d463edc679c95d9a79edf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 31891333855d37f2453dab822a85dbac9b2a18c6717301ce4a0d9de7ce837383
MD5 6b89944666860921d0acec1c04140ec3
BLAKE2b-256 77ced7c022968177c4fee5039442f12d336fd645a2a357c4d129d3c32724a9d7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 283eb16a4e96ee42f74cac1e21bc25d078000e0ec4946872e6b3ead0f618a5ba
MD5 3cd0941470ca26470d0981b03883aa30
BLAKE2b-256 8347cb84a3d17f39701ad6a22bef2be9942cdc940b8bc569d68677ddd72833c1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1f5bc29a857c9fc9f8b730bef3707a2e2d7bf4ed56a83e071814a254a9a16bb8
MD5 d6285bc40321d81ad6db5e2f138cae02
BLAKE2b-256 222b24a82b2636d438c1ab3f76656a91b3eaa8f93358cf355a9c1f9b69aa30ed

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 dfcb0d1291850ca3142162cb6e23430ba64c6353475a66b69a12881ead1deb29
MD5 7a14c6cb4ada83d0a4cf4cf32f746400
BLAKE2b-256 f51926cc288afd849ac3379906f0a9263971e9f92e6bf2ff0a7da3c3ad6bf49d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 361109306342602c9820b8bd6b07557ba34f1702c52d2b58230377061569e6f7
MD5 676cd33516bf2bf612132c4b2a0a9c1c
BLAKE2b-256 453bea6bd95fe1ad53c7e78787167dc7baf988c0c72e0c4d2581640c4a50a9d6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e33263d50bc0b9246ac21eccdea37411738a76b735ff12705eb028e3e9fe67b0
MD5 f4b6e8d9e57326911db13910e789d3bb
BLAKE2b-256 cf35d7c789bef0fdf9940a5ccbf275dbffc129fc1794cd5a12f5770df5d7717f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e71048700ccafb9f1e78794bcfd11eaabc5694627f8b53aa348efae9bb891814
MD5 c6d336505953cdb0502740ee7463e93c
BLAKE2b-256 89accacab54ef9d0e88c8024975fc70f4f10339e4a07719f669d76df68856b5a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d5d8836af58dcbf815376e45ed86440c4fdbbc204f3756ebe6e0ed2337a51652
MD5 0ee146fb4b65323494e35b1ef910a5cf
BLAKE2b-256 1641cb30884d3d706cf680fdc92bab31dc79580527b71817837e037a7ba5707f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.6.0b7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 71789164a794a8055d46721950bedc14de3efcdae332558a2712e990e66e81d0
MD5 906eca21b8149b553c3bcdc04e8dd7cc
BLAKE2b-256 6f444e716a2828b0255be46543a683249c58fc9bb095ea5899c0da1e4f3cdde6

See more details on using hashes here.

Provenance

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

Supported by

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