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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a76.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.0a76.tar.gz
Algorithm Hash digest
SHA256 ac47025a619dbeee1a6c94c03009064ba5beedff00a8d0d7b3c02481d698221b
MD5 fa5dac8e7edb74444fe50294767ba4b7
BLAKE2b-256 7687a9e1b74ea213bc5bbfd18d779d9e58ffc292785a060ba112b20b15b2ee86

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c663ab87819d2e1d65e00f1996ec5a743bb3ca51d83d608d62e757be7dd2ec31
MD5 08f5195327aaefb8aa8281f5553127c4
BLAKE2b-256 6a5a609315cb84429d52d5cc5ce9c3950f70fe46d6facf7362b68609cb2aa44e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4cb537ec8e663d87472e43278caddfac83489ee3812002a95d4a608a2833074b
MD5 5d7935e749320e5f7bfc637c2b2d6195
BLAKE2b-256 4dd595a4b3b74d1316e222da953333cad45fe93578e010e8902239c9a18c06d4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 79c552aa8d61a8e1fd18954f6a89924c071de9afbb091d8d5b80ed0c2060a15a
MD5 dc715d2c4afa0c84c454971675de3b6d
BLAKE2b-256 e8e1634b6f5bc6f323f048b122912aea86f6f6251fba6f186ebabd71a27307c4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e064f6d8c562b524e933301bef0ee397e4c1d31556841f686fb211190fd3ea5e
MD5 74f4d8569da8d85f5bbc3d138e9a4cb5
BLAKE2b-256 036bf2b321bc691a01ab2e30314497051864b641e0b874127096cf4d3175a141

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ed9da5dc22ae47e89bedd6137e92bdebae0a2462ad084b287ea4b0e2fccaac0d
MD5 6a2c7fef4e18ff8c1328f6243e4692cf
BLAKE2b-256 47e9f3f10ccec7f9845d94daffd9453ffc0b6f372bf1d021244fa50821d34dff

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e8a55b1d60223db134d059ad5db7a107aea8f8ce46b92ea76ecb268865ba0944
MD5 bff5dfcb22b8002d2c2815a7e323b4bd
BLAKE2b-256 486c5e848cbf7cb6f5b42c6b760c7645e928b8b49955512b6ded824df52ed6dd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6f982f4d88fe4de64366d91a804e89df5c4fc47cb00dc725d15b62c211651cb4
MD5 e08eb30ce16d98d3dfa251f8640f5f03
BLAKE2b-256 1b0fb1ff28de138ddd281830d13bfe153769737ee028186ba53f1df5c0dfa36e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b1919a91e68313c7c0bf3e0b5a5252387316266eebc6f747e9a5de7d1f800f81
MD5 d2e98a6fb19d3d04f56b84e96c6b9cd1
BLAKE2b-256 9d1ef00705cf03f3022f41fefc36d0a218c049c8c4ae4fe038c4d209bc9565d2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7253f3c079c93294be254f9e720f2d1f5a1f8ae66d4c199340dcd22aacf636ca
MD5 e204576d984cf0e173009cf3da1dc124
BLAKE2b-256 e62d3c6e727d1dc080fe66eba7f490e8288762ddbdb011b696d92c3ffc534484

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c7dd13c816c1965200fc490ce4fff96eb610d8f702efdb2c0fdbd49c97fe0dde
MD5 0d2d89775a4c7163777262aac6320a78
BLAKE2b-256 55b9a44248bf866729e0bc3036df1677e6d13857f736bb4ca09a1c62dedc05a0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 432c93f5a7f123f19cafcd6c4bf7540d3bb5cd7229e63d6310a6f83205998d0d
MD5 b876798ea76ddacc1636e7df9718bbd1
BLAKE2b-256 f6e1c015a6e111c99db8ee4ad57c367a64c25aed144a396a9e8a47ff69838dc6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 62efc7947dd3d96743b14efa75f293f43d3aab387385004193129144f779428e
MD5 0f0edafac6fda01f8745a3776924a97f
BLAKE2b-256 2940803aa8d2d3994dfbbb5035b8b7f2afa98502756d816c235b7b09cc9f7198

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 09bf0e0fb51856ea1f5d5ec2e7da3bef57221ed5fcd5c33f4ed382ea0bc4f450
MD5 c0d238f8a39c014a5363502514a83847
BLAKE2b-256 adb65f68c360f652d4a4dbd1f19d0dd0fefce3ca5293ebaaabf373fa14e867c6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1067815acb54257fc5da30a9d9d42bc7980a1f530388c4d177fa396970abc40e
MD5 e278d857cfdabe99070c696460bf4067
BLAKE2b-256 41a33398def1eb463721ab29b1f62e3cd72a194cf23472e17a7983d9711ca658

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dba9c433a26d2c6e38d3befb57e0595dd4664c6a203b461acbd68277e53c6039
MD5 d3bda4615dba33f5f8e28d346538d919
BLAKE2b-256 1254f959798288d36c45a74d8977dba7f2f62a920737a9b187aa3f7e070e717c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2c05d56d2748012a1f79c0daef5f5c07d9a232abb13aa6f50bae004fa9d341d0
MD5 d9e53b8c21635c4d4785e781fb73f52f
BLAKE2b-256 0c75c808cfbf79c18dbd936752a53ea39e7bf1716cb29b30857224bc321eec0b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 670762572e108a8ac24e623114de5a17575ebc9d6d20adda4f6d8a3ab60948dc
MD5 9a751e5ae8993e7644ffc87f87be94c8
BLAKE2b-256 15810c3ceb510f4af1a325c372b0b8ee3ee74a6b7fa7bcfc587e84a139ab403b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6b77ee945f93cf939d3a5b6dffe04e0503068fe22cea94f682d338c525c79bb6
MD5 818ea3f6132df9af7a296f739935d0e6
BLAKE2b-256 67a10ba1723590ec62d1734eb8b5fdf140516fdac1636facaec6801f779cd4e7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8d80822cedeb97e3609d46b05872c294473d1d9449fce8b7450d70ebd09dc0e7
MD5 b47740065e7adcdc9d46fa47f3369662
BLAKE2b-256 c867feb571935b15dcce95f07fb027de9b5a534eb40b77adaeb88d6f4cb03f18

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fb38d2c386ac82cb6c8768277e1e101c2dae35fda216146beeb8185c2393a899
MD5 6906f9aac103906a1b37a047a6469458
BLAKE2b-256 47fdf9abe80de66db266c4333e120dc77edcc3567c5d05f59dce77c62b0d0f2d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c634807ebe6d7f6f3c360bb310a0626822734fda7a2835232425c7d9f3fd5768
MD5 bb3f967a5fe30b1e5ac7edf06612c45f
BLAKE2b-256 cd31180420bc0af71aed9570e7478cab2d6ce16403866b23c15e56e40c17bd24

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dbee5d93725750a1bca6a07b0b54f21bcf44d27aa63cf4b7bc7057c0df10287b
MD5 9286448195bd2347749f36f02de32842
BLAKE2b-256 8ff7c23c3926854f04b1c89b364f2d9ab2339f60dcb143ea097a2e835e7ccf9d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5dd3c8154dde0bbecdb6b8052202b62553d2a8c23bb7a0140e036c4422e2ecfe
MD5 d2001fb753f77ecc9c3d5819c1155ec3
BLAKE2b-256 bae6b06313c4c2b31199338f9b934d6767bc7cb912128da6e9102c557b55be09

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a76-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8283807d08e979d74d7f9a81797f9f46a29a6021ef21a92cfb2a4cdebad8b090
MD5 d1f8df6f190c4be760aaa7fd2dbaf5d4
BLAKE2b-256 4b4ec5793b95c7ee6ea89d4814c1012ffaa45bb96d1350133e532ed7f947effc

See more details on using hashes here.

Provenance

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