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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a64.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.0a64.tar.gz
Algorithm Hash digest
SHA256 c30d30e55b4d05caea139be23ae765ab8348c43da258a30f1a2f8c9f63812e30
MD5 bc31ca9bc981eb4495feb4cab9ca6985
BLAKE2b-256 8c2af59e333938029e02482be8aab4d0a1a20815edade90b96e596fa7e7acb4d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 005db43901d9d3bd511b113b97b2618f805ac5c559638d994d57043d651c0bb5
MD5 086c9380b3ca23d7fb2b722931bd1dde
BLAKE2b-256 22f37d207c2c316f0c39dee38252f5541e8591c5a3270ee7c6c0860218f8914c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a07228709b932c78d21d0a4fe39b363ae5d83eeee39fb34730d8fd715e4163ea
MD5 9593942d09cd0147f0ce47058a1fa587
BLAKE2b-256 5cb7cc0f094b7b81055dc16b56a67be0f104db9c9365c08e12abce8a87e4a33e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 78ebc9859b0448b65012eecea4af972f0e48d2f48cb1cbd9575c6472ec335c04
MD5 cda2da763e116f8d5a01c7c856dd2520
BLAKE2b-256 58de79ada45f3a983fa4c06db47e2ffd611738bd4e74d4123ea966a9cfabda7a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0e9425d2a862a94c00a98b0cb96d64d758cc3ab3de4fbe5aff7b16e65e1476bd
MD5 e70b83516f8a5e83bac4abf26a589aa8
BLAKE2b-256 66f44a237f1c4c17d6fc5083e1119c50770f670609aa413cd5d0f735154c0e04

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b07fcf1a47bd291393ec76aaaa9da320e0356210d2a73bf2f00b961d86324b76
MD5 583b62e48684235e78559bf25b9d5c04
BLAKE2b-256 af839262c9be898a2f45e3accbaeeeae4af69c6d0eedff6884fb5db1d4169fad

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ad3398b381bb7480506b457fb9e6661be9eec556e6939918b35f688d35ec82f3
MD5 4f304dc917febb47057b45d6cbaba87f
BLAKE2b-256 d48a5d18facbdaf8e5e500534b75b3e388994a653b1f61422941ea5a2e53b879

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 08f8d1e7585b4a0b1ffa3648ce16b9434bf4637eba8bfd3a6d6c3197f5871af7
MD5 0ff9cea2ab04a8aafe08ba622baef586
BLAKE2b-256 adb48264a53006ca5e9762e1faeffd60ee5a2f0061836629ffcb9ef65d69f654

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e4da1aea75eea353351f44a62f27cfccdb6d0e0493ec4e2a21c3a6824b71363e
MD5 cb67572d92e5e33d9314473e85ce6ca2
BLAKE2b-256 3a8c2a1fb79938c6e56fc6fe22245f6929e341bac97969a99ae0c7d20f1fc576

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 aa137436b90409f832fb0fa2b66ea110b2ed664088d802076042997c0fc2f1c0
MD5 82941c83cf6c4eeab6eab2e2f5d98de7
BLAKE2b-256 3af17f2ed4ee1732b18e1181acbe10f462dfb7c9ffb5610c811f3bb272115ba7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39ca416849df4c1ce850a3b7a35d68bd3a25c698728b84982eaddce1dc66e526
MD5 8312b13a3a1356bc12624e93734608fe
BLAKE2b-256 d3643736ef9bc24d31d41b879b58ef722c3326021c4abeeccfe709dc53a18d50

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d7f6af792f461a3f02beb59aa26bbbc6365e76c2f6c2ac303a32b1940b81c4f8
MD5 d4cbaa0308dc1c0b83b00d60d0c29dbd
BLAKE2b-256 185915910d3f95300438f269ffec0fbdf775e63e97e5d7ddc7cd2291c05eb73d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a58193c858ba055ad2e2a95f842342788501d1cbaea3e1f077d3568af1b37671
MD5 0da2353e06498c0a5537b951bbd42ab1
BLAKE2b-256 08f8710423d2f4a34df68e9ce6cf9e5efe42c4a1adcf04fe476a331dc1318601

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 922b544e5308f1669a8f9d6d8d3f34ef96188e4e1bf4fe881c4077775f4b174d
MD5 d226344cb30f00078ed2701df8d6e9bd
BLAKE2b-256 8fc7811198f67d72fafea650e84a8bb31d5f6b4a7f3814cd7f5b2e3ef679f138

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 39088f7918b3c491fb3fa7da4dbd32d1f8d5197e1bfbc9097c299edb08a5aefc
MD5 7162c90ab0703ebb226894c84e427ffe
BLAKE2b-256 683aaee5fd7f6866b0c444409fb86a71d05c04726e10d28daa29d0b307bd529d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 43680da700ef8fccd7260dd84e5697a3a25ca96a78b477bd46d26ada5fac7f57
MD5 df1702a5b22b3da77848e3d5fc59817d
BLAKE2b-256 25d9fc755d6e9f17cf5ac9671560554e678c730cf8ad59221673fc428cb90d31

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 038e6e0e26ef0e93b2246329f9ef8c5aa20375e800a8954491ceb808662ec78b
MD5 ddc5a7b18eb15ade1349a411eb31ba78
BLAKE2b-256 ed0600f1cdf710d589f6c5cbd8a33ad01ccfcd947390955691075a9cbc7199aa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 079568ce8f8c250c78cd19d5d7126dad5f5c18ddbb7e6426a85ee0e5d543a6a7
MD5 c931baedc3c2acea89a8ef946b99d87e
BLAKE2b-256 b774b9e9eebd1b736c71519f08b0203f89679aa26fd3594056b7ee20a24716da

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bfa0e6eab19b1141a0a87b42b1421e99824911aeca407f1ab25ecca958c1a718
MD5 123595eda9d6c44a6b8f540240881b11
BLAKE2b-256 799ab70653dd4dc64944dc9ec4c74e4b64ba7da2a206b2138153a763b25de3cd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 493b705c506f14738fc5864e478cf1a81385f8746bed1a56dd9177097a8f65af
MD5 c9d00d7f2fc436b4ba056e0c0a3b9472
BLAKE2b-256 75615db4e45a18947e6154db2ffef35dd711c1c6738b7308dcd40db38247daf3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b3972bf62658e79f82d9c908625537748378901cbd160d3b68ba8d275baf3b39
MD5 84920057c9eb8cd44123558cdb10c2c6
BLAKE2b-256 f27fb955d3f478e55479f0954fc5e701b8d0512aa9a8b96f31054d2b4381a565

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1368b4ba4c55b06e6201823fecd22071a4677cebfa5ba18db02053c8532beaa7
MD5 92757763729751ba68c5988273a3026f
BLAKE2b-256 101b93ee49f6c59cd82d244cb31fd461e2f3e219c5bf1c5e00c2a8f912ad119b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 80ae5ff7191692515a7df28e21ddec9f5b874224b11c6670853ab5aac2f6e640
MD5 6ea727d14ddc1ceb1ea7f8a107504251
BLAKE2b-256 a14389896e9ef7f6f8421b1bf918465e7d7f92095620f1295aeea5609a358e70

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dde7c6150f2e674cb04fe112ca8794ac0dc9475606f749ca0de16b1e16ba57c9
MD5 e1c0150c2dbc6be768cb87b57d77ab19
BLAKE2b-256 3460676d9cace31e1d1ba96c27531a536bedde068f3b8bdc90c6c08a5f07d2d4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a64-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ffd8aa27a7e9e39b2f09cf83f9a4c1d652259354a10531764dd2db0dbe88845e
MD5 bada02d1e55e6ec9cfce3644154ac418
BLAKE2b-256 6676c74ba675e9828b48239df1cc533ed00f6739ab0931bf3345b9326522d1d3

See more details on using hashes here.

Provenance

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