Skip to main content

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

Project description

SecantusDB — the SQLite of document databases

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

[!WARNING] Beta software.

SecantusDB is past initial proving but the Python API surface (CLI flags, public class signatures) may still shift before 1.0. The on-disk format is WiredTiger's — the same engine MongoDB uses — and the schema we layer on top (collection / index / oplog tables) has been stable across releases; the test suite runs against real on-disk WiredTiger storage and the persistence tests explicitly verify close-and-reopen round-trips. That said, we don't yet ship a migration tool or a formal compatibility guarantee, so please don't put production data here yet — production deployments that need durable data across upgrades should still run a real mongod.

Drop-in MongoDB for single-node applications. SecantusDB is a real MongoDB server written in Python: it speaks the MongoDB wire protocol on the same TCP socket a mongod would, so any standard MongoDB driver or tool — pymongo, mongo-go-driver, mongosh, mongodump / mongorestore — connects unchanged. Point a MongoClient at it and your application code doesn't know the difference, as long as the application only needs single-node behaviour. No mongod to install, no port conflicts, parallel-test friendly, embedded or as a standalone daemon (secantusdb).

Single-node only by design: replica sets, sharding, and anything that depends on real cluster topology are out of scope. Within that single-node scope, SecantusDB is the database your driver thinks it's talking to — same handshake, same wire frames, same error codes.

from pymongo import MongoClient
from secantus import SecantusDBServer

# On-disk by default at ./secantus-data; pass storage_path=":memory:" for ephemeral.
with SecantusDBServer(port=27017) as server:
    client = MongoClient(server.uri)
    db = client["mydb"]
    db["users"].insert_one({"_id": 1, "name": "Joe"})
    assert db["users"].find_one({"_id": 1})["name"] == "Joe"

Storage engine

SecantusDB uses the same WiredTiger C library mongod ships — vendored at vendor/wiredtiger/ (mongodb-7.0.33), built from source into the wheel, called via WT's official Python SWIG bindings. There is no Python re-implementation of the storage engine: B-trees, page eviction, write-ahead logging, durability, on-disk format are all pure WiredTiger. Your data lives on the same battle-tested engine mongod uses.

That doesn't make SecantusDB as fast as mongod — the layers above storage (command dispatch, query planner, aggregation pipeline) are Python, and a like-for-like benchmark currently has SecantusDB ~8×–46× slower per operation than mongod. CRUD reads sit near the lower end of that; bulk update / delete and aggregation sit at the upper end where Python loop overhead dominates. See docs/benchmark.md for current numbers and methodology. The right use is tests, dev, embedded apps, and single-node prototypes where conformance + WT durability matter more than per-op latency.

What's in scope

Everything a single-node application needs from the wire — the handshake (hello / isMaster / ping / buildInfo / ...), CRUD (insert / find / update / delete / findAndModify / count / drop), cursors with getMore / killCursors, aggregation pipelines and the expression language they need, and change streams (single-node, oplog-backed; collection / db / cluster scope; resume tokens; fullDocument: "updateLookup"; pre-images via fullDocumentBeforeChange; blocking awaitData getMore). All backed by a real query planner with index acceleration — single-field, compound, mixed-direction, partial, TTL, sort — proper explain output (IXSCAN vs COLLSCAN), and a hash-join $lookup.

Authentication: SCRAM-SHA-256 — MongoDB's default since 4.0 — is implemented end-to-end on the wire. Off by default; flip on with secantusdb --auth (or SecantusDBServer(..., require_auth=True)), provision users with createUser, then connect with the standard MongoClient(uri, username=, password=) shape. See Authentication. Authorization (RBAC), x509, LDAP, Kerberos, and TLS are not implemented — an authenticated principal is currently treated as fully privileged.

What's out of scope: real replica sets, sharding, RBAC, x509 / LDAP / Kerberos auth, TLS, text / wildcard indexes, $where, real transaction rollback. If you need those, run a real mongod. Geo support ($geoWithin / $geoIntersects / $near / $nearSphere, $geoNear, 2dsphere and 2d indexes) is in scope and shipped.

Installation

pip install SecantusDB

