Skip to main content

A drop-in single-node MongoDB server in Python using the WiredTiger storage engine

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a54-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a54-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a54-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a54-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a54-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.0a54-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: secantusdb-0.3.0a54.tar.gz
  • Upload date:
  • Size: 5.6 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.0a54.tar.gz
Algorithm Hash digest
SHA256 6c4bc3ddf0bf18c99b35754dc7105a8c4737373a4ed713053cb015c322ce868b
MD5 003c6f8a25274224a19688d87e13b3cd
BLAKE2b-256 333d9849e5cb583dbfdf9f561a5fd031cbbd6370c9c5c9ec41801229f9ccf3a5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2594a0fcb25d86b9cf5f5206bf92f185470675143faa0f32232570fdba3c15bd
MD5 77ec99fe91f4a065fe7fa3f963784bb3
BLAKE2b-256 10960990259023d85f30cc6f792edffa0b6fc58223cfcbb1b54b360a73f79099

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 eeda1194b470d57e3e6816f99213b388d8f42c85b75809d72d0b704716fc2fdf
MD5 19318016a5da7646502a650ffc3d4c8b
BLAKE2b-256 7392e46253865f92f6ecbcc619cccf67e01f4756ee881567b986097bbc3345f6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4a5a7a381f006155ec9d65e997192949228b4aee41f2ed99d91f323281009f7e
MD5 1a2cd97f209e9a7d624ba06b99702800
BLAKE2b-256 a1116fef844c4062e7732e87bfcd528c043034dce160d3bab69d888f480686bc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d731703f9a4901a0b284ebaa09e382e925d4fc2e37740d88b3c3cfecfa2e7d2f
MD5 b3cd2de9b932cb0dcee62127d5b9eca2
BLAKE2b-256 2024442c6a0ed41e4741d53f54bb6243424d082a3527f0195f93d08a6e557c06

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d14ab971d138efabbf168d3afbb7950df3e3ce1711173e057087b32510593743
MD5 eab140de04fe68fe0794573523c55feb
BLAKE2b-256 949e8103cfdfae8a78fec24540d0e07cf5f8ffafdfd2abcc29d3551bb4fb669c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7f1d4d04085f0de4d3dd33f0fe318bc71ef3d751ab950d3f6d38a7e70da59ff7
MD5 9ee4fba924151ec7c21d2237bb76df5a
BLAKE2b-256 da83262e5276ecc94ce70957415c4b2334b4dcd2fcce4b70f13722765be6cc0d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 427b898629324dff8f4018a52504a132078c260c465793e88a00b007808897fc
MD5 53b2a08ab419806a276e3577de2b1aa4
BLAKE2b-256 e232a8c7b18a8b1b6f1a615f1fe6a718e3c4e8be37511689d3d23541bf80d131

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1b461ac4c0ed7baa1be34c6ef40d4fe02eebc344070ff1309d21667d7c9dd776
MD5 d32689a296e63af29cd9bc7de1f3ad9d
BLAKE2b-256 e66d72a8bf9d2aa4bd0e75da28c8c59606706bd41397a7906d33c00b09b37ac5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6a3e620faf0ce89e63c558dfaefccc29671e9e7710a7037126d1dace7ed92186
MD5 f9d4530aab504c7c8e6d0bf69080f6bb
BLAKE2b-256 99fd816b0cadcb7e59f5b639b0c7c42dae61738f8bc42d700f0ebcf594ec4314

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 12f087aa63aaac87fcbe239db43cd0cef7937decb2938ec5eb34930642f2afb7
MD5 c73d04aa7ae0c64bff2fb67604f41438
BLAKE2b-256 7c4b2b9e6f687ae5fea8e8388f1929343ac7a155786c8705438bf78e95abfbae

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f3fd11492393167f803a540aea55a35977e181218af306a8cea132b9ee06f67f
MD5 fc8740c3149ade118eb9b73ce0aa51dd
BLAKE2b-256 6bdf19d55f9cd6d91d4ed0e0e52340b877d2c26bb4daecfae54c1ea816cc8574

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 21068a1b59b43ff7aba3d9897ebc7bd590f7bb46c700cf2ea7e65cbfac2a0dcc
MD5 7ef828b1910fc931e67c2103f91d3854
BLAKE2b-256 4f3cb21d805031aa7a3981d3a3d56a7cbac24b068168881c7375ae2d1e83c552

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 064c20aa826c03ed4d9fa2ca94ee1f620419c2d4a88192edb96a6e49f51f4526
MD5 251e2fcaabb7f8797d216a516f5745f0
BLAKE2b-256 ea07f3eae6065b43efc7e3ffcc57a0602188ff3c45fef2ba41f1726c08be8409

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b26e1302fb1181f14da766897848d2ae24565975107288f7919cb0f6adc52064
MD5 984e1188491f84cd90894af2b99d0dad
BLAKE2b-256 cb744ba719bb27b655206820d67d116504681a63838dde4c2dc47ee0029d64a7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e32576023db815cd35e2c634d9c2bc268babf130a685193fdc85d1fb427fad2a
MD5 ffbbb3e524d77da753d741c0e2ac5798
BLAKE2b-256 f0c2cfaaf146cb4c5632856c861f113a12c059f6d1e022b4280a18845d35c445

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b01c6c78e164d9c17b6ab4c6b712463bb966ec5ae92be4ab2a5e66001002afe
MD5 8189674d392b67595e6e84f4c8bd4e1c
BLAKE2b-256 6dd46143c86dcfc1ad6af0cf22729aaa1343e8951f926461233607b6e251c678

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 50815ae0508158af271ad091ff6d2b047993497da2ff29c139b46a622b337929
MD5 d802c14e18d1c18e7e39b7948d2eedcd
BLAKE2b-256 0297d345562f42ef0f151a1e9d39647d1f21a27f6fc7e52701d97c6e08ed77c5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c762a878cc219dfb7e0fe65a304d56483604c974ff066aa08ba1b6b156ab9327
MD5 aad18fbebb70a7fd6332e4dacc606c55
BLAKE2b-256 7155bd86434c334aab4132d5b62d75342e8b2d72b2ca82b3d34c9b2c23ba98d9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2bf14ed427bb6d4cc18b5cb3d82ff20eb1eedec13bb198871a82994912799979
MD5 85c8ee60ec19cfda9f37ba2399a8ea91
BLAKE2b-256 5dea3a88db8627b8c5067ea639d061507a8d21abf701b52484aac0ac1a6781fe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2cf0a989e8563d22cb7cb57dc19507499a8103b6884ea93875458beb3ced123c
MD5 829f09475e185615432cb72b0ae11795
BLAKE2b-256 d6d2b3111af8534a67422f9ba12daffb8c951bcbf97fc0be2f36979ccc5cdd0c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 38226b8f973d9f416923c34b3760d48da0dc8889945ee6c7583e076a980a3967
MD5 c2685cc3cdd24211f4992675ec971eb3
BLAKE2b-256 4b4cfe3ac3f000df60b23f5173e9a940abe269db81cb313a65289be42aea8287

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3895a0a44d531e4847fb7d7d3c15e83d58d3407ff60dc2d4fc25134b420e03b3
MD5 929ea30435ec4505dce231dc05c5a709
BLAKE2b-256 6afb82e43584604601b0ed6cacad37a3047d8e2bf244f18c7daaf7663844bed9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a741d74abb694036a66cd7f40bba8ced59b0eccbd92bbf7fdb868115f0316b6
MD5 fca12a7ebb6c3dd7f9c4227e14734704
BLAKE2b-256 031057488eb002e918513282c2c27c468f7d175acd523e10db0fdfa8d9c033ce

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a54-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 86b5889491af901d4317f4da2283ff44e04da72044aeea73c5633a57b334abda
MD5 a2d679cd8dc4f0942a2ec55b3cb96097
BLAKE2b-256 57b63d0149fa0f90ad5204d2944d9de637dec1531dce762216849c46d01a37af

See more details on using hashes here.

Provenance

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