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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a68.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.0a68.tar.gz
Algorithm Hash digest
SHA256 d40f6bc37664e9554195e9061a355871d1db8d5f3ebfef85d793ae41f141f7b3
MD5 bce674a11349ed117f5aa7a271ecc222
BLAKE2b-256 19b2b91aa380db482143db8abe384e7ee660fd4c0fd728fc68afaf414f4ca1a3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2e9f531cc6ea2ac932df407e87b1f7db1a78472786c41e2e34f6976e8addb974
MD5 be1044c446030274c8e800d2ffa8abd6
BLAKE2b-256 4786ffe68e0280c4506d9443aff81cd270cebc4218d24e64bdf751863580fff1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 81e7cc0ebe76415db7036742f71ac5c3e7844f52d9b777d98b6c121532722534
MD5 968e19e4034240045e44b06aa2526ff3
BLAKE2b-256 1c66e1789f12aeab302417c428d57f91cde7395b82197bfa9b6ac0256e8da86f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1105711f8d5838eb82c830f897cf88506d5334dad469538ef93e9a97e56556e8
MD5 784f07089ab18e4f4f85a6217f07f20e
BLAKE2b-256 bc8aea9dfc0f97328c1378ea29029e228b64c9b3e25843a490fb4f2e1ab946c0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a1417b0dfcf75372e8b0b4800fed5c774ed942858cf60f6e48537c83b0bfc195
MD5 81975d0cc977952423be8bc1a01859bb
BLAKE2b-256 ff8a3b68678ac390994b84da8e77752397d39a51b117807980d4a24e8a888729

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f5ee53207ca70c86938edf79d4f79c2e0a3ab3af91341ad7bf55ede7404775cc
MD5 8d7397e113269427c6e6aa867072166c
BLAKE2b-256 5de5f5527ccffc52c8807fbadf58efc5179e69bf048f0c95c089de9b23c1fe58

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5f5e008e2ed763b0664cd21658540afdbf1de3ef8baa65eea2a3f72ebec8629a
MD5 3ea18e19715494b0298e4cde90a69e57
BLAKE2b-256 f981e37e5ad0841f333444f0ae5ec9efbeac808c193211a3016d3ca1c62b3a10

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 75c6f3c08798f2421356b61eec9e882cc53176cae4ff484a7afee7b668309cfe
MD5 8ee3154be6233f5c76d8dcb95c992295
BLAKE2b-256 71c1993ad424b56a2c92ff374fc6f61fb4561eff245d93b575314cc08dfc4572

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 197c76841c20a0d6ce4cbc0fdd51f78d711bab4f99396918e444b373b5fb074f
MD5 54c374b0ca8295d1d317dd26b3543f54
BLAKE2b-256 c49a563eb6c4eec5b9bab7bf0cb98c3acebc5b09728ebffba712b10b0a29550e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3ad53759febf2694d004d4b87c86fe82e77da39466220a3ec7bcee42c8d12123
MD5 304894896063b0fecb943a5b9e527679
BLAKE2b-256 fe768006f3cd1b5fdd3d74975eecfa10fe87dedb18fe9cfe996ff7e3580d5644

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 25b2b77b31d2a558e3f5059ec27ed864c3dd135758157f5abc9b0d44b5161d95
MD5 47b484fbd8ca7868a7eee7cace882bb2
BLAKE2b-256 8f1ad5bb9d7bc79d7de815a261576139b3342f265963009a3cc807dc60ac0ce5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7506a9e64b0533af4cc9e58d15b32bcfe0faea08a55f28ea50024c5b73fe8cb7
MD5 b5450be49423f70b0274dfdcc8d7a1d6
BLAKE2b-256 e104d4104f13acf9dc32abdffcbbe118790b4ebee5540e00820c95017a247ad8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 35b1d93cedad6777856b67d300261890755c98c034ade6ede5f9866a0d1055b3
MD5 7bb7f4b9a2bca9784df36533ea0fab78
BLAKE2b-256 5dd86081cb65d2a85b4d405b780c2952e35526dbb3c7ae790be3e7793b53e83b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3eab6b32c17830ab96365b38d7f4f88c60819f1f64c7e36f2ab1072297e12097
MD5 5ee85c3930b5cbe964b6b6cf71bc3f52
BLAKE2b-256 e09e759c877106a6c50729b7ecba4506dc925ec2c24e55e495c9aff445fecb1b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 91326969885fbc3b97fd84b8fb7349300c70c5995a8671b60a4e8ce205c0ca2a
MD5 225cc95e3980a46851eb63b1592b3d11
BLAKE2b-256 6e346778d71f03817aabf688b036be72449ef3a25945e89b13e2131d0b26a707

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b45fc8d0ac1707408fc3378f86c7640b5dd6c81ceac45f01990004f38640cf27
MD5 3cb922f53c67a7738477e919ed17b75f
BLAKE2b-256 2b76e63bdcf9a089e283a52a44954010dffa91093a9bc3b33becb1de5f35d40c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5e25bc23961c043589659cb20fc3a3078ae5fdde46a1d16d792661da153ce124
MD5 5d217c494f2a6fda4a67dfed1ea8f14e
BLAKE2b-256 7abe21337c2dca71c97fd96567536b562244f145f5d6cb58f67318664a8e6f1f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d5b2b271a393dd100443d6c2dba6f33045e3c05ea9b3d0f0ebba458a02e0f9f4
MD5 05e107863f43ea90faca03036a98ecd2
BLAKE2b-256 8e9778c99259dc8875330e731b0a72af2d4e30fee78dec4683848c44b1387c53

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dce3d5d344444de3a82b1af9c91c30aa0b2e04ef3da0260824f32f561d8e43b7
MD5 7e517fee95e30496df4a8857e8c2d5f1
BLAKE2b-256 f1667f082d8b0b5296ba6807ebb07aea81d6a3fdca57f3ea9ab069c7d637e327

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6ffa733c79465d316d86f524938a5807ff6b4828062702a87c42708a2293c26c
MD5 cff2c9abcf57bea4bea1fdf32fcf2928
BLAKE2b-256 bd5447163d84bfe735704457e5c8231ccbb050a16d37b884bc8923ed918fda75

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2b706b1036cbaf8d71dd083228b243c02686128679cfa7c598518597663477f3
MD5 ad1578b9070f8053211b299d0adb6158
BLAKE2b-256 d625f74e1e90feb8c3d10449467f0e2b7a44a3cdd82fbbbcf060ed9fbe4dddf1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 78146de75a3838ed71b516a1107a7a4a883b26dc9805cb79e2c37b16b66b18e6
MD5 5298011dd25b019c881f22f15b0cae55
BLAKE2b-256 0351a96c20f5d6f1a276e4f18e5c2e7926d210eaa7a52253dc76e92d4f83c425

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 afeff01d741cd5139334a7d119677c7477d955da8f050ed5f51caa5e210e3468
MD5 7856c61c45044871cab1034cdfd88728
BLAKE2b-256 4e28d853105868155869603bc0ced5b7979c54e1c85be06bfa05131c32db08be

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c97da1d3b49583ba04267ffa0dc7323cc51967292f942c95e680f450c825cc03
MD5 b1ac867115c94db23f0d0ab61a7347c2
BLAKE2b-256 5085a951fc13bb844a571d8e9f44157cfe2aa0bbaa236ce1f0929c0161ba5d67

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a68-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7c7099065d657868c5273692f5bddba340e8020b4f80f735597a9365b7a58eed
MD5 c1bb43c348aeb9b1735b040dba3a1a5d
BLAKE2b-256 2366b9a127208091a9a2a408502d037a4cca2da601fad30f1ddbc8408738ef14

See more details on using hashes here.

Provenance

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