Skip to main content

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

Project description

SecantusDB — the SQLite of document databases

Status: alpha Tests: 584 passing License: GPL-2.0-only (code) + CC-BY-4.0 (content) Python: 3.10+ Documentation Status

[!WARNING] Alpha software.

SecantusDB is in early development. The Python API surface (CLI flags, public class signatures) is still settling and may shift between point releases. 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 (secantusdb).

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 ~8×–46× 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. Off by default; flip on with secantusdb --auth (or SecantusDBServer(..., require_auth=True)), provision users with createUser, then connect with the standard MongoClient(uri, username=, password=) shape. See Authentication. Authorization (RBAC), x509, LDAP, Kerberos, and TLS are not implemented — an authenticated principal is currently treated as fully privileged.

What's out of scope: real replica sets, sharding, RBAC, x509 / LDAP / Kerberos auth, TLS, text / wildcard indexes, $where, real transaction rollback. If you need those, run a real mongod. Geo support ($geoWithin / $geoIntersects / $near / $nearSphere, $geoNear, 2dsphere and 2d indexes) is in scope and shipped.

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.

Standalone daemon (drop-in mongod replacement)

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

secantusdb --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.

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: pymongo's own test suite and mongo-go-driver's own test suite run unmodified against SecantusDB — see pymongo validation report and Go-driver validation report.

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

Documentation

