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.0a63.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.0a63-cp313-cp313-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.13Windows x86-64

secantusdb-0.3.0a63-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.0a63-cp313-cp313-musllinux_1_2_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a63-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.0a63-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.0a63-cp313-cp313-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

secantusdb-0.3.0a63-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.0a63-cp312-cp312-musllinux_1_2_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a63-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.0a63-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.0a63-cp312-cp312-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

secantusdb-0.3.0a63-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.0a63-cp311-cp311-musllinux_1_2_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a63-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.0a63-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.0a63-cp311-cp311-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

secantusdb-0.3.0a63-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.0a63-cp310-cp310-musllinux_1_2_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a63-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.0a63-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.0a63-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.0a63.tar.gz.

File metadata

  • Download URL: secantusdb-0.3.0a63.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.0a63.tar.gz
Algorithm Hash digest
SHA256 758c7d4344bcb8e19c3ffc3f4c7b1b0974ef9543ea8d68b0fe9a08d8847b1093
MD5 2fad461b2f7fe09125ce28e22835e795
BLAKE2b-256 67347db9ca6787721b115a056bf691b96ae95484a71cdecd53af0160095566e1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4295e0eb47568bc0fc96234d0636c4a06a0529f1c80092341682b2baccdc3b82
MD5 456128258c07f8731bbc41cd04ee6427
BLAKE2b-256 91429b179a928045fb3562b17fed8dfaad522c6e9673f28064fb256b948bbbea

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5fb93a66b9527c97f9543dad8c64944d6052e9ff25d289e1a3d28b68be654986
MD5 076652cfc2beb4388cad47168b49d92b
BLAKE2b-256 21beffa9e97232b3df306701508a1e59a731e8a24af320dec885432c03886470

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6f25744f7a96b05df5243bac3db4fbcfe68843bb7d402e95b6715ba4a107c94c
MD5 d4836ae238b344bbd2115f43dcdc1619
BLAKE2b-256 2a640d71843e85f9a92a8d89139bc10b5ecc2923b31cb1091c37fab947382f2f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c9d2e6be30409b4f118fd3ab1f5130c03683eac2f118ccd61e7f1d989020aef
MD5 c61b1f8c8079d7a644ce5be821d65b5a
BLAKE2b-256 176341a3d35eb8d776379a20a910553a00d96f69ef4b48da0d268a6089320493

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 50618aa9a5209215eb36f0875050ed58ff22d204057013f7a7a64e6e6f61dc66
MD5 03df73cfbcf40707917ad28febd140ed
BLAKE2b-256 c9d224de7ae0281c96075c4a9764f6f224281500df905dfd9d58be4546963488

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7480e8951501204d4dbd254470cfc390782fb9fc6e6a583ce7eb25e094245ae2
MD5 e5a79e6a3e3249ee1969788d4a348c3a
BLAKE2b-256 e1c83d0cb0dd966b763dd0da9d7ef7d5b75c6cad2b2040215420cd4c534dc7d5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9824534b458e30b1ee2bef35259ff2778169e32d07fdc1b8ee57f1d6383017db
MD5 9941fb64a24ec7c9a8795a1eea7feb7f
BLAKE2b-256 81988b5c27ca928641299e9262e97ecc3630d0b5fabbeb089fd560e61b24cd80

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 25c28b746c721e9c1eae75e63195ffccd96409b11cebf5ca6e4d974f15a2ee91
MD5 0811cb9879389d807edfb8d31138603b
BLAKE2b-256 61ac82a1c2365349d7afbf17a0aae3b5efed1f08fdf41bda718438bf853bfde0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 264a455d78f953be38df0a073f0354e02085b8520996f23d3b3a129da4913d44
MD5 a2da3d2b71deff9492dbba4349d73f9d
BLAKE2b-256 1957b619377729a452e1ed5c1fad4ef901ed465781e4ac82359456e869b9d446

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7ba20b82309bd42b29690fd86203ef58a839aa633f28d13a704e37c66f90e655
MD5 2502d8694e8199a67ae6cbbd9c8e02cd
BLAKE2b-256 c6f99595949209f88c5c42d6f9d27f46b1e2fa16c64adff4ea620ac80d2e2fe0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cc5e44c0b90e232233d5904cef54dc3ad9066574d0d0c3d9d8cd29b2d74f47cb
MD5 7edca27e111f39ced84341e37a0e44de
BLAKE2b-256 3b736e6cc9dc78d5416e67f6b49343355f802154dd4b68a3a88551a0f7339302

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 016831932ce58ea83dda745d58c23123e103ac035ac92d9b69052e3af062375c
MD5 ed742b608b3500c694d8fc2c3e728484
BLAKE2b-256 e1e1a21859ae558436e6d51f5a59413c31255997ebe388a39894ec139d9795ca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9db11e6b7c31b34bff3a215a63d9fa938114db60de80e6d847e81edc123b86f4
MD5 e73ac5975d020e5db0ec89ad4f7829ff
BLAKE2b-256 8474fc3334d5c9f5780cadeeed09d9e86cb507eb2f2312e5d5cf421af3243ae4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7aa954e0baaab4805d9cc27c380bf798a83f86d969620f16e953eeb1a234c771
MD5 905abe3a389a4993b859e28ddbcb77f1
BLAKE2b-256 9b378925d3598dc311c581e7aa63aed15a4bae575e27e95ec73a78f5aafc7d0c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0ba489494569f8d2371d53f661ca9858bcf14706aa025ea9e4452f396cd63d61
MD5 e6f8ed7f5c2978118294e405ed6c7f96
BLAKE2b-256 0e9781634a09377b67e9b50f0d680c1305af651c080871025a7f84757bb691da

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0d18c020f8df739f50036f7a8a2df952309f2d95b8cd68be592ee5ab9c4775b6
MD5 a43cf62bc6e85a83291907d84527ca50
BLAKE2b-256 ddb5a3efcebf10721ecd80f35f598b9e01eda69827a21de263385aeeb5197efd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 63045fec47c187ff20c9b9c31699de9379459b41619607a8b054f799ab067550
MD5 a5f30960f4d7dd7769ab542cbe7320f1
BLAKE2b-256 e24a0bd4de63452ffbc1c2bfb10d1c29085d35a0cd6a870f105a6c7183c9d4bd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 454bba11553b11bd22ed160a2c006845dd57f7f1b4b22a5c7008c58da1c57e57
MD5 945c8a920b0649c3ce57ede34c3cc9a2
BLAKE2b-256 40d9b275bab97cac6b821a7a90e2c6511c0dce0cacd5f1cb1954b76bd07d6975

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 32cb6a3560546302b87a3a1370e526c8b3f2a2d3e13ceca43b8efd75e2c80308
MD5 7449be64050d29d3f8742533ae5f70f0
BLAKE2b-256 747492bf465b61c7c15a81c5e687ea67f873fc1a0f87ade319b0654ad443041c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 02c4191daa1b329582929ad7ab5472e5a72332dea4facc2e2d4b46de108fe130
MD5 76c12927ac62326664166338e0f120e8
BLAKE2b-256 0f9ec4af7a2f04a8563308cf18fe168d540071b57c2c21d5a870cccbaf0ad542

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 66c91aa7b4d61c32e86cbce211f17facf17ea32f97da8a9fa4fdfc88cd616ceb
MD5 8da12259ffa4246c4aaecb28168723b1
BLAKE2b-256 8914f4d91e18c72373583a88cc1041c6f73a73c432266e332605c090777fc45e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4d3eae77babba113c04e3ed988ca679b455d46c2efb6bbc2eb5e128ed21c9ac3
MD5 b5dcc59cece1121abb869acb10576a20
BLAKE2b-256 b13e0bbab82a088a9304278051700af7dc5b1bab065b0040f15aa81b70eb238b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9749a4e65cb896d23fa9eb7ae0e61862fe3dc6ecea40e8cda747ba4b69ea92e8
MD5 1a5542d5b7acdc4fe9c53da786df96cb
BLAKE2b-256 5af89e3d43c625f0ca555a4b1a60c8eb716ca3004150668ef00bb046ca63290e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a63-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d25466f10525c6f840eff0b4424e2862e9cceb15d13200ffd0558f6f31cbfefd
MD5 1595370cfc8eef5f028057d9dfdedf6c
BLAKE2b-256 a25ceeb7d4ecac29cec74c8f4a0846bb6a9160835b0dc1aff50226b758cf5a1a

See more details on using hashes here.

Provenance

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