Skip to main content

A drop-in single-node MongoDB server in Python using the WiredTiger storage engine

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


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.0a42.tar.gz (5.6 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.0a42-cp313-cp313-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.13Windows x86-64

secantusdb-0.3.0a42-cp313-cp313-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a42-cp313-cp313-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a42-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a42-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a42-cp313-cp313-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

secantusdb-0.3.0a42-cp312-cp312-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.12Windows x86-64

secantusdb-0.3.0a42-cp312-cp312-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a42-cp312-cp312-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a42-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a42-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a42-cp312-cp312-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

secantusdb-0.3.0a42-cp311-cp311-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.11Windows x86-64

secantusdb-0.3.0a42-cp311-cp311-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a42-cp311-cp311-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a42-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a42-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a42-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

secantusdb-0.3.0a42-cp310-cp310-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.10Windows x86-64

secantusdb-0.3.0a42-cp310-cp310-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a42-cp310-cp310-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a42-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a42-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a42-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: secantusdb-0.3.0a42.tar.gz
  • Upload date:
  • Size: 5.6 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.0a42.tar.gz
Algorithm Hash digest
SHA256 2de7f58be58112d917a86d4fcdededc2b4ca67a15aa7a11890c8a7ba95aef676
MD5 f717c1ed0cb16bd8dad571508b16b6af
BLAKE2b-256 45f62b654c5ad1bf22c15b0f788dfb583b1dce509b9e50904e97b5a8f805cbef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 91457dcf285a2f67b96a29aba73ab244977805ccd938677e5c1cc03ba56f7586
MD5 cc7dc2917bc18ab40ca06ef48a67a394
BLAKE2b-256 e9ba739e419839293b58605aef894ba22945a9058e4a4062dae442993d4d280e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6e2d6e707f13f029f0dd1e979fe891156b0d8d21edaa22ca48a0e3670b30c106
MD5 0abaf640bf9ba4d755a0a6ae4733da71
BLAKE2b-256 e02bd367a0d2468fc58b8ecbc785b304ae413d2d5f45683dd4d167689b6637fb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f1a40402ce715ad7dbd1ce63677730c0bcdcd2ead0b1516abc34859ed8a40489
MD5 b35ee506eafbcd0c314f27695ebe85c8
BLAKE2b-256 be259a9f1d26a5296b8a8a3b1e04260c7679f9d4bc95f2bc717afeef04666e05

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e1b0036c0fea7971c291567335841d8028a99ae34b0c0926d8341a5d5054e23
MD5 b46ccb84eb14bff03a8c130d6097ce1f
BLAKE2b-256 9e0a42bfe77d0d5cb5c25dc99d2954e43a190680e4ff489a5cbe80e665bec13f

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a42-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.0a42-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c81f6ca5d5253a696f3e99fd68781587034a4f86a3b3ce4c810eb60cb2d9e661
MD5 3386cc316f86b3cae12fdcaa5ec4140c
BLAKE2b-256 076cf48598017402aecd4d17a684b4f7b1b4b4cf4b6bd0048e8f295227ca9a3b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c086e260300d1348a1f2bcc6e946a4f1d373534bdf09614a316d42efe5fd80c6
MD5 114066dcb44cc40117893bb82c11e5d0
BLAKE2b-256 4d5f630f6acefca6ed07e0be2c71f8dbb71f18617d17befe443853e6f62969dc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1a6330f52e738da17e8aa6bb4a94885aacf145d70faec4e9c5e2b34955385a4a
MD5 e9ddacb7d54050bc4faf81bfcbba172d
BLAKE2b-256 52010e52ec5d4d43d1eab72404ea35dcb897d721c80fdd84e6c2d2a933301fa8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 66d8552432e314136a3202f017fa7641730019b3b9ad13442ab40fd7c94f366b
MD5 2e6e0d5bbf004b6104567193f198c790
BLAKE2b-256 b96eac2e96e7eb523a9fc21a0f05d37fc346a784b4b4238d7427da9735dc6ae3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2594a005d940c97de01b02d66aa6b5ed17de9b811e27f6aad6cff033bddbc893
MD5 51e6f1509351766ca609b26188050694
BLAKE2b-256 29b7fa9b89d16e131bba4a8bb17dc52504a1b76fb232774bfc29100eaa09d738

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 73098fd49f6407439e620adb8c6997ef44d25debbb5c3c432d5faf36b7bd054f
MD5 c9aef45ad97a721f4e996aee07cb2b2c
BLAKE2b-256 926fe0c180518be0d323bd789e5b173f0e84588ff3abf923e63d737ff46ca771

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a42-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.0a42-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5b3300e16f97a43bf9e9b1ef23b3c8d2e0926d008da7fd3213a0c3cfda3f0680
MD5 e2c0be23749b432f3115e6fb31c7501c
BLAKE2b-256 5c1450368fa2b84804701b140c628b59d6365028618b437e02aee8747b93c6d2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ded9d187faa4255f9a7d2cd996401507882eaf3d35419bf56f8914d0caed7f58
MD5 7733d181f7f5e48400d1b244c3b18ecd
BLAKE2b-256 0f87278f896a6985d99239da00b99279d9f91136904d7c45604a221f8ba6ad46

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 83307aa5b4f65593efa9d1c30d3ff85a26fe2e37a65abd0cce65910d1a80f58e
MD5 57bde2194520de3350c6f82bc33f0eff
BLAKE2b-256 b227805b9c4ecf3467d0c836d78cb74a32bee782a76652dddf314ee2d947e24c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 17b9d16db57ef7507fe7c8f9db18cd864f1373c6c959592ccbd86c4148feca71
MD5 76f5eff157d3963252d4548ba2c26c8a
BLAKE2b-256 41bf2cdff1f947575c8d03aad075a2a8e47308586ab80a58c50cf4f9f316ae97

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c083a5ba04045b421db4aea9612a1e9143cb1644ea45218a9dd8d46bbe3da17c
MD5 05b78603729540eafa095cb57f36ff45
BLAKE2b-256 ff12a3ff25574670fa77fd24287100b817065ecfbf52e8d19b6cac61c2a08190

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1bf0b762f4161685a1f9ff43504bfd83f4812b29872f31a80e351337d0b19526
MD5 f6d8a8debcbe9b42f01ffac7e67d9f73
BLAKE2b-256 fd1672acf6047248fbf2247774c24a301629dba949ffc7a8a63a37f941d297a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a42-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.0a42-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 709690c861e6103dbd58de8949b25c125f4e40d2d7407bd43ea14e53579f7942
MD5 b31e064370acf44e4aad6b83359ecdb2
BLAKE2b-256 4358d340d68752339df8ca690c40fb4dc26e104d8f5aad9d1722d7eb5dfbb082

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc72ff14c791e0363d88df0e9a45041a1853c4c210f82cd797c4da2b78aff745
MD5 b3cfdf6d61fe7a67253125b2f9548c1e
BLAKE2b-256 5076cec2b9af8f12d139c78f0caa70fffd3161beb11ecab025914d80b1a01765

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 81f4a31ba1be379dd217e359d95e69c7a7b440f2134bdfc3e20a9a52aae737e4
MD5 f844aab6ec84c54d85cfc6eea366080f
BLAKE2b-256 9da951afea6787441f7c69ea940847054eca15feb376a4f30f60d8ba7a69fb4a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 01cc7c106f5f9c6034eef530904f5c451ecd5db095b5d6a632f533532c40a22f
MD5 e6f1a23c51eb364ec75c48930c4aba1f
BLAKE2b-256 9e7b06851d4a9125d84b3c6d5ff6cfeafe0c85331407187dba6c211a44719a3d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ad6be76fb29465c11873893e3755b9f8240fccb22692e9bebfab9d902a157878
MD5 e712d6c66a5f3a9ade417ec885d5cb13
BLAKE2b-256 7cbdd9242b08512f32569047acfd10e807bdebd7f1030274b1c90202507e0c39

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2009a15931c9a9f8dcdce7cd092c58cbfe25fe9812c1eab405546106e34fd6ec
MD5 c4f68051a4fe83e7b1d267fb508cb490
BLAKE2b-256 f4cfea2e18aa88655744327d8d6995c6a37dc2195b7f410691ebf7ea6fe492ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a42-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.0a42-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7edc2da2df2990fea0d278c710676934ad0d696eb596a76d56b2eafe5dc7a769
MD5 99219a9dd62fc864dac73bae45b23494
BLAKE2b-256 ebf0907b6ac3a63bbb3ccafa5fb19a8afa3eb8b5a904a0083f4ebceac697da16

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a42-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 edb36e8d2490f70c69b6291c20c1b48b87f26267b854ebcc0d8d1f8ba9c8f131
MD5 ba8f5b2ebd0a54ffd1a4c06b272dbe49
BLAKE2b-256 d689291f6040dfde0f18d1cd83523ca001a72b4b00fcc7f59d7cad6fe0bd97a7

See more details on using hashes here.

Provenance

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