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.0a61.tar.gz (5.7 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.0a61-cp313-cp313-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.13Windows x86-64

secantusdb-0.3.0a61-cp313-cp313-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a61-cp313-cp313-musllinux_1_2_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a61-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a61-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a61-cp313-cp313-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

secantusdb-0.3.0a61-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12Windows x86-64

secantusdb-0.3.0a61-cp312-cp312-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a61-cp312-cp312-musllinux_1_2_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a61-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a61-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a61-cp312-cp312-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

secantusdb-0.3.0a61-cp311-cp311-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11Windows x86-64

secantusdb-0.3.0a61-cp311-cp311-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a61-cp311-cp311-musllinux_1_2_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a61-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a61-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a61-cp311-cp311-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

secantusdb-0.3.0a61-cp310-cp310-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10Windows x86-64

secantusdb-0.3.0a61-cp310-cp310-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a61-cp310-cp310-musllinux_1_2_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a61-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a61-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a61-cp310-cp310-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file secantusdb-0.3.0a61.tar.gz.

File metadata

  • Download URL: secantusdb-0.3.0a61.tar.gz
  • Upload date:
  • Size: 5.7 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.0a61.tar.gz
Algorithm Hash digest
SHA256 ad4132a048446b1639c2009add639cd033aa2342536f7a6a7b3a2abc504757de
MD5 0cce2cea251436edcff44b73af010024
BLAKE2b-256 7baecc41c51cd9725a78dfd67b706f0ba8a51083c7f9a3fbf539bc65722e896e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 df3dc15c08d38086529fccbb6e705d35f104ae4cf4ea04577049ef7e7a3c79a8
MD5 d5a8336b2a15c24c65f8d5a23f16facf
BLAKE2b-256 7cf771603a7a1ca090ea29ff9430560daf6db5d1b972ca33f2bc41e4ccb6b0bf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f77de7fb87667bb3cfad013a3387bc1f693d9cb8b5f70fea3101fc8acdcd695c
MD5 99ba81876382d4a02533e81bb4451f03
BLAKE2b-256 abd4964f728cbe83f24887f9d8ff3ded87828bf226d029605193ba60a379d28c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2bd7a294bba06d24f64413a735fd3768285823c4d9cf37504d8f84476ed75811
MD5 47793e0eac66730f14550f8420b3b866
BLAKE2b-256 b3005183cfa01331d3271dcbe1a27f19c912c52aa59ece47e8652ad6a7ca3204

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d1cf4d1d4792914354321a1be367dff08562bc89b450d3108cce8532ce43ba98
MD5 a7a0cb3e1d9abdb7d32c113ccf271768
BLAKE2b-256 e23bfdf8ae0bab41682a5278ba0ceee6922107d11a0deea6a70d7b65b62f082d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 32215555e2244382ac2d1a9168965ab2976fa8398fbb2d7c890e3eaa7b594940
MD5 59ec7b9aa5496e59ec69f481c99aed43
BLAKE2b-256 c0cffc4d0ee3c507c8ca3a1b38c61564b1b7d2aa8c53789c182365241245f328

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f818946a1a71c038b6cb9ad1d0bf6f7a6c5a44aecb40c7f826e5d6e73689f6cc
MD5 5e5acab930a41ad8dfafb705131182bf
BLAKE2b-256 ee902d6cf842d833bba4dc77a123d01b8cc829054fe2e9e27fcaa91dc137e85e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e46236a291c339de040751620002072071d7132f169d9203af0ac21560c140ef
MD5 13a752e9ffc2ea96d204f7a068aa639a
BLAKE2b-256 a1ce269b2f4c4244b8568f7df1ec8cacc6276eb43671b65b5755658811248f7e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dff671f38f7a67c842fdd9bf1f06894dc6d4bbb8eb6fb419d67fd85eda5cba75
MD5 e8cf90781c664fa4a28a38adcc07231b
BLAKE2b-256 3c270a1acba5cf3925b92eba55f71bf0c4227d63bf1d67b467771db425bf6584

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9fa912436dc4ee492215e65004d2a20df1098403bcdf5169195e692086dfa5bb
MD5 9a51a52f312c8aea47e7c188bc8b5ccf
BLAKE2b-256 d3aa337e59a81299e65b3815e9a1c9d423fefeeeb7e7341903be38b44da13751

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d3712fd99220254012ff474d5268886a98a92244b006a1e9ba92d996ae9d5baa
MD5 f85548e4fbab4cf16978e038164a1afd
BLAKE2b-256 db6abf749e887949e4fad4dfc62014377105c3032a7aa2971eb3c6143c17bd23

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b0c8f36c947fc7225a7d3acf3b0239ba01dde5be6aa32081e4a2f42451ce9316
MD5 8e44997693918fb7c478245b2147ac16
BLAKE2b-256 41a375a65fcf9f6dbf93fc5348af7545e9d6d38c1eb4af53327e2328c721f8d9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ed7a46e6a0a60d0cf085796fcd58f065b2754704a5735fbe9af5aa1ac43859a3
MD5 ae674c0e031bea260432c6d3c5a3d221
BLAKE2b-256 b341032444d2e5afa976fe843bdfe7f2505761756b6a7073aa3af49f49b1fecf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 92ece889b2fc71c9b76863e78d8731dfe3d8f3ed7566bc422818f87110718a4c
MD5 dc583f6c211e3fef2a6f4ace0a7fbe08
BLAKE2b-256 5e21bc3ce8133688728e2503161dd93bf5cc809414b65a49b4bc6a00411e1449

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b5466d0ee60a711484ae7ec7d20cb38bef9f04ebe320b0aa5bd56c49680c8834
MD5 1dfe3bf3b670ae5ab84aec3814ff4a0c
BLAKE2b-256 b392abb6f136c20bd2efaf627fa33265bd2943c954c6179f351ce52fd0a1d628

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b076212bccf6ee54d2d01f15bfb39ffeb78c1bcd65a1d4fb8d723ab7201c6c31
MD5 8130f3a20a1381b944e0d144d0e7198f
BLAKE2b-256 a01a53e6c5c1024b86e6ba1e2c2b6205961fc4c01cb78b70845c5a0b4bd42556

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 468b245319fb9d798407e078986df88895e6c83b96946211690b8ac3c05b510e
MD5 b83f808a803ab0942f8602465532a10e
BLAKE2b-256 a747b8468a0de5bbe6ffca4f1357bcfc11eb7c943155f4c54fe1b2a3945ab94c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 084fdff5d683acbe6e72ded5349cfc837741511e75c62a55bfa463aeda389ea3
MD5 4876a1c2ab0b879f59c4a0a9d432f087
BLAKE2b-256 8d98990691f29c38aab46326a9480adaf4843ad715c3320b57568a52e9754b79

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 07871808dad1e86270e39c0d0a2f91c0c342c54512db0c32fb8dcf8c5055269d
MD5 34893956bb0a7221455ce6409ae3a7ec
BLAKE2b-256 fde61ff2df315dfde5779f141ffe96fcbd9c817746e8d47a51b3e60c372ec363

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7f46378f135716d146e7079de931ec9dc37ba5c14802cc64a8ce5045305713e4
MD5 052f02a0c0b9c7321c83b1f5d4cc5bf0
BLAKE2b-256 4f2d87f7102706836a36aadf2a1f0b3c0ffc98f2507af8994e9da14fc6731088

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6ffcb6223db52f7fbb612900dc225b210090c3db9a7e5763eef2be0a3e4c0409
MD5 790246d85fbb0038f7e2551ade5159ca
BLAKE2b-256 ff2030e3659636889ec120a5275dca0fcd88a0a35c01fd69c45e3a6f19fab10e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5e98f98edef3b4f9f0420a33acd02a837c56ff6555c61e35fbe9a07e9476e12c
MD5 e50a82a2101f3680fefdc8bc9f4262e6
BLAKE2b-256 c0f507be5f47617a726790db4a239144bdcff9f3c3d8834a0d9ccb0e3fadcbe8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 45760cd396d9336967cfe34f3429a29da503da30842cc56b962fe7bf13770e91
MD5 55d5414b13c4bac7d62008cbe92c73d0
BLAKE2b-256 2a17dfc18323a33ce7f63d0421b01639573b1d527967c904cff2d9fe3cfd194c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b9e40a7d4dbfa30cc262b5291986ed94d3ba2abd295156156f9866d11e40b157
MD5 b6add1d04402a6989367a81044a704e1
BLAKE2b-256 1784647377a7b2fa244b0309427a7ebb6e1477ac0fa4ee0c7de87412f612c6a3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a61-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 923169dcd56d94908cdee2b97942fe0bfc8a0bd725eb3b556f9daf162898bdbc
MD5 4544783183c69d5efe961aec90aba7a0
BLAKE2b-256 bbae02a11ebe923b8128806aa991238b5f6b465bfc0824096c8b73d8d4b6f744

See more details on using hashes here.

Provenance

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