Skip to main content

An embeddable, MongoDB compatible, document database, built on WiredTiger

Project description

SecantusDB — the SQLite of document databases

Status: beta Tests: 584 passing License: GPL-2.0-only (code) + CC-BY-4.0 (content) Python: 3.10+ Documentation Status

[!WARNING] Beta software.

SecantusDB is past initial proving but the Python API surface (CLI flags, public class signatures) may still shift before 1.0. 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.
  • Ruby-driver validation report — same shape against mongo-ruby-driver's own test suite, unmodified. Spawns a standalone SecantusDB daemon and runs bundle exec rspec with MONGODB_URI pointed at it. Initial baseline is the lite-spec subset — 90 files under spec/mongo/ and 9 YAML-runner files under spec/spec_tests/ that require 'lite_spec_helper'. Covers BSON, URI parsing, SCRAM-SHA-1/256 conversation framing, retry / heartbeat protocols, CMAP, error-class encoding, plus the cross-driver spec-test corpus for connection strings, server selection, SDAM, auth mechanisms, max-staleness, and read/write-concern document shapes. No real-mongod connection required — SecantusDB doesn't have to satisfy any cluster machinery for these. Auto-discovered by ruby_validation/include_paths.discover_lite().

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.5.1b24.tar.gz (6.2 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.5.1b24-cp313-cp313-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.13Windows x86-64

secantusdb-0.5.1b24-cp313-cp313-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

secantusdb-0.5.1b24-cp313-cp313-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.5.1b24-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

secantusdb-0.5.1b24-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

secantusdb-0.5.1b24-cp313-cp313-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

secantusdb-0.5.1b24-cp312-cp312-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.12Windows x86-64

secantusdb-0.5.1b24-cp312-cp312-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

secantusdb-0.5.1b24-cp312-cp312-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.5.1b24-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

secantusdb-0.5.1b24-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

secantusdb-0.5.1b24-cp312-cp312-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

secantusdb-0.5.1b24-cp311-cp311-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.11Windows x86-64

secantusdb-0.5.1b24-cp311-cp311-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

secantusdb-0.5.1b24-cp311-cp311-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.5.1b24-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

secantusdb-0.5.1b24-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

secantusdb-0.5.1b24-cp311-cp311-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

secantusdb-0.5.1b24-cp310-cp310-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.10Windows x86-64

secantusdb-0.5.1b24-cp310-cp310-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

secantusdb-0.5.1b24-cp310-cp310-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.5.1b24-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

secantusdb-0.5.1b24-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

secantusdb-0.5.1b24-cp310-cp310-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file secantusdb-0.5.1b24.tar.gz.

File metadata

  • Download URL: secantusdb-0.5.1b24.tar.gz
  • Upload date:
  • Size: 6.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for secantusdb-0.5.1b24.tar.gz
Algorithm Hash digest
SHA256 bfffe8d81a4a3ed62c5babe47d23cd002f8248f2675e4835ff7724d9048cd6a6
MD5 eb1bb4ca42038367a9d5fef905a3c278
BLAKE2b-256 d03e194c60460cdbb97e34449b05a7149a436386220914b4225b6c01062a0a2f

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24.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.5.1b24-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8745b1f84dc7d06699bf9af52aa9cdb991c3609f13979cb35c9426a01440dcdc
MD5 b985ebf4b53b985ce6df2a2767ba5e3d
BLAKE2b-256 d3aa5c0a63901da5e6ba6ed9c0adc69fc38561da08083b7b0d954f348cbf7bda

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b6d3e77e3182425ef26c62796f86e5643ecdfb0d615389cbc558bb87d4adccf9
MD5 db3ac9dadf4b855eb4699ad9a8f8c472
BLAKE2b-256 62d9861a30319bfa0fceaf2558e3c0efb87e923e75193cdd5845a303c5fdeeb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 25cdafc989c069f50ba3ba717a71e484aaf7ffeaa50c4f49eb6dbeaf0306731d
MD5 7a4123c9e01c74862b3d04f28386e7c1
BLAKE2b-256 594f983f19a5428bdf288425d67aa4dfe72f40363637324b9e68dd07558f18bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c7fac6f9d2017b948e793dab4ea0f1b39f7b51e48cae9c358d449aea93d3298c
MD5 656fb7816ee76fe9e3996362cf84d796
BLAKE2b-256 33cdf8d85fa3efc9bffd78fa77c049fe1f9c534beca4f1b6041dc6b200172483

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ff423ef600af37b5c5966b67b818615f6b7ed5faa4b466ff655436e78604a51a
MD5 d8f996a65202bb022c91572b9fbb6db1
BLAKE2b-256 ea1e959ce2e90bbbd0a5e4183af92c1ee1a080b27ce7d6d7a20e94cfb103b37f

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 caa5ab609b6b6f2494496d76f6cd1a5bce635448fad6b47a33d08459e1439742
MD5 5a20723e1be39a0b52f0bb9393f302ce
BLAKE2b-256 46b1b882709f2aeb84332eb83204ede370264cfabebe05cd619562550a92b784

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fdd821d5c29f3b3d9ab468ceec2ec13d68fb1c51657c32ba167d0dc0e1c0882b
MD5 b15ab44cda43e0497153e29e197bed18
BLAKE2b-256 f34b5599d3aeaca2f29ae17a12c6d590b227177c10adcc72aaf91d4ac1fa9bc1

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c7def87e5e0e5c0c2dd8714728025eff6899fe889c4ab2c12ddec9d1dc604c37
MD5 fcbc253408bde25785fba45bcfe0635e
BLAKE2b-256 4a63cb45230fca2aa64d8cfde2e3f809ecec86e6d8607bdc9e0113169fcd3e36

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a7443eed651ba35d52beef41da8def9916d4aa398bf024f5350aaaae6260ac91
MD5 ba08a3bff71f4240958fec6c187d8c7f
BLAKE2b-256 143c46ff2e6c89bf847ba1c8358b47051aa3e59f72df51205013c89248ceb15d

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2b73becabdb46bc63ac896f7585a599a5775adbd8d5e25bc4f9bf22d0485f085
MD5 d76cd97d8853f9590b3c779dfe9c4d25
BLAKE2b-256 2397f82b3c4b4067ae25af6ae733ffb26670691d81396d60c0763b30f51b0db9

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 416f408365addcf6fa6eb9fc16b1805fae6f330a430117c5356da09b17c2b99d
MD5 1fae7f15cba0c587e1df38709a80019b
BLAKE2b-256 f7fed36255c85e586c02197bf461ff1818f91a7b6f4645d5fc44fa671cbb5c52

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 efa0a2122145987b0fc1cb2691cbc1f726520d0071621d44449ce20d77364e0a
MD5 a5cd758aade01cca3106aa283d046c09
BLAKE2b-256 17675b04580773ffe24bec8e3dec93670370a25112f7d4fd4fa6347bc79b8db4

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b5ac4ab828ddcd2b2b211e26193892805913e63b12deb9c2f21dd3c825478089
MD5 41e2486b7def7c6e1e067ca351bca114
BLAKE2b-256 95697ba4c8368e8ac0febcb495a05b45c702d204a092717ceca1bff9069b0854

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9f4801b571d624317fe077968304b762f87836afa9dc3288844850d60c94c442
MD5 63a7ec67bfd10d338cd2a7da56e4a6c7
BLAKE2b-256 b8bf6abef26b34ede22c456f6bacbd4840819f5ddd4dcca1113ee58957b32646

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2d740bca8ebde1666787bc9dadfe84276c9c09bbd81758ed70759596f25928e7
MD5 c9c507ae2fb85b53f071e33aabceb762
BLAKE2b-256 045a09ec5d0cb955490314291db6f19601eae212533a3cc4d807029c84e7b84b

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7683d524f5471bf2bcb94ba495dd38d74f1c2c3e2d0d2b46cd17ad58c42b42f6
MD5 1b4d807284fe40001f606e9f68d6db48
BLAKE2b-256 e6d98ce151f8697d44fa6475fc95adfccd4a6befd2cfda0a6e16badd06ec6422

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 33b5d3d953f04f7caedd5f62032380b30e5864d6e26357f0c49d223c649ef656
MD5 81ee2b8c2e9434d8012f348cf61b42f8
BLAKE2b-256 f91bde3505ce0a74341c5be9810f71cec43b26a718a387051747b09776c825f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f539b4c4d57cfe3d1ddcb5f8aa4c97049d73e64e38137de0baf8315486b7044c
MD5 b39f023d6ca27120e97721f03ca80bc3
BLAKE2b-256 4be1503250850bf1ee28733ecf4171e6f15ec31210a9e098156b85eb40ddd342

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0d9c97c02830300c67a2b282b12ca65b1d93ffde9d4c11f05771a2854b3120d5
MD5 f63b9a3fb5c36f9b666d4a11503c20c2
BLAKE2b-256 c86a87ab3d5772b602fb79883be2e233985d2c92038492c74bfcbbb92407f557

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9b2cd37c3646f656b94b711813040dd75bfbbd72f88ce5748d970db3f5fe0935
MD5 e0f29d904587c0d226b9317cfc79a8c3
BLAKE2b-256 9e1cf490b75a2ec1005e3f76176d3a5329a3ad7dc942c0739004ddee62dbe712

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e8afc8f787383dc71ad1ce21ba30c96d4c850613fd8ee96781a89e87247f896d
MD5 9f756c1710b0a728673f9b9f2451129e
BLAKE2b-256 eb169f26e26e5d8b0dc38c5123228f37a2bad4218cc9390e085489ab0d5541d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c2f726fe94561e34b4b0568afc30280a05b74978c5f92a4ee7ed1cbf712e6386
MD5 070aae32d1d35085cb4855cb6368c3ac
BLAKE2b-256 b9824e202ada134abb8913dfc38c1c8b890f8bd6d069575c701854af0aeee9ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 858ddf499e74d0402067611a4567ad4f515854509ae079e07612638d3c0bd46c
MD5 1720a6f30ca4aa71ba5900564ee8a09d
BLAKE2b-256 8418bb8aefb4549814251659cacba0e7df49566639424e68b117e36218563774

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b24-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.5.1b24-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b24-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f0d4ff27919c2600a6aff2445c34f46f774fd8c1c4b9206047c3f9bcd6410535
MD5 ef7cf9d1a0d38faa83bf4eb36759a813
BLAKE2b-256 badd6fda0a3aa56b3cc762f5255e8f2e9a3fde050801fb0af1af9a642d6314cd

See more details on using hashes here.

Provenance

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