Pre-built wheels are published for CPython 3.10, 3.11, 3.12, and 3.13 on:

  • macOS arm64 (Apple Silicon)
  • Linux x86_64 and aarch64 (manylinux2014 / glibc, and musllinux_1_2 / Alpine)
  • Windows AMD64

macOS Intel (x86_64) is not in the wheel matrix; use a from-source install if you need it.

WiredTiger is vendored inside the wheel — no separate package, no compile step, no system build tools required.

Building from source (unsupported platforms only)

If your platform isn't in the matrix above, pip install SecantusDB falls back to the sdist and compiles WiredTiger from source. That needs three native build tools on PATH:

  • cmake (>= 3.21)
  • ninja
  • swig (>= 4.0)
Platform Install prerequisites
macOS (Homebrew) brew install cmake ninja swig
Debian/Ubuntu sudo apt-get install -y cmake ninja-build swig
Fedora/RHEL sudo dnf install -y cmake ninja-build swig
Alpine apk add --no-cache cmake ninja swig build-base

See Installation for dev-install instructions.

Standalone daemon (drop-in mongod replacement)

pip install puts a secantusdb script on your PATH. Run it like you'd run mongod:

secantusdb --host 127.0.0.1 --port 27017
# storage at ./secantus-data by default; pass --storage-path :memory:
# for an ephemeral temp dir cleaned up on shutdown.

Then point any MongoDB driver or tool at it — no application code changes, just the URI:

mongosh mongodb://127.0.0.1:27017
mongodump --uri mongodb://127.0.0.1:27017 --out ./dump
from pymongo import MongoClient
client = MongoClient("mongodb://127.0.0.1:27017")  # same code as for mongod

The conformance gauges back this up: pymongo's own test suite and mongo-go-driver's own test suite run unmodified against SecantusDB — see pymongo validation report and Go-driver validation report.

Examples

A walk through the operations a typical application exercises — connect, insert, index, query, drop. Full version with explanations: examples in the docs.

from pymongo import MongoClient
from secantus import SecantusDBServer

# Ephemeral here so the snippet is self-contained; the production default
# is on-disk at ./secantus-data — drop storage_path or set a real path.
with SecantusDBServer(port=0, storage_path=":memory:") as server:
    client = MongoClient(server.uri)
    cellar = client["wine_cellar"]
    bottles = cellar["bottles"]

    # --- Insert ---
    bottles.insert_one(
        {"_id": 1, "name": "Pommard 2018", "region": "Burgundy", "year": 2018}
    )
    bottles.insert_many(
        [
            {"_id": 2, "name": "Brunello 2015", "region": "Tuscany", "year": 2015},
            {"_id": 3, "name": "Barolo 2017", "region": "Piedmont", "year": 2017},
            {"_id": 4, "name": "Pommard 2020", "region": "Burgundy", "year": 2020},
        ]
    )

    # --- Indexes ---
    bottles.create_index([("year", 1)])                     # single-field
    bottles.create_index([("region", 1), ("year", -1)])     # compound

    # --- Query ---
    drinkable_now = list(
        bottles.find({"year": {"$lte": 2018}}).sort("year")
    )
    assert [b["name"] for b in drinkable_now] == [
        "Brunello 2015",
        "Barolo 2017",
        "Pommard 2018",
    ]

    by_region = list(
        bottles.aggregate(
            [
                {"$group": {"_id": "$region", "count": {"$sum": 1}}},
                {"$sort": {"_id": 1}},
            ]
        )
    )

    # --- Drop ---
    bottles.drop()                              # one collection
    client.drop_database("wine_cellar")         # whole database

Documentation

