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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a69.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.0a69.tar.gz
Algorithm Hash digest
SHA256 03a86dff6b59e8d9f5eb1ce1cbbce855edf74eace514544c650e01319ae4b06a
MD5 43f663853f6ab15a2a3f92814ced881d
BLAKE2b-256 cae88f757c6ccdce60998e677f2a2e5475e80ae55e3c05e28d7a6fc4ee18c7b8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 370cd34b96b8898542603cfbbe0391675e74d176c2eed0e5d26a99c79ca5359a
MD5 74fbafb1fc078327ccd25466a0a11716
BLAKE2b-256 7a89a638085a6f60d2499d743369f73d8d5f39f8da26b45ea05e735a8d6dda5e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dc71173bdc7a71541b5b638e0702b29ff6303abe3b6229e9bc83ae569cf88cab
MD5 1b28bc3522bac05e77bcb9429f7776f5
BLAKE2b-256 7789fe82e16caaa86d5fdb745120ec3193c0d41eacfd5710b6f759d08f997eec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 52bcee8cff24427e4b6bfb6ee52475d43d11f0ed22f0fa3bbf08597cd3823c65
MD5 5edc5802f2f7cd46a8c88172dfd37bad
BLAKE2b-256 2701bc6e1a0ff8a07a8160bf794a600eb2716004e644ffad1bf1da92d9393786

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f6561e328fcdb9e0a7a87b22bd76e3ca6d7f08fd6066d1d4f4e2e2fadb122d7
MD5 92beb11a275db4f5e5cc4b049e70d941
BLAKE2b-256 321bfb29e2ebf6bca1e082330b0a1fcc5325457e72d9d54f56809d2339164a91

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d04453b5a186616ffd5dec0659cadfd2d8b295c81c71fb81b8b09b7c99b9c18b
MD5 648254ff7ed1fcb98cd461885acf8470
BLAKE2b-256 e4ec98db8a27dde841da9034a381a3e0c77f69d9b4eab7e6951d80aa837976cf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f61fa10e5c4a3e4915601bfdc18437d2d42178e231c97c4e6cf766f1c9f886b7
MD5 df98e4084b3451286db9f4d35ff3c5de
BLAKE2b-256 fff7ec48aff7ee11152085698d5930c4a5333f9f3667167427ef6ea10fbc539c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 62410826ce54a935173daaebfaf377329d54202c15c47d0e95925545c6e5c85a
MD5 6eba967c92419e7ce8ff4463be91a4a1
BLAKE2b-256 4b0f2229cd3c29c5790ce2434447e3e70bc86b9419f19d642fec5cbc80a66089

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 add95312708e4a948003a93dfad6436e949aa997acae2915755670bf0e10ef07
MD5 eb675f36f02803c7671d812d111d09f2
BLAKE2b-256 cdc081e6c6341671003f0af36a8dddf26bc28d8aa9623caec0e22eb109ed24c6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5d8f43deb92a18d63225a2db610b57444fed4a7979fa89594cdbb59c1e6ee56f
MD5 7b933e5edca085dcfc48ee54d5a2265a
BLAKE2b-256 a2378356c028263f8dc4e27be21ed63be5d404b70ebcd43dc3175756c19c252b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 09af37f867be05df0ca925a9d33497821ef41f17c99ef2f2acece026968fd284
MD5 a9ae442d1397e5e6bf7d5492d6a604b6
BLAKE2b-256 a715b2e3c014fc3ee3af6d83814a634f4b724482058a28f2eca5423bc3a71094

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 736a0dee66b059fd68239addbcdddaf825e0d267e795ef8038b404b44fd680a4
MD5 1e838328177a9329364e58539909de3c
BLAKE2b-256 dde55fd585c0689da0f1de8e74f4da6f42de77fde0d166473b6397314a1adfc2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b0232788690e33e94bb18f0fe8d25b69437b0ef5c79332e6c6c91ac4832560a7
MD5 1b27ee4f8ff14701f3ea19dfbd8ab7eb
BLAKE2b-256 d949af61577a1688df0e74398397e64d3ac194ff3edb028d3c859d5b5f55f995

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 13853ddca4a3b8479dffe484b4d7b5510d5ad1b57127ce46cb9cccb9f35ecd91
MD5 41cdace2828f5c396f15cffd8073b15d
BLAKE2b-256 4f4e830ef95ce60f5f1c5340ad1aaf46e7880495b04bbebe5f6d1583e849e66c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4479ff9d81ea3ee674bee9cd5f9898a044514c9d332265d8af8132a4343953c6
MD5 8e3a1a710b6c910cd8ff82dc0b951670
BLAKE2b-256 0d4ad777465d3df544fcd2db068f4232f785c0bf4f4b6c82b5b4b62230df3a3e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 781a751c0dd477117791280bfbdebba2f040ab69cddfa31a7a875b9764b149b8
MD5 5afc3cc6e5a83874399d42b50d8f989e
BLAKE2b-256 c8e5d9ade2814f6b43f0e10b6c6fb5e4e33c01b75494fac71ca42c8a60bff320

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4cd241136cecb87cc4a980df90c2ae6a65f0f15e870895aacb271f1acb86c306
MD5 46ed66771957cabacd1d845946208769
BLAKE2b-256 f539cb6b3c2de92bcf335e05aecb877da95a864cbb8d351e4a54932e78bd9991

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 79fbedafa0c01c6b52c4c36e714ef524d872d59800af32862d154cd769a9e08c
MD5 7b54f33f06e1740612ded279736c4b58
BLAKE2b-256 6e6a4e1fea66ee3f898265122c55923739595de7b7c5964c1afd4fe4c9f1b718

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7db74ff021a41931423faa3c98ecbabc2b150d69a816b365debd3c50809a171e
MD5 879d99f4e0569a4374853561f1b4c3c7
BLAKE2b-256 cee7a117072c41ec764ae5bcf7f387f3e181594cee5355f034a0db6403882a54

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 02f93875e650eebf903b413ed3ce6a9dbafa8ce054ed3a16aab775dd7d32f16b
MD5 f5db1872adf7aa859cf6b358405b6e74
BLAKE2b-256 1494fa0632d39ad6514261ed53a96ce30e3c59d65680fa4b997672250345efdb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1efc1c895b3071fb54382a73faddb06096666d19da8f7146904d5801a4fc8a88
MD5 12aaf1c0bfd56dd3fc82384a0e106dcf
BLAKE2b-256 e56649c8e85747d1cb70e7402f8f46bbf30b3bbd94f9e1baf5a8ca49f21cc8c5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 528d6941d88963b294f61e351ab39fd287fe485d1982b23ca68d672721c75f78
MD5 ec4110df1556c6912adb936b722f9032
BLAKE2b-256 a3fb82158e057b1ff01356ad6728ade7cad082d2e7de4fb765315c99b668cf36

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6f327392c83729956bbb8492be8757b6a6cd58c86e86133d100b8a1bfd40abc9
MD5 091e91e116cebcf74946442226130bef
BLAKE2b-256 43347e0cb198de4e02deb2a00bf6a91ab157729b7e2bcd3645492d29bf34cf11

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a1d7e5fad67cc9dbec2e3ea4d48814ba8864ce85a24d242108360ccaf2ef8132
MD5 bfe7a5a05c1c1b653d2293653ddd86f8
BLAKE2b-256 7a649bea0dce8909d82716750317bc2f0a8098f980237d8d160d0a4b7bd43cf0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a69-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f7c0e0a5c7045277276eee4285e0211a0a60bdc90680e8086f075746da8e0d63
MD5 073353e753bb9d4edb893bbb197ca0eb
BLAKE2b-256 e86708681f101aca5db2b2a532388250d95362fed76410610d9b5b1e7f640081

See more details on using hashes here.

Provenance

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