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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a70.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.0a70.tar.gz
Algorithm Hash digest
SHA256 de342bdd7c33e85424b36df5dd20fc3572935c0c26e7c5bcc2457c084a89a273
MD5 f92e9ad38822b90b6bbb51c54c9151f4
BLAKE2b-256 b618f96e3efd1308a4c6f13c29e1b22d4595b1771902111b80a0377030967b82

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d575c0bb9facbf7d8c4b032165b814f87447909073f06318ad64ea1e1ff882ef
MD5 e0cc5327ce7b0243f41a9d2f70b37d58
BLAKE2b-256 54d0c618075b535f25e86451d3d6e814810e73eebf04542925f31ad018409fc4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e343e5790da44b504c882685cafd74d8f658f99f5c2a46ee1fcc7d9f2a4d587c
MD5 03e79e072de4091cb0a13791a2151aa8
BLAKE2b-256 fcb5651472088328e860bbd02ccbf245869557a94ff9a91630bbe9855ad773a1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a8d45b9ecaf10827502e9ce36f2a1f600dae4c2d6b45736b882984f5f95c9c01
MD5 84a7a4ec5e7cd33a3c74bc3ab8019009
BLAKE2b-256 e3c1819317058a6118b28916548fab8301ffd663c8a10a509feba04b2352d5b0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 38fafccd3b114540b89ba48f82629a6d412e38531dc342a0576aa46cdc605cba
MD5 570589cf0f5faab4c62c0db44203607c
BLAKE2b-256 4789bfa164f9980b51e9d6cb5288a8aecf67af1e83c1dde1af84c09b59d24716

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fdd69ccfc418ae2f2b6770b02b06c2c0615b5e61bed914d06b60001bf5bb6abd
MD5 768c13fa560a0934a9b752d50598aa65
BLAKE2b-256 0260fcd5f74b4a6dbe7e0572342799d284b11f6206f06ee3ee0247f1db1d7d72

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0654017dec4435b238b9cf13ae0f98ff559d33d57f09c54c200275234e3353cf
MD5 4ced4c62fe5ea6e44cb98d284711f502
BLAKE2b-256 78a4480af269c29bd734676e5a453df52e5f50d3b56633283000cda8f82fbdeb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 252d0249012b3d2bc3925c6bddbe95573e3caa9e2984b18f12234bf73f643f04
MD5 c17fa36359b9f7da2d9390ab05a6c32f
BLAKE2b-256 d1d9236f08391119cb6b4de27eb327ac5414c9f10bd11b8bb366fd66f1046d8d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c06a6bf3c58df07f6d75c00f0fd849b02b069bfc407c9f58ddb39c0b1e6ff8a9
MD5 43be8832caeacc105685121883e8a985
BLAKE2b-256 6e1a97d5e04be4cb9cd4a726218c6c99351348bbc863fb911ff8956cf1ac1cc1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9e9180bffcb8ca26e95893274627fb643dbf1f9dadfe372f205a373673b32e73
MD5 617d2405603eb4f1fa1c58b41a917796
BLAKE2b-256 b16ce0f4b6997018b4a2ce9a0043b578db6b31461ab31262d3a2445c7d4fa097

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0bcbd67952f766d9d2630f75bfcc499aa155c553a518716cd9e8d2d06e156637
MD5 59056de71298d9dcd117540f3f83e3cd
BLAKE2b-256 54d63c333595c852c4cf5bc85bb9e68f7b19e999a8096263f8b140d1201d0df9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a815114b20364eac79e1ca8417f82b25eeadf4474fdb79983f01369604cce392
MD5 820a6984ce317babfff2b1c77e6327c8
BLAKE2b-256 a5f54c800e81ffbda5b1f48c1d2978bb0d7753b717537f92c92ee4ba1ac4e4d3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c708029cd5c5ee4b62d67c9afaab2bde650bbcc02be05e4aab9d2a314eafe923
MD5 79e796b9137b7a15efd509b428a30ec7
BLAKE2b-256 a91b22360f454a2fb366596a8094c7dfb50447d6312567d472048ec0e1b060cd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 90b03d8cbb6aab98d1e3c093133f6244dadcf164d6f35ac56c8a4ee671acbe87
MD5 506ff355f18d49509fc0047139c4f084
BLAKE2b-256 5921f9053083851981a0af0c76eeb957c842f251086e6d7bc5cbd15b5f1b392d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 25e9e965648ddfb51aa6c62e4fd82c28dc9547ebd0a6a3666c9c12375804ae47
MD5 18af7652537649674ac60f4a3bf16973
BLAKE2b-256 21f06ccb57c804b146aa118803957a6ff90f1e7124f0f397487a64cdfce27a2c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b89b2ccf9f216192fbf9fe3d1b7f7ecd9b0837f8c479213591a5d2fc0112e544
MD5 97c9c8f847c6b42f29b2675906d008d9
BLAKE2b-256 d7d7705200a0f4e0da4d2aef866d2c61bd6ed1a37e2e3d0de07aede124e62f02

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2b540adde62e91c1590279fdd39cf1e929db7fed2ff50a66cde19bbf51d2e4bb
MD5 408d4fd0891d0f01a86ae53bf53835b8
BLAKE2b-256 5fc0450d69ef65aef3a81e1f739562b361ffe0537f2d3ef5c10e457af0cf7424

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7e891008607a5a74901d7f4e8de9a794b01482969b34fb43b225427262e25e75
MD5 38c863983cae7e0649a3e182af352af9
BLAKE2b-256 f8741a7f65109e67ee9df5d338023cee21f31774fd29f9b4cd196ced01f5003d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 488c166d3af5c358b4f567de5417318adbe37023f771d7b4894a189b2d1aa55a
MD5 8b75d9daf037e22a8c4a82fb3672e29a
BLAKE2b-256 9942084a00083c8f1306c00f527fd46dd399c02d945e9f458ef75c26539d6392

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4d705f221344b2fb22cde534eecb3e0b295ccbd36c84c130e65bb17d5c5f6f37
MD5 636d2e3e739ecffd11bb118d277cb661
BLAKE2b-256 70746b141cb0e115768ab24305d7d02ec8dde65a83312a4b3df8a086fa70a143

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8d4f5e6bc4de126e2d06f4298cc877d78221595d7c1ef9b84c0e38d7a712ff74
MD5 4dc5eae9eee7f8bb67cd6d1af94f73b6
BLAKE2b-256 fc3f97ec155bc304cbe132b05dcb8c304bf5048fe00b69e7fb77ce8e87a522a2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f5e203f7702d2290e353c17ac30a807518d8b055cdfb8876a138f20b25d77ca6
MD5 a859184921ae9673a829b4f986c70476
BLAKE2b-256 8b3ae2402deec8d4c037ac843e2684a1c1b8e31ed2386f5e0c6600ec6f0ace01

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8f5ef9c1fdd61a3598577f77710d2a0d1f56fa605ed92bf23887c421e2efdfa5
MD5 567f0abdefd5eb54244001118fc3e63a
BLAKE2b-256 ab9599145f8868b4561d47c2076a1e616a60c162c641f36bb640f3edcd5fa696

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 01efc9ec9185b136332b97a64dd04d6601f450ff4ca0b9dce0d066c5ca51eb83
MD5 1e3cf972e98896e9c56f2ee8e372a9d4
BLAKE2b-256 166cedf9efadbefeda083645db15951441670637c4b3aa1d797017d638ea0ddd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a70-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7bc47112d84562675a85cf9b992f05d224d56403c0213e359be38ffa83afde8e
MD5 5910cb1701a36585d1974018b693309a
BLAKE2b-256 e9e63b033f20a9416432a4640125f4a42aac2080d6e1efc0290384a9697c8ee8

See more details on using hashes here.

Provenance

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