Full docs are in docs/; build them with uv run python -m invoke docs and open docs/_build/html/index.html. Highlights:

  • Quickstart — embedding in tests, running standalone.
  • Architecture — the layered design.
  • Indexes — what find() and aggregate accelerate, explain semantics, hints, partial indexes, TTL.
  • Aggregation — supported pipeline stages and expression operators.
  • Compatibility — the divergences you should know about before you point an application at SecantusDB.
  • pymongo validation report — per-category pass / fail / skip rate from running pymongo's own test suite, unmodified, against SecantusDB. The submodule at vendor/pymongo-tests/ is checked out at the pinned upstream tag with zero local edits; a pytest plugin starts an embedded server and points pymongo's DB_IP/DB_PORT at it.
  • Go-driver validation report — same shape against mongo-go-driver's own test suite, unmodified. Spawns a standalone SecantusDB daemon and runs go test with MONGODB_URI pointed at it. The Go driver underpins mongodump / mongorestore and most non-Python tooling, so this gauge catches type-strict wire bugs (int32 vs int64) that pymongo accepts silently.
  • Node-driver validation report — same shape against mongo-node-driver's own test suite, unmodified. Spawns a standalone SecantusDB daemon and runs mocha with MONGODB_URI pointed at it. Initial baseline is restricted to the import-clean subset of unit tests because of an unrelated ESM/TypeScript loader quirk in node-mongodb-native v7.2.0; see node_validation/include_paths.py for the rationale.
  • Java-driver validation report — same shape against mongo-java-driver's own test suite, unmodified. Spawns a standalone SecantusDB daemon and invokes the driver's bundled ./gradlew with -Dorg.mongodb.test.uri=mongodb://.... Initial baseline is the :bson:test module (BSON serialization, ~289 test files); the JDBC-style integration modules can be added to java_validation/include_modules.py as we widen.
  • Ruby-driver validation report — same shape against mongo-ruby-driver's own test suite, unmodified. Spawns a standalone SecantusDB daemon and runs bundle exec rspec with MONGODB_URI pointed at it. Initial baseline is the lite-spec subset — 90 files under spec/mongo/ and 9 YAML-runner files under spec/spec_tests/ that require 'lite_spec_helper'. Covers BSON, URI parsing, SCRAM-SHA-1/256 conversation framing, retry / heartbeat protocols, CMAP, error-class encoding, plus the cross-driver spec-test corpus for connection strings, server selection, SDAM, auth mechanisms, max-staleness, and read/write-concern document shapes. No real-mongod connection required — SecantusDB doesn't have to satisfy any cluster machinery for these. Auto-discovered by ruby_validation/include_paths.discover_lite().

Development

git clone https://github.com/jdrumgoole/SecantusDB.git
cd SecantusDB
uv sync --extra dev
uv run python -m pytest    # 584 tests, runs in parallel under pytest-xdist

Common workflows:

uv run python -m invoke fmt    # ruff format
uv run python -m invoke lint   # ruff check
uv run python -m invoke test   # pytest, parallel
uv run python -m invoke docs   # build Sphinx docs (warnings as errors)

License

SecantusDB is dual-licensed:

  • Code — GPL-2.0-only. See LICENSE. SecantusDB bundles the WiredTiger storage engine (itself GPL-2/GPL-3), so the combined work is GPL.
  • Written contentCreative Commons Attribution 4.0 International (CC-BY 4.0). See LICENSE-DOCS. Covers README.md, everything under docs/, the validation reports, and pymongo_validation/README.md. Operational instructions to AI assistants (CLAUDE.md) and vendored third-party content (under vendor/) are out of scope.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

