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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a74.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.0a74.tar.gz
Algorithm Hash digest
SHA256 9b64c7601fb7155301a61743944ec3e175573ba9f80c541e936d417ce13874a5
MD5 81291ac78cbb66f039ac413b44d8ff84
BLAKE2b-256 f1bbbfd15bfa41498b2a3a28b18df6dabff0daea1b4d1a8f407d174491cb6bd4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 be0bb4a5894d428aaec126bc4a906e8996d3175482318946939da73ebfd1e74a
MD5 fdd2299c5af904147181f57646e647f8
BLAKE2b-256 b236be6bd6b5d8501c0ac932f9d2367157db48baff7b7ec9252fad4f43ea1ec7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ca4573081d8f76c6a10afc9f103ddc981ec5d95243f05142268c8f0d50494d89
MD5 cef1592409c37c9fa78e24ce7154be44
BLAKE2b-256 f424f41d711d4c94cd62f6b6b35ffff78ce1470078b4885511409209d1c8ec1d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 76bea93b10ba0d5574f23b935813e79f927bc8aaa47a69822218fa015a0e7542
MD5 78f325780f05b6795dd408cfa4ed651c
BLAKE2b-256 e56f5aa18cebd810068363f0dc37871b59ba7b37df035cab7ac42b58882f2f2d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 08facef7fb123e845c8ed002b733506946acc8c646acdd19bb2a1bf4af23c8a6
MD5 263a62b0f55cb5bfd6ae9518326c9e5d
BLAKE2b-256 b3d361936b7ffcb73dfa368e4d2ccca4553193625ef13c47a6fb4b93b8fca65a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 580740ba6e6b5af6f1684a4a5fcde13e4f12a6ca47d22aadb4f8462f56d58d10
MD5 f312ef2e406dd6c98744d5ec7a007b3e
BLAKE2b-256 37d54323b93e44d8c00798a181b1fbf355ea786474556091057a2c441aa44ae4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9bbcad1c96195174f4d7f67e1ccdada5f0e48be1d45fbfa50c10ef5beb4dea23
MD5 023ec2440ce4f743fa1f12cdcbd66937
BLAKE2b-256 8c8e5bf55c283de357dd938f3cba9168e51707bbd3502d479fa483040c5b5f80

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 843b9813aa6cc4a94720cae0f14e4fbeeecadc9d490eff70f5c829ddb7d17a02
MD5 3d206e8bc6ec70fed06605659e2deb44
BLAKE2b-256 e2ff5ff09697a3ffa113bae12ad78c564214a6262620f9fa729c6a9a92cea60c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d769c1cc182695e1c3e36bfff97c27fdd100c7d6192c8ab764ad6712305e2f3b
MD5 ee65ca5263993e36a196b769f9ae327a
BLAKE2b-256 f6e31f22a1cb6045a426ffd8dcc2862a8cd9c99031855468a386445ad506f7ce

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1a1782201c23794f0ab1f93ab7385a7dd55fbc38e3f9f3c49dd2e65712ff21b8
MD5 eb8d3b96469bcea196c8ec971e3ee9ab
BLAKE2b-256 32cb37575e88960cdcfc0f8907ee74c350d06a54f18c80d31b6b5947b154129f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dc2fb030652326947f356efd2d73ac41ae78c0ee8a07f60b64e74067ee3e3e53
MD5 c4917ddf852c229dbdcdefac9d3baa63
BLAKE2b-256 b2d8febbaa03e7cdb2888455f336a8397f68f72be45418f8064336505fb70b99

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2fb1da1af635b0818a578f56098747cb49e0f6a36437a25065bf93d335d4868b
MD5 bc5936140a204dda83b287138898a15d
BLAKE2b-256 c1c42fe97b8c5d92637dcccc0c3325327c5ceac4589671c5b2c46787d4de1389

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c00be510d243e75cfa3073019597304ed43bec34e6c9311380155ebbc0267a7
MD5 b5a3ef44e0c5083c93ac2de146f48beb
BLAKE2b-256 fd3feead4f597737f63a7b6d3b5a238574f59501ceab7640153febb99501b9bb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6a80119ad5f9651b8ecfacf4591cec3e7be0a7df0f5f93345fbbcdec30d8797f
MD5 01688b0685df557f54b8f5365030dd31
BLAKE2b-256 a637d896907066c49e9d3e45dc228d2914e9bdceb31b44671c430aec30848155

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3ff4181092b78d1865be0bdf2473843ddf79193fccabd24fc6c9735b697e7c28
MD5 cea6b530c0ad534a31aa6a7ad752bd29
BLAKE2b-256 0f9e7837ff02a285816eab333e78eced5f67b975ffd28872f5133223099a70c1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9cd58bb2802576e3e5218e5003fd94b1282fbdeef5f35e2ab04fa51c1ecbd612
MD5 bc902493ae1373b189fc08f12c7c0eff
BLAKE2b-256 75cdd9c163891094bdd5026388d789d46b34ff85d4f1f023952a43c9729d823a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 89d7978861feb41b03d6bcaf38cc027ddb3b5113c027c72610a07b7bf4a0f570
MD5 0343f0c8facea38f8105008eec81f103
BLAKE2b-256 142b6db1ef5204b66201579e601d2a1439eb60fdfa2c014db0f12cdbe239e469

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 60eb320f220482458a9ecdc9292c16a9b07cb2106b52f5654bd98df0e82f01a8
MD5 7207a73804d850db97fbfec08e55a403
BLAKE2b-256 504d4ad98b1d3d929d4dfb85d5a6b327fde4a4a59d4d99060a4298572d4258ee

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ef5c3c28269fac20dc5c7807cd9e0b2f47a68b284d72e9ea17855f44327482f8
MD5 72c3bf654bd4ec830cd993047eec6a21
BLAKE2b-256 9c7bd9f20758e31cad65159ac85264c041ded7c7089c581b3ad25c0f9bd052e7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 155b721677d4476e878b78593da091d1d8c358cc89fd5510e0439683dbe3cd75
MD5 ad9b98d68ab563eeb87a21ac488a417d
BLAKE2b-256 555652be4d409ff3fc5f8865ef8eb4652327a8995488b0b5cd73c16c760644af

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9614a33a00ee22a736848164a3f68e86cf904e81d6946b41f9110d3e1d92ed5d
MD5 7df5a3207d3cce99a35bc2db2df902b5
BLAKE2b-256 e1e1155d931d64d5570fca13b02d918acc643f6c2e298d3b7667f23acc8bce14

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 58c406404a88ff56dc79acb5fd4d3e3353b27875fce9bd014c534a35e21ce123
MD5 5a1fde0e3f0a0b61d6918e6b80047915
BLAKE2b-256 6e8fbb4bb042950be6d45c7c98b2e32eda3ae252e731fc358e14e55713523841

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2bd72d5d74eab453f0609ac6d1b17448deda29138a87aa1da34086bb7c96cc96
MD5 765d2d61f55fc9290947882d2ce1acfa
BLAKE2b-256 32516927d21ee07a7ba8244be4d8c3fb9eaeceeb9991ecff5685c3324b7f6b5c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b09b9082dca4089c6246c3928150987a66a7a8422c443b79e7ae7acc04977f66
MD5 acd6b389d903b2b27155001a7758c944
BLAKE2b-256 7c3553d3b0435e5eba97d9a34255a3984366af609626e2a1642817cbafb9be18

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a74-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5912de4e2362f125d51097b1690071241e119d6f481962bf94b0925211bd1b75
MD5 ab5abb04d7fa3ed3b6b0d49a5905e778
BLAKE2b-256 522cc903c35ea788fbcf2742aadd893753e5eb6be49efe5aa2f4e898080dc50e

See more details on using hashes here.

Provenance

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