Full docs are in docs/; build them with uv run python -m invoke docs and open docs/_build/html/index.html. Highlights:

  • Quickstart — embedding in tests, running standalone.
  • 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.
  • pymongo validation report — per-category pass / fail / skip rate from running pymongo's own test suite, unmodified, against SecantusDB. The submodule at vendor/pymongo-tests/ is checked out at the pinned upstream tag with zero local edits; a pytest plugin starts an embedded server and points pymongo's DB_IP/DB_PORT at it.
  • Go-driver validation report — same shape against mongo-go-driver's own test suite, unmodified. Spawns a standalone SecantusDB daemon and runs go test with MONGODB_URI pointed at it. The Go driver underpins mongodump / mongorestore and most non-Python tooling, so this gauge catches type-strict wire bugs (int32 vs int64) that pymongo accepts silently.
  • Node-driver validation report — same shape against mongo-node-driver's own test suite, unmodified. Spawns a standalone SecantusDB daemon and runs mocha with MONGODB_URI pointed at it. Initial baseline is restricted to the import-clean subset of unit tests because of an unrelated ESM/TypeScript loader quirk in node-mongodb-native v7.2.0; see node_validation/include_paths.py for the rationale.
  • Java-driver validation report — same shape against mongo-java-driver's own test suite, unmodified. Spawns a standalone SecantusDB daemon and invokes the driver's bundled ./gradlew with -Dorg.mongodb.test.uri=mongodb://.... Initial baseline is the :bson:test module (BSON serialization, ~289 test files); the JDBC-style integration modules can be added to java_validation/include_modules.py as we widen.

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.3.0a73.tar.gz (5.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.3.0a73-cp313-cp313-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.13Windows x86-64

secantusdb-0.3.0a73-cp313-cp313-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a73-cp313-cp313-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a73-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a73-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a73-cp313-cp313-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

secantusdb-0.3.0a73-cp312-cp312-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.12Windows x86-64

secantusdb-0.3.0a73-cp312-cp312-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a73-cp312-cp312-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a73-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a73-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a73-cp312-cp312-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

secantusdb-0.3.0a73-cp311-cp311-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.11Windows x86-64

secantusdb-0.3.0a73-cp311-cp311-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a73-cp311-cp311-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a73-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a73-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a73-cp311-cp311-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

secantusdb-0.3.0a73-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10Windows x86-64

secantusdb-0.3.0a73-cp310-cp310-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a73-cp310-cp310-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a73-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a73-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a73-cp310-cp310-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file secantusdb-0.3.0a73.tar.gz.

File metadata

  • Download URL: secantusdb-0.3.0a73.tar.gz
  • Upload date:
  • Size: 5.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for secantusdb-0.3.0a73.tar.gz
Algorithm Hash digest
SHA256 2cdcb74bd97456a23bdea25a01cc4ba9cd733d7ccfcee8d2cc6847a018e7bbef
MD5 7f7ca07e591c8c9f6ff6946c06ae6445
BLAKE2b-256 1942413982cf24208889cb497ea1c39d93e021f88f78e2a8b3d5af891ad8d27c

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73.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.3.0a73-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 16ef73346fc592b6a9a2e597b7dbc666466f6bd7c5f5e934469e7a418c655174
MD5 24e0b5104779f620b8f87bc9c772a731
BLAKE2b-256 84ceb4069036b36be46e8a3ba3f8e794212ce59080bef2cba2a19ce5fda52148

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-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.3.0a73-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0b71c76cc53505f412d058823305040599955188604ba6009aaf2b965b990284
MD5 58148bb74745f86e98d5142349f858cb
BLAKE2b-256 682ebb04ec9e5add08206359a2f6484f7d40791596696d0116a48dbd1d6c00da

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-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.3.0a73-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8e3b5665371f155cd7aff61d4c2ec3dc1fc4cff14d35427c36e9d346d3baf82a
MD5 c05d4096b56d6c62e55d92884d1a7de2
BLAKE2b-256 5b0b39064a8023cdd391ec692b9e1b718bdde805899bbf049afdfe070515358a

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-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.3.0a73-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 29ce6649555e5646bc840b4eb87ce43da441d69743c2a6467cae1555f0d6832d
MD5 ed2bd61820422b4fe44efa629414cce5
BLAKE2b-256 9e17f814aec941382535d9f603ab759d0c541d7a556d8f569e70097889c8a192

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_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.3.0a73-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6d7770f5febffae690c248dcc7719e46d5d80588c46836483c759ce96f1086d9
MD5 2ed3a07287078106396019b66b185dd6
BLAKE2b-256 eab98185b528556377137a1e88c31a094ae766c812de3ce3145433cd7b673f83

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_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.3.0a73-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8152c4fdaae469013f464bfae71b880071af3fa6ac9f1e72fbba52d94b4d3b10
MD5 009639a94f3d961ba609dc6895ebcfc8
BLAKE2b-256 29e99aad65d3e528867becbb906983b9b11c6c9547e17df147a2d4882c29c40b

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-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.3.0a73-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 807eec657833e4fc1f43e498bbeca10fbb39a8b980f6f96abbee25560ec390c9
MD5 d954770154b5db676d295108b3663fae
BLAKE2b-256 11afc79fb52b1d735bf4361a9a81f4c8be5016f5122d5f0d2fd10e016afc7387

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-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.3.0a73-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 75c2e031eeee84e3b53424ad00fa1b1b44ebd6638ef0bee6284f9822bb3cdb31
MD5 9d6985c9ed5f75640aadf2510224f1fe
BLAKE2b-256 504f1806c97525b92a9ceebcfedcc23a8b405d5f3bbcc1df529a091af5d38587

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-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.3.0a73-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 39407b9bd92dcba32d205796b736cf434650d7aac423d29652df7767dd363b4f
MD5 9021cb22879fa8aa924fce5b21ff284a
BLAKE2b-256 7d39cfb08082c8d3e0bc62daa8022255efe107549cf517358a11a8f0eb8f8441

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-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.3.0a73-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c020ea5adf2c433593fca108695219b12c58a3de6205e51a97ba1986fb60e5b5
MD5 7b9dbc521e03781d3da90bccc0007682
BLAKE2b-256 fcc192111c061e792d44b6522140bbac946506d465af4dfc0ce62eed74e188e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_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.3.0a73-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9da96b305cbe6283393e9a4a57a740d2409f4075043cfb040ddef404ff03c2e9
MD5 1e2cf3202430310111bc9ef5d18338b1
BLAKE2b-256 633dacf0ea5930ce41fd0c25617989b6cedbe468ac77e52a12fd5544beaeff6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_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.3.0a73-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9766aab5c7450268c840abf63b5f0542b20b7f6a05cf027598c1cd70552879c3
MD5 7fd3846aff7b4c7963549dbacb149cd4
BLAKE2b-256 e0c57c7b811c292217be4b5bc4ed4d2b18ff7e649ec23329a456ed1b6727b716

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-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.3.0a73-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3e7f892b777dabca310463d246dcdb39ae5e7699998162acf70933c59a40fcfb
MD5 f4a70bd596308c530ee2f1ad4001386b
BLAKE2b-256 02b484e3c29064881acb161e19ea551442425864892353ec650fa1b11949bfcf

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-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.3.0a73-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1c91d45aaddb8e2d02e7071c805d97188ee9912bb3800ccd13fd0f95103d427a
MD5 0fc1e2895b5917a29eb730fd31c5ed4f
BLAKE2b-256 5a857dcdba00dac8b2ace1a831b84f0e91ac22013fec61a20f47878c3b9533fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-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.3.0a73-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0b14223fcc94fdbfec87d3cdce1721a655467dc2b981529b6506420aed4e3154
MD5 9459853d8825bfd871da1bfa7fcedb9a
BLAKE2b-256 1f46100f1064cd72bbe563e55a9bf32b0b51bb3c6f8443da4584f71adce9eafe

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-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.3.0a73-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dd06ad43a1b0cc2530b4613c30d820e5fd2e1858714f69b32c211e0030896dda
MD5 8fffdb707fa60397565793dbd62bbccc
BLAKE2b-256 b3205ac010e4b6765ee37b59d13b8b37db9efcf1a30d96ba6cb7d1084fdf59d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_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.3.0a73-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fd9ebd0ef740be6784d087ea89aaf396103ec2c519d36f76a42d1d227a19a6b5
MD5 6de034d638b8d395de041f1d90afe8f7
BLAKE2b-256 3909f10430a1ec4ee41193f61a3f26a92a5715b183dfe94e65e307dc088158dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_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.3.0a73-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c94567b5eed026bb117e8cacdc711ff41b2aa2c5b346ac98ae3581b23451b84f
MD5 054e065085e4a00139f48fd76380d868
BLAKE2b-256 d39f59f36b56991e6da15a99d945a52c34cfc60ebb08c285cdf56970781ee869

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-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.3.0a73-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7f0cbff3a8eaa8422f07171f523b061efd05e27f55f390ad40e975ce8833e479
MD5 ac908f93a1af0ebcc993c4d61d6e52ff
BLAKE2b-256 a9a68a9cf7929c86728031b1e5ef7b0ae78547e04c46964fcb151f4ffda69e1a

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-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.3.0a73-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d8338aa7efd37a05d72f5302b001fab6ca0c81d9bfea4201d36b0584ef6aa2ca
MD5 4241f6548618d4726533c5c0105ae818
BLAKE2b-256 54027fe48bacca28b089018ec6058d7b01e70e3f3df34e701e1f5ead560684ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-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.3.0a73-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 75d73aa750237f0b9ab889de5065a7faf2c9d50bf94202b3ba7b768a79e7a454
MD5 e9e4ce108080ef7be8cfa458a868b027
BLAKE2b-256 66aa8883ae37320551b8698f7c4da24e41def91de699d3b7f8e94fee7ef1a22b

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-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.3.0a73-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d6bcbd4d2373bea1dedb699f4b6128346a8219c464b58470d4a71b87a12c1d6
MD5 21a0a484d6f05aba1c97d098b5c58d2e
BLAKE2b-256 8b63f22bdd3a87f9a8a62fe7f53c90a73947a0dbf61048bb27fa78dc2c2437e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_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.3.0a73-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 32e36a668adfaceff8edeab0dcba1a8c59bc55f750575bf15d13fb9240a881bf
MD5 260b0a2c470f4ae436bd70954491e10f
BLAKE2b-256 c076f0f2ec1ae387b1ab3891c76132d508c07d79bd13c8b98a648f6a33a1aad4

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a73-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_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.3.0a73-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a73-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ae942ebf457a94c1f37f4e2eacce986d176a9e5e555fe1a4c72516b46cacd2a5
MD5 b751b16e289d9601e0d372f9bb57a7b4
BLAKE2b-256 cd13f096985f1e3f669ca406736115ef5d0eb59fa2c98ea39a091da0dfe57cbc

See more details on using hashes here.

Provenance

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