secantusdb-0.5.2b7.tar.gz (8.3 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

secantusdb-0.5.2b7-cp313-cp313-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.13Windows x86-64

secantusdb-0.5.2b7-cp313-cp313-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

secantusdb-0.5.2b7-cp313-cp313-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.5.2b7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

secantusdb-0.5.2b7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

secantusdb-0.5.2b7-cp313-cp313-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

secantusdb-0.5.2b7-cp312-cp312-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.12Windows x86-64

secantusdb-0.5.2b7-cp312-cp312-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

secantusdb-0.5.2b7-cp312-cp312-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.5.2b7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

secantusdb-0.5.2b7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

secantusdb-0.5.2b7-cp312-cp312-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

secantusdb-0.5.2b7-cp311-cp311-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.11Windows x86-64

secantusdb-0.5.2b7-cp311-cp311-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

secantusdb-0.5.2b7-cp311-cp311-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.5.2b7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

secantusdb-0.5.2b7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

secantusdb-0.5.2b7-cp311-cp311-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

secantusdb-0.5.2b7-cp310-cp310-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.10Windows x86-64

secantusdb-0.5.2b7-cp310-cp310-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

secantusdb-0.5.2b7-cp310-cp310-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.5.2b7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

secantusdb-0.5.2b7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

secantusdb-0.5.2b7-cp310-cp310-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file secantusdb-0.5.2b7.tar.gz.

File metadata

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

File hashes

Hashes for secantusdb-0.5.2b7.tar.gz
Algorithm Hash digest
SHA256 43a97c46f342afd1cb51b0226337d2ade05722a96244cb04cd103fb28fdad19e
MD5 0be04f5ad20e4b05d2cbdc77b887b0a1
BLAKE2b-256 58cdfe01e1c4e892cdef05aefe1ed939cab75ef43b8955ad9ba93a6e3493242d

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7.tar.gz:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 091a3697465e83c1a6129ada6f529d0d51d71a2c5c6b7e6a1c06d4bee11a371c
MD5 b4acea17fd3625d9514f0d66b47238d1
BLAKE2b-256 6e32724b4c394c1a3da5da046383027dd576402b4f0494834dbedfecfaddd37e

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 18d369f6ec90cec5b2ac845f16ef66e2f3fdab89bf17b0db03b239cd5ccf2ffd
MD5 158289da5639a35fc3bd81d26915236d
BLAKE2b-256 5bf40d1a20e4460cbe547988d01b0168e0407014f4b1b24390f764bd4bdb6f19

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 93b15876547de39e8d3103163dc901f9f59dfe8351c0d10690d5fbeb9fdd17ff
MD5 548b80e04a5da150ba7c83fea6ff916a
BLAKE2b-256 41e2dcf78b016fa3649c9c17e622d5ca0ce7d9de3b967d50bbf145b2673f5a77

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8c114274b4e58c901e771864196ba795810dad2c25b9279059b18223dfacdc60
MD5 4682bd0cff1707590f0b6149ae6f6e8e
BLAKE2b-256 0dca1bb10462de9ee50d32f4e22984654573c4a71dcec0925fcf5f5114adb116

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2289ce5b49447304c4f9f6bb0ea02f0320f889d68d9005769c0330d8ca1b51a4
MD5 63d8d8bdb3fa70473168188277528bce
BLAKE2b-256 2c57d3b20e3e9d3e6663549b9673e1cb43cf0ce7f4d68b72c91ca8b47b345f67

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b18bd8f17ec1ddedb93fb390b6b3ed0343a1360411f86c2343401405e300befe
MD5 5fa686e46f01603c69b70968c1d1026c
BLAKE2b-256 5f3dd2046271a740ac92d8497c3043ee8993615377a7cdf7274fd48d52f37028

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7f916a4e59fe979d1c1a3d15ab78c0af77262e40910e343d4cd327b85c61c8fd
MD5 069bd201c415b850c961c1223c90b64a
BLAKE2b-256 b7b85deba8af9c17bc8410d3dc201e6a1ec0c34b6ab3247a2e918219a7d29d76

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 edf64f9bd0dcd9cd143fca67b8fa7f5acadaba264e8b5b5f35f2cdeb9cb06f04
MD5 85c3ee00d15cdf6dca2e431a8c6e4a17
BLAKE2b-256 65b4330f716262add788c80c70a7b0ca5f5c2d94305cee8e7d00cdf47aff6e11

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c004b7ceaafb2f242ecb68f0d36ac6b3a968f7051940e5a33809dc6062186bf8
MD5 6f5834aef0a58626bdf4345b718d33eb
BLAKE2b-256 5c04eeaa74ef94282a1ae0f5171d0a21704d157fc03c0d8a8996552b644a6d62

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e13c1a98b83dbf0713235562cf5e2e2149b305f5491dc2df8e957aee9a9be5ab
MD5 692413b33217cf1a9c6f2a52465e6c96
BLAKE2b-256 ed39cf0d5cf5b010a0491c1bfc43787a0fafc5cb5b71f476fdc37bec38750d94

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 06fd121434cfb3a81eec1bfb5e986c54806478727295eb880c3e466d7375b9c6
MD5 b569ff7fddf67c1dfe21e877e5950860
BLAKE2b-256 75331882d7ad472ee5a4bd747eeb73f484af0c5adc8d2492fd7335f6134ef9d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a8b2c3c8683f35da3a56e6f798b85f0cbaaa8e74fc32aa5223303f726b18a990
MD5 5bc997097534db093e5601b76b1b9d60
BLAKE2b-256 cda02414c8a0a955589ec8a6210a826cc37cefbc882370abb9bcd3dbc3eff717

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 677380a84c55a969e34a2db6a8f5fea96955f5a2d659264d20584a444f550bb2
MD5 8caa248634412ddbb7547d3f6d4e703a
BLAKE2b-256 a471a3d8ee92f7be3d196c93c1d552e6bb970cb11471d1092983d257b5bc9794

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 be3fda41529ffeb50abc301c45f06fa1819d3cfb05679cdd5347036918408a29
MD5 dd23916377dabd34180c4c7fdf82ce3e
BLAKE2b-256 7bf34e461d77e37322bcf4c86409cd5163e0935caf2fc56f45237f52789e70eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 00285dc42a398aacf9401811ff9afa53caf9311be47bd4ebba538774c5595b1c
MD5 6822b5b04f565ca73891ee4cacb913fb
BLAKE2b-256 84072e10b48042049a5e3f63ba4e42faab3661933346d384b7749f4dd0893373

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0f532e57c0bc4e2c3877087745dab44e2306944ad548340cbb8c55cf29564ab5
MD5 b27ea9d64dc9dc4dab3276d6a1da12c2
BLAKE2b-256 bb2a40527213c956d0751dda0717fb8b44728efa1adb53ef735f1e6ca513eab1

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f1971df261297bdef010925f765c46754212abee97fd354427bcbb02a76d8007
MD5 f4892d8255b818c2956db2cbdd9c9be3
BLAKE2b-256 79d163332cf3a3908e588e080de6a0ce8408e61c25ed2209d5590cd777952738

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 71ea911149ea03a855c8ec397fe00a4c246b4fa4b2e9c6a681c0347aed2ebe32
MD5 44b997951d9bda1ecd655cf3cd3ea554
BLAKE2b-256 d429dd7e3cf63df0e9c32fa12c63e3fc2b85118fba668d1f66a0794bafa51037

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9c81b65212f53fbbebefade77c500fff998ce355d26650cb99b171dfac528f1d
MD5 c6f269c9ad23491a778664c969498ee3
BLAKE2b-256 30ddcf616c3cb79be248ccc7a30896574fbd7625082c2e4538c17c55d010fa03

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3c9330a479ac17bd7d457e00ac436ee791f2b98ad7b19a624dfb1a00321a25ee
MD5 9776fb227799f367814e9002ad01e1e9
BLAKE2b-256 538c6a07cdb91af485b5fb7d20fb55bd8a342b82ea6f53028c02083f60877479

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e2feb4dd99d03fb5a6cf9120467163bc32a938dd258d35eeb2b1dc5cf548073d
MD5 b5730b58732f699427afc9cdc4a7ca8c
BLAKE2b-256 87a3055e3dd7ad4889efeebec2ffd89b2aeca110a8dd19a5c63ac101347964df

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 08583bbc62876d21cb7b10daa20f16fc5e72a1044d2ba1c009dcaf23b02e057c
MD5 3ed79b7644d22808d013404a7ed9db0c
BLAKE2b-256 edef665ad083416cb0e81611d9addcbde2b67339802e3b8095fc4fca73a14875

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6348779c91fea95614f0323fb0ba2df30c1fc5696b6267cb32a6d6ff68de1e0d
MD5 f4789e1ade58a457ff92943474b4b217
BLAKE2b-256 245826bb07f2ffd96602712dd380b8674617f52c67970bd692df395992df2187

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.5.2b7-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b33579e59d9bb367737baa0c40afd975031d470bb1d40664f5c462a02daec8f5
MD5 a88346a2f5f68e3d57ae8ec33f5c6f6c
BLAKE2b-256 b0922654b57730beef64609382dccab46d8a660469cea110532777d7b0d35ffb

See more details on using hashes here.

Provenance

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