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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a75.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.0a75.tar.gz
Algorithm Hash digest
SHA256 ee700b96dca425b7561f83f5d50c076a3fd9c453dd3bf79fe55b7d032423b55c
MD5 cacfe5624a6684d7b4985b2b45877fcc
BLAKE2b-256 a47faa0928d6fc97cc4b96ab45c0d28707a6996065af8d327cda9b30f210a404

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 acfb531a65e8b516ee2d1b2485ba93ead2443a49533947e5a29812a0e2113726
MD5 ce055fe1dea6b0fbb1983fb450c58733
BLAKE2b-256 8a49de5b1578f3b0a6d74a6db6a9eb5bcc2d20d065a886e7ad213c21e5729e56

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4d65e2001be3f017cb94906401e2efdb27f676092b5d47df3fd088208466055d
MD5 511dbf75fadcd9f0de539637e6ccfee5
BLAKE2b-256 751ba5e087ef6575063c2a58abeaba15115832dc8a8d06226230fb77b6dca89a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 40875ec87eb84a27269f34a4cb6a707f309f6adc6ae92c9bb6d8b13b930e0066
MD5 cb6462df40660d1d1b69e7151736d545
BLAKE2b-256 37e52ca702a59ce33362baee30bc6bbe5f5396f37df5d22bb26b7e3519538a64

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 757a16a4d1a8e6a550145f6605f86ef8929ef548889b7d4cdd048bd7f8ddac14
MD5 4b045542e4afcd644b685e0c84bf106e
BLAKE2b-256 aacb93953bb3367f72b1e263c7997665e0d9e7066b1e5f82441b0822bdbec98f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5b6b9e96e80eb6e6277e610b27f2e39093f5bcedfc5067e67e3eef7b17abcec4
MD5 01f4e8556c35de4b080d08e18d60c590
BLAKE2b-256 1105cbfa912542a9f309af0d9d4b4b7d42976f76901c8605289341ec48304883

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6206b30a0a4013f29babf27e9d9150f3d324bc2c8a4eacdfcb6b63b95bb72b3b
MD5 dedbbf9a773236df419598f08dd59eeb
BLAKE2b-256 d4be8bf64118b7ac98b7234e89f0a17db2e0c36802d076c8b82e65175aee4763

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3b270815dc7bdbbf23f3259f44af142b5cb2e7b860e5d3792d73e13782f6d1fb
MD5 797cee634f05a88db4d48b552ddab31e
BLAKE2b-256 24c13c96168af090d98992707be0c4f5591cf622f9fccaa7ae41b7ff86aa1cfe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 56e6152f6898eb3e710a33cb24648e3a1ced5b2f2eacc8d75f4a8314dfe88518
MD5 fb244e67237ef90e06dd15b3af074bd9
BLAKE2b-256 7f1a92e34b86b5dd00770e3a91f7c4d1d471cd3bca0c043e1e8172cbeb5a940c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9f19bbf42d5160b1cd7d53691080f18bde24f3cc2b949adaa562d8641d5e6dd1
MD5 041df73d2998e3ce9aff012957a120f7
BLAKE2b-256 e124067dc02d96113bd5211ea60f28d40b6c07a6454a2cd4001d4d99ce1606ca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 641b84dd9e5f320de55ecf7bbcd2dc63f32958bcef937166a7dd1187d387fcad
MD5 d88a29fb6c9c0d2b05a98db7e4a8d08f
BLAKE2b-256 1829e9eaf91b3c450f98503b99e660c9aa6698cac1b8b2e17bbcfa1f36199526

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1778df994901e98a4c92b2902c6fa01a8ca263bca6513fb5a45168acbaf0cbfc
MD5 bc9e7f3a26df21d09a3f4874a3864845
BLAKE2b-256 331417da2f6277de4331368d8c2edf4a850455a8b5d03f0918ec510a9fe28389

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b9f23633678e1d12e04bafdb5305bb1723d367d27d0b84b92f0435bf8b9daff4
MD5 2616a2eecb0d37da9189ce4dd289279b
BLAKE2b-256 c66f5a85ba4148f71e2aab998b077b7df1657b698e3ad985b57899b6b52b9a61

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d1bed000e2b0a876fc3f9148a55a648a9ff566c7ae14895fbc4d82ba3905fdb5
MD5 0f7e22f83e0923d591b02f0c02853fca
BLAKE2b-256 69c7c4ecef48cb42bed777c886d80549265d48ae437f99e6252909973657188e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 578b1d6cbbbbd9b1c8f55db931644489a3f3b476b5de65af7fe5ab3a9028a406
MD5 e65d1a78406cabafdb2d55336ce18c85
BLAKE2b-256 b0b3093e9968eaf0c1dd3a9c23f46ba6672f0773415964df4a89a26c9b788968

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 65e484d1013e8e3dc906cf49d54ecaa4c9291ad286f948dde59702050d43fe8c
MD5 1217389ae4dab0c3cc0c42b34a809d25
BLAKE2b-256 5a0f97119ba970b44cbf8bd31f64c970b39d9495e5e1c63ad9c0b9ec4f7adb85

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c7a8cafebae328087c4b2144867dffc4508e1bdeaac8587e85687f91af7b624f
MD5 90d5e45ce357025da433a86bf699ce4d
BLAKE2b-256 8becc05e25d320f76dbb5ee4e83d14839ebedf5f8326ad96efd1c872b075bc78

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 da9c9e8270259fb2021b7ab4585ddf55d91a0616af1b868cbfb9fb3afee09fbd
MD5 f98e27d9fc32e87034265754278ba216
BLAKE2b-256 43728aef0301cde9d5b625b9d248f5fb9294d144ddee1c5f1fe850511a758f08

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8845663a2343f2409ed848f394370a412e2ada166d4e887a150866a1ad1e612f
MD5 dfbb297c543ff1427360a3f8369a9fde
BLAKE2b-256 3e527ce37f9713f12f052f3eaeff1d34e71170c923e1efcc0271444dca91caca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7f8f93bd7b2d2941c330876b5787fbdcd6b22a26b1865aa3f9a77b774c03fc77
MD5 b034a29593b41f597d6f5fe05eb5c7ca
BLAKE2b-256 b0311f9fc2300255d809a80929aede79223724d9e7854fc3ae3fd8e78435e50b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5522fe4f9002a2519cf62c2309281ff5a24bb3b61e934f91af2cd4322a8c8d8b
MD5 bdea94f6e8a7c96e2cdeb45a32e49fde
BLAKE2b-256 cd9f8a7e2b347b19f64b7e2402da8c74c3686e7adce77aad8eea76ea4b6813b5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c4c5c934cafa8c8a2d9bedf35a35b671cea736fce40f11a2bb86b2ccd5495a8b
MD5 5522effa567aaf670bae42ac323734cd
BLAKE2b-256 7fcb6fa128cf1e105fd74acf63cb52193aabfba7575b72d8ce0d0b6cd6f897c8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f43bd0eb9d75ff0252055859b798aeafaede0aed3ff954fc2c2a9faea7267d79
MD5 fdd9284da7ef2a660af073e534bc506e
BLAKE2b-256 4f57e9974d85283d50bcfbc7c7d310518d73a45176e75d5380881d7325bf6257

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d186d9416696770d93208b5ba1b38e18ff2984956a4804b9cf1652207f948ff5
MD5 8786505694abfc6f6b27d0f09454d926
BLAKE2b-256 400383bb2d5b7a36d303f629b0cdd6f0b489ce38d1383f2df1f764267281c182

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a75-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1489a4431e91bc6cf105ae69b06ec698e162fe26ffca9de62dc684ab02ee5ae1
MD5 7c64bba537be27e5e9fce00ec534bb8f
BLAKE2b-256 72aae9d2168d085d082db738fec30bbb452077cae8d09e80d0eec092bd3ffeae

See more details on using hashes here.

Provenance

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