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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a59.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.0a59.tar.gz
Algorithm Hash digest
SHA256 b88843492b0d96cef3a2a306c151720d8e1d711374cfbfa44a5de98c0e658e41
MD5 9b2ce40e0abfeb25ecdf12f4c72659ae
BLAKE2b-256 75289a314993ac641f1a6c69ec9ecd6f9653e5dd4b2099ae2e988a9acf5fc1d0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4230b7bc9333e4439c61511c392e4fa9123721d0f0faa0aa8c4b7b49a6d76064
MD5 5bf3490e77a833f492e9bc02d825ee33
BLAKE2b-256 353e5e699fa5d7c6205b4e3c7b9fa150a641300701cdee2975e13a651d6c7a24

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ea59e384a4bc8b7da519fa5e63dbcbc00324bb8ac82f19542db3da0ffad7fe47
MD5 7344647fce0186907692c283f9ff123b
BLAKE2b-256 140e0cd30a72461cda31722daea6df90ac68cc93bd9d2d4bb3cafb38f1a79df4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9d32d050cc2adce4610788c0f70709e4b76f81a717e610ef15772fbfee5fb974
MD5 55105d5bfc639efd2a1d4977cf875892
BLAKE2b-256 3f766d124d2650e4cd4a581845cac99d9e16c290fc9411afe4f13b33dde8632a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 58c7acb50244bafef08c25a24f8b7b3581c11d95affde4e1a86b4132d86fdb76
MD5 1fb198beece149198c762c761ab68e5e
BLAKE2b-256 675d4a4b803a69c735e629ce4b7c7ce1d4dd2642f643b8e30510c22945f46a37

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 03492a43b880e317ff1982303857c38c7c35af05eba8b8f139aaf4ca38460aec
MD5 6dc9ec808293db716ca6ad3f43b63c63
BLAKE2b-256 d4773b2953757673b0d0c6d364c173a2465df1e68ae3ecd48f310b61865e0f2b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4b5bca04f24e1140f29940a151c1b0aea9fcf99f9ea119b762526514e32d48ca
MD5 8a8dce0e6c0bd8449db2017411481043
BLAKE2b-256 61aac46bb10d08d6e346e360934d54768b778921c6520d9a6d44b74cba02e911

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3b1dc47e987087a32b16e0b6da796eb83a8e7cdc9fa8f6fec07eb7aced29293f
MD5 9c84db19e3bdad202e396eccef70c1e2
BLAKE2b-256 86a67184e9d28485b88a48d2b229b7ea4e3194cf46a8d83322d03cade4c53858

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 082aa86f7d96d7399449fd7f63dd9f2e6ddf2d8ce1c999d7b4e489b4d9a02894
MD5 84687d9e4c4ebef17f34ddd0939613ac
BLAKE2b-256 b9582c15ec799dc49fefe656eea029dd45166930158346f2b779a0ac3ec0c26c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a20902ec582a2c3bcd8a90971ff9e2ac0e3be131bf3a06709b69f574ff301f98
MD5 06f79ba073e87e5d28f1d56aa8337f9d
BLAKE2b-256 bcc7234d6d2e83d19607670e27deaa95946183896f0f08280eed2a92ef04301b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bac24748b644cc8b70e9c19319cc005ac7acd1282f692fe15dd944404a15a746
MD5 3c1ff7440d5553b8aef7154da61bbfb1
BLAKE2b-256 d905e672d4a44b24925c9c216bc150228fe02ec8ad5a42f11771e9c861fda2fe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3117c6be80169472d3bdbf668ac6813fe0ad9747750d1d4314570ebb0824d38e
MD5 53502a74ec1946267b3a4489a0affdda
BLAKE2b-256 783b64c3aa17a53bddd70cef4eb636e0485142040a39064b36412660367001ab

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 217d16763fcda620c5717b4e37270de5b665642299d30abad3f0fc4dc5376762
MD5 754c1a0257e0b292d3220fd9021d4140
BLAKE2b-256 30619fee510994323a5420ea3f09c9376443d439ff3772840bee0226f381f483

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 aeb0047b33f3e00cc22cb8681e312640df986368fcd6d39c611b0d80d5b5d9fa
MD5 a8762c3015919eda3a22330e19e3c26b
BLAKE2b-256 5b5a8755026f3c977811c11fad7a06d0560f6081da572a83b407c5ed4cf05efa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2c810e8b3b09993debc74eba3943b842a24867e57d2cfddca7d228070f142043
MD5 852a55e9c15a6836ba379234c0e2b9c8
BLAKE2b-256 338f79773cbede938b567180dbc14169e053966e43885e418d2b1ec77567b78f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a95d3306519f389f176925324f3de030ee86cc2e8e90cbfc9a75a4e128899883
MD5 dd495c5d722ccfe40f5bf6eb18904d20
BLAKE2b-256 98c7c30851475d7343bbacc47b15ef358d3394978ffe0089bade2d1c7db7144b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 25caf92f51c68218f8029401b6ac7817c55144952775da70d43731c385f3ae58
MD5 986bc2360c5f17c09e76371b2f5ca558
BLAKE2b-256 b403e740347c4ef3a45e1493c6f30a1ec6e369cbe1357bcee76236b51109378a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d8fc47d004ec5c0c0269579bcea25434fc24edea4dbd63a384906f5de53840af
MD5 e69dc4c410487bd0ecb331f8f60032e1
BLAKE2b-256 065332c3d2c17b61f903430e1dc6e5ebd2b4b6583d6357da863116ed79220565

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8418276959a5c8e0dff1ae0f39e9a0e01155bc3a3c165359b09f49ac23b76ed4
MD5 2e0ed20418491f5c1bc4db8a351c70bc
BLAKE2b-256 8269f51369ee8a6559954280bfa0045f5dad34bb95b9b1b3e096ed52da05cc51

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 956b5966e4250806dd33c117ee2d368e19f493ccf8afbafd49fb9bd36f15c2f4
MD5 454afbbc8056ebd47a33d3427aab2313
BLAKE2b-256 ac947fdfaffde7f154ac5e01dfcb50f3a9a56855db05bea1c205895e2ed5c816

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3b56157170ce20d0af607c44e9c21a65df546ad1df317b0832f10b242c38409e
MD5 c144e3b8d3798350616a61e40fe06a61
BLAKE2b-256 645dd25310d1091e185ec5bb4e9289d805b0735784c6ae29849ffa787b333412

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 210f88358c056e56a17f9d02934999fd18f2f2c91212eddb6e6bd08d79b9b0b5
MD5 bd08f4a3f1a67a5c8c9cc12a40552b2d
BLAKE2b-256 012d25a5730ce04b12608718e26419082e8cb5d59d1ec738146d75545e6e392f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ea9ae568c36c92cf11b733fc05a59a958cead92a6c64c8b81bd2a41bf51903fe
MD5 b569b2c8968d3040f3f61563980e8972
BLAKE2b-256 5df86988234cfa66fa361c01b9eca7b6d9d4555b862691be7ba7238264aa227c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d87da4c9c8bfbe8bd0776378e51c0d55e5ad971c1dfba254cc4be50daf11eb58
MD5 b08906cbe12587baecc9be498c2155de
BLAKE2b-256 6890b6464463e80e54ecd569f9cad87afebb5464831aad2b3cfe8fb7a01702a0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a59-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 11fbff791ce5e7148a9c62da600d02eb0fc24a5f6b00dabaab035c2f6bab0beb
MD5 8bc227042e0d3de607ac86eab2ae37be
BLAKE2b-256 396b5b6bb7d949ff1a3b3100ac35c235b3916acf5638835b73adb3e4b427c79b

See more details on using hashes here.

Provenance

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