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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a67.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.0a67.tar.gz
Algorithm Hash digest
SHA256 eae4ad28c3467749693120060157040a0d1a519fe0609c2b2c5e69f342784fbb
MD5 c7d1d8ebc0cb1e6d411c07767b7001e8
BLAKE2b-256 9cd42da30eb4415afeae2dca32ad05416e8a08ae8cc320edeeb97be6e5946926

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 52b381373b0e3142e87b37a07fe47bff28a93aa0da92861b882ae9b3b66e8b6f
MD5 891e21b1166460daf755a453ce53429a
BLAKE2b-256 a4fe0fc8386569f40f52729bf2b17989d424a9e24d6f07f1f3ecc5ccdac233ce

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f531d318524f6aa3951a14a924bdc46f46384036133f8cd3080227ba4fa2c5eb
MD5 907360b67e275ecea68cc0b043e1dcbc
BLAKE2b-256 06eb92803943e8bffd8136152681cceef1e2983a3a690671a723ce8860cd7768

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 488d8aaa17a449b242cb112c7252e9ac412fcd3e36a597b9d912585ebfe6593e
MD5 91830b644d0fab726c0eb4f52d1a7d46
BLAKE2b-256 28e0d610edbfd6d0638d1e913eaeb177b14a5bd0ccfb87c1a4ca898c852b7419

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f78ae013558b388c42d571413c5bc42cf089ee973a3af6180ee6601b9111f5e6
MD5 ddd33d7cc4f548781c171d5ea34bb331
BLAKE2b-256 bf03b90d2b2e1b27a76d0e23fae29c0e29b6bf42aa1c0871db735eaf8dbdeb85

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7e7b6d0d661178c6cc989c60c71177ed8b5d316faed1e8f11ac100c81617e510
MD5 621c23ad9ef89ff4af38b116e48d68ba
BLAKE2b-256 2ed2927c244983d6d5f2e5999db982f09643e5203f1672af43550a87b8605765

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 15dd8d014dcf5242eace2dd8c43527af06abac2e51380ccb1eb288c8c81d048a
MD5 4e09da25a10094573a4f627e1e4938c8
BLAKE2b-256 6998553a2c7c0fa156e48cffe7bb25aac6b4c88c5ce7e1f85fd2ce1946f3cec4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c8a6d6bf0987d51425752f9729d8c49ab5e819b83505b95237d6fcb11fdedaae
MD5 2894f0196d3a24baf24b6d6b0b3fdcd5
BLAKE2b-256 8252127b4bb4083584f655e58fca0afb3b406e53eacc804d32c6625b85a191bc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d235f8865ea8314b29f3e31ae319445bef63645ff996e4a2a3a3dd5f788a2417
MD5 499ad056263a9958c01146e776091f3a
BLAKE2b-256 9e19091f480e47cff099073c5dd936a3c4b3541ac6893c7888189e977b6984fe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c55aaa4c02bf493e3581cdae020233cfc537abd37652c34ffbb23c51a38d5ede
MD5 fdb912f971967d6c84b64f3634d77de4
BLAKE2b-256 036da58e2d54071296e7a4883c7eba33282650be5a609a5b1d509bebedf8fdb0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8b4870acdfe49eb00af35749fc32dcf714533b867d4665dfc3974a81bfd853a1
MD5 83300a3fe560265885325b519f6375e2
BLAKE2b-256 9a12a2ce8111a43499383a869b41710dec597bc64f5fceb48678e4776c341e21

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4bbc7406b7c7bc6be0a8db50bb583b7cb9947745336da6f4976a921b1012a5ce
MD5 40af8265227d01a7842ff9376ed7c9ce
BLAKE2b-256 e35a59a36f64467402e940089bbce1b28bfdf42fafc7d4579a4304be3a3efb75

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 47f105fb0ae4fbbb0b8b95f0981b9b7d3c2edf9622c82253ed904f41286cb872
MD5 91da86d5454602942a0399da74771bc5
BLAKE2b-256 fc594722ec3eb224dd02f3fd24729726c7e9972ace6c7a3ae2211b78fca640a5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 42a059326c7a7c0f5c06ce8040f304c8909a054be9f7531f8d9c7ebce29d290b
MD5 e72bed5d230adb8129184bd553298786
BLAKE2b-256 f935a4fb315cbf7936114999b58f865f2b60d0e5e732640405ea4b27e0714da8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 812f8f72e9bce1fefe789f5e518e9fd987f9967067240cdb1a50c80e5640d7e8
MD5 d278aa1d9638ce784eb0d0fbd4db86af
BLAKE2b-256 4b449aa09c3c53ac94a05eee35e55068f162dfbc7ce75123f35b53f8c4ce7bb3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dd658e3735d2d09ca6ebcceb0cdef86edccf2edcd36b615e49ff71d77ccb6b9d
MD5 9dfe71b6b526372eece639ed7f0f5d98
BLAKE2b-256 00262d06a4d0cb50b6c811b0822acc9fffc72cc3b2363fe7fc8bcc5a9ae90ee4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 877a02deed4baa5c77282babcc53ca86e46bffd9199f2d60177f0b2f708fc726
MD5 d5581dd8da8c5e3c9765886a87cc85be
BLAKE2b-256 365bbc3966b8e369bcd29ab1d9227c4418633b872df84a329313844740e4685e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ef111fd3a3c1279c530c11ae0a306d7002214eba46940537f3a917e347dcc55b
MD5 95f7fe3b0315a1dc4f1cecd85e3297e6
BLAKE2b-256 9e4f3d59d94f908c8e43f8ff2e8dc6881ddfaffa38b61a3a30d3a1cf13a7769b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f209d2c324f72a9352c49ac49a8084f58f4b30bf61abb398ac7bf798c281a85a
MD5 fc3f96d9e8e4601d6e38a8796a557523
BLAKE2b-256 fe5c2b5e268e2aa1e0e31babd250da1685587e4827daa1b5894270f510f55a0a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3e4872677339b939dcd788143885b2c0045c04aedc3bf3544d89ed537f2d1d8a
MD5 fbbc580aedc46c0bdd4d4e1f84fdad19
BLAKE2b-256 680b3b167ce8e57bf0a16ca749a4c6829411d7cdd923ae1c2eed45ff1bebaa1e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d36101ac9ba81ec4c260fb0f40bdeae9591d38b12de7c69a991a40ee637bbf56
MD5 1a4a96a934f506fe77c038e09d491903
BLAKE2b-256 39e82869fba6359a4b4c611fe194ad69b8a9298e6b58aafea6c5d360443491e1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 45132ad0fde4dbd480375d13e95ae61bc64a8b90ce7c47105970b469e7e098b3
MD5 3f8f05a69c65af3cebdabb163561b3ff
BLAKE2b-256 23c7677cfa4eae52ce27b9851190ee835cf779b09579d0654f30ef5a38acb635

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c31589aa501dc357cc2035ac5109daf087849cd1b5260ca9b17529539e5ccd9d
MD5 0430c75ffb28afa883f52f04d8cb4f73
BLAKE2b-256 7b87a6849e68b65285e1bea3330b7b0465fdb2a639f4130a9f984d60ff650830

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3d760b18505c97ab603ebd5ab9f49d0120d926ddcb1acd92f7f0b96188102840
MD5 debfd91d892ce0f528bc36744c6bd57a
BLAKE2b-256 4209ec7047c6ba8757e790ad2a3a8ef0712f505df463f5493e7dc0955635b46f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a67-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 41561ccdf4078188bd803a15a98d5c702b8d87082149376734a874e255d745b6
MD5 4bb6c79fde033a3e372b4f23103de303
BLAKE2b-256 27fd00c9ee06f382a62fe2bd7d3bbdc1eec6b750891b58a687c095484db7a388

See more details on using hashes here.

Provenance

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