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.0b2.tar.gz (6.0 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.0b2-cp313-cp313-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.13Windows x86-64

secantusdb-0.5.0b2-cp313-cp313-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

secantusdb-0.5.0b2-cp313-cp313-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.5.0b2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

secantusdb-0.5.0b2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

secantusdb-0.5.0b2-cp313-cp313-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

secantusdb-0.5.0b2-cp312-cp312-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.12Windows x86-64

secantusdb-0.5.0b2-cp312-cp312-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

secantusdb-0.5.0b2-cp312-cp312-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.5.0b2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

secantusdb-0.5.0b2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

secantusdb-0.5.0b2-cp312-cp312-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

secantusdb-0.5.0b2-cp311-cp311-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.11Windows x86-64

secantusdb-0.5.0b2-cp311-cp311-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

secantusdb-0.5.0b2-cp311-cp311-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.5.0b2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

secantusdb-0.5.0b2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

secantusdb-0.5.0b2-cp311-cp311-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

secantusdb-0.5.0b2-cp310-cp310-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.10Windows x86-64

secantusdb-0.5.0b2-cp310-cp310-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

secantusdb-0.5.0b2-cp310-cp310-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.5.0b2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

secantusdb-0.5.0b2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

secantusdb-0.5.0b2-cp310-cp310-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file secantusdb-0.5.0b2.tar.gz.

File metadata

  • Download URL: secantusdb-0.5.0b2.tar.gz
  • Upload date:
  • Size: 6.0 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.0b2.tar.gz
Algorithm Hash digest
SHA256 8b02a17030b7fbb8b7e7e0dbbf1c9726ed236f8abef145836555b961a55142fb
MD5 70e73291992aa4c1103480a90a3605ec
BLAKE2b-256 bb814de14db0409f01f4dfa2e7d5574d43c8bdb210c3489f63a1604945363713

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 99949881a9b01c27df52f8addb272cf02a227c4aa01518055731ab9e65a81efd
MD5 28fa559a4b25ef571c0cbf70ccdb2411
BLAKE2b-256 18f0fe79ce9b7dffabb806333b1e6681e38dee4008480305f90a930b6b28190f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7509331e846febe7dfffa25a73341a45d9f895e973758ef9b8abb4748b954bde
MD5 9ebc6b087b1c88db9e152c497987940e
BLAKE2b-256 ae613be287170304ec0df82b233a27918f7e67b12399312b19616bb8760dd052

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8c0bd479b42ef9868a31b27410fc8c1268e44a6e1b0c91f692e3d72865321bed
MD5 371df32bbe50fc206e9e61f393d3001d
BLAKE2b-256 ce8444679619a754233b1425eb716c7b922e1416244c0092e4ad9e8ecc74498d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e34ff90694958a62b9eee4713bba041e8e2f5ce0bf947f9ba6324ca7fcc0c076
MD5 541b011fce25cc59c299f5a3693e317c
BLAKE2b-256 3e502072e6ec9e856636585d445aad862a3057e8b31564351317d0b42e3b01a6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3f6f5f8c989f7fe72d30e1f2858379257f980041c0f36216096be2f1e26ccc34
MD5 536b476ba49025552f25865ca8a21685
BLAKE2b-256 65ca129823f93467ccdd1c633878ef79cf348919175616e86a60df7b0cfb7326

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 38d9a816906257f51fbd257d2da978297fe326afcc141fbe3bb85042abd6888a
MD5 0cef8239c8bebc8c6c3727714da55b02
BLAKE2b-256 b756984d47d8109c0ea4b0e42a216e452de93177f5723074ce57bcb08f756a72

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 94f5ceb3547adde013cca1ccd1afa1225543f4f3c6c120af5c84c051548b95f8
MD5 a651175a84647d278816c1392a92fbb2
BLAKE2b-256 53a0c77edcf78975380a8f6c898567865b0f55705d0c2e780c4e0e893b01cabc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 40ee862a3c547a332c82704551e08645d39d88a704416a55c7b12e0fb2b763b5
MD5 a657ff86dc9f87f93437272eec7de2fa
BLAKE2b-256 ab67a503097bcc12f39ff3935b1786fba6661819af6a3591a408497641826bf0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5553cd3c4521f3f384ddb4939840c090ac765e516a2173ab1a299a0694f55993
MD5 a0ddf0084683bf652ebf27d6b9519cdf
BLAKE2b-256 363dacdad28b5fecf48f27528a12f12a9277bb2ceaa356ad79246fb4d3441ba9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 20be4cae1a46aa7ed0c71a5292c4851a6fc920394449b76a74ea1e433103a034
MD5 33485106c5a51bcf6631c7a57c790001
BLAKE2b-256 f6791a436add0339c6d9576c634363db9c4feefa5851eb76c94f1cce135bccde

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 89aaf8c981258ce4a42ba455ff14db9cab4001cb2200490c36932de7857d8230
MD5 189ed5cb852c0e56fe10cb36f45f298e
BLAKE2b-256 d1532017f1090a5feffb48a572238ebd01b5837dd73df24cdbb6d853662c9752

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 909a148541611a81811d5062f59747b340c26cfb9f0a80cbf3f464adfd4ac5d2
MD5 9f89418b89c7ac8bab98685c8328d688
BLAKE2b-256 1843f1f77de053f8a63a6e44ab3e23555cc161e322103d8035c1f1080e83e95c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5b64f724c153c88f8f5aeb0e6c805209ba0f35397407303e74c09eb88d7f0d26
MD5 0fb76e1c3866e505b7b44003a4bf126f
BLAKE2b-256 ddc1ef6e602665ffab5420a2c4637be295182cf4a8274ddcec8bf27b48710922

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3b87d260e3877835bedf4c3264ef4011414c27d76b7eb95ea7ee6e6dcc6e67fe
MD5 6462c81bc57bb383be8bbbe2bbfb2435
BLAKE2b-256 02fb7f39078595b25b481c6768c911ea48fb2823f8f783efa519b0545d6a9eab

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 80de4b2fdd5fe42bcc926349d972954786df9408bef9ddd7437d06707b267d53
MD5 5300e57b3d05f0608b5bc9065c7649fd
BLAKE2b-256 78203b839f468cb8578942d53052b46bd874276f9936a374ea7738909b9c20f2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d690dfe39e7c75c70fb2fc7db1fdd453577fd2e3785aa99c2d5f51d0db178a6c
MD5 d2a482ea4103cfd2de88e3126541fdfb
BLAKE2b-256 65130e061a5b9c7ef793c038936b5eb41e2de191bebeaa9e49f8bfe97b815f92

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eef2a3eaee3b47a247073cd1f0706c42d30a70bcb2f0c663ea6146c6454f5135
MD5 4d77dcdaec021e1e389ac727bf9a8218
BLAKE2b-256 cfa624c5ef221c8737c22b9754483a1ee6e4b723967dbe60e71847671fd661fc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a0d60fa62498abfd0eb6f315836641a391ebd5eccc1b4c0f262c55e70f6626a5
MD5 75a2c2933c05a4434610979e2b894244
BLAKE2b-256 70b2aeece0822b7dac5a7f34c812260559e57108f3df01ac7d816d7c18672fb4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2094f91ff079e04273421d93f843b21633ba574b1f1dd4b37d7261526de9555a
MD5 71988b7775dccb40e8bc8260535aed59
BLAKE2b-256 e53c4ce45ddfe5df7e6db946659523ca6f701a28865007a7dfe00f1796569ec2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 788f2974b988d6ee3a99a0973246cbef6ef552a40abbbd6cea6482e77c2a7a94
MD5 1cf4cc5025cdefcbab66190bb14c2321
BLAKE2b-256 4397096313841dce6f41d7bf5ea00d101a2c89671d9a8294ef0d89ce8d6ff791

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c66ec549e78275d33dafdacda4625ad4c264b176b2c69b4713c9fd5a976e4003
MD5 0851af84ef6e3855f7aa51837b7a4c5e
BLAKE2b-256 3015f3f170be6988deb692faa3a346e82c54e43ff47f8f10577affac2d3dafb2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8fb70b4efafc3e563706905534326aea20690798098aadda98b2d7489cffe459
MD5 1716e2cb034a0dee2ee62b8fb0fe290a
BLAKE2b-256 678bd6582a48bf8094f6523ab1400bf76194de2a0e42126a27987b25a61f3d87

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5a6bb6ba20441993c29a9b44cf525c1203036918eb9b70e32333680d10d8c1f3
MD5 307b8d3643e283f114858bd961513b02
BLAKE2b-256 e6480e4d0c0a7fbe39328fe490e1fe0962300ee383c554c8a6c3a62f60a6e5e3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.0b2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 100a4f3b61a9be4f1209612340f0405ed1f67bf357f1310ce104e498dafbd6aa
MD5 a2df1a9316a419aa547ff5f830ba8a2a
BLAKE2b-256 b3e66c88cc2e3da5313f3f8c38785f2d79474cd89ea009338acec40df3cdce61

See more details on using hashes here.

Provenance

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