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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a55.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.0a55.tar.gz
Algorithm Hash digest
SHA256 8e3f323922bbc38d7d77a208507610adf62569e47e0d4fe400ed0d620a8da9e9
MD5 c59ca866ea5f7e6536d170b26095aa3b
BLAKE2b-256 c52b2a0099f98f6f1888cf8e7059a5529801bf3226a7faba1c26ec2fcf89a390

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 43e4fff26d5887c1301b2875da529977ac13abf9afa0b71c46ba0be57caac5af
MD5 7f83b4c5dd1712f40659e0328b247f99
BLAKE2b-256 f7a981a6ecb784548829eac32278614b8b587761e4d55dc6cde7525fa3e16c8c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a9ee83fbd6ca9da055873398156844c0fb749ff7dc74be6f8378ed3f41c51abe
MD5 313d468b9ad9f83f9b21cb2658eb3f42
BLAKE2b-256 fa2f0796260cd4dcaaeb49a9bdd7363b49b3cb7903e0afc8953a8eaaf17a2483

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 09563ec953aa4bd9f74ca86a0446f432ecfc82abdc3364ae106bc0a54bab62da
MD5 95e13e393e4c1c0c014e596e124ae645
BLAKE2b-256 501708133b26529397a57b6a98f144ab4b3aff81d534c4591086745f5eec8fe9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 93d6fd68c33248e18d1a8f8d663d5a1ac2c61f7ed51fca340dd61e50d9dfcff5
MD5 ecc7b916f47384d3f18d6a0dbd579c82
BLAKE2b-256 3c6c134d5e9eb4f2d77511868da747d9a6802567c9ceb22386195bdc7e945187

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1204a4d55976503df3c63fca1fdb7599782e942006e9921897beab1b66ecba0c
MD5 afea78a78f29e235e9e46e30d079fb8c
BLAKE2b-256 369c463a63006425ac1efc3dfca3c90c49d1a3431435fd3c3c4d50855d1a45ec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4bc62d11405e4c544b55317003ff2dc394b735ac43c5df6b5afda4edf059d65e
MD5 0fc813b7d28d94d05ce399735ea8d0cc
BLAKE2b-256 e2d95a0858b6e98bf421c36e49bb25ae9c6762b81b04593fef595e6501e73247

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4e2468c93ad0706ae079bf9481b152c33f72c7e9e5d162ecf69d2bc44e73423b
MD5 868f05b1e7b6d5b70be2094bb561a4a6
BLAKE2b-256 1de17e2c1bc40365bac8dda09831fa000958670c72ec03e2086d6813e750f8d0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 74cd5387e59f380be1797cbb473535317bcf188386eb7cef89b6ad88d74a7f3d
MD5 e4c3b5c86a731072fa8f974e135c8f31
BLAKE2b-256 74db26b480dac9f3819e43ed3767952609210cb9ae939cbb4a70a4eafb9971f9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4f013f929187332a78ef3ff7caecf623b84a683f86a2a1c249582d2d1f2f6f25
MD5 09b2cf2486f93711a63fc396e5ce530d
BLAKE2b-256 d9fc7d611289f6e96d1ea5850df6b8abe5a0826cadc946c6440c1f9e3b8e47a7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aab08f59a568a862e3bf047a6ba2c97cbc2e898ac6e519b57b9f3fba1161d604
MD5 18d728e0e4dcd0c230e08758dbe50693
BLAKE2b-256 97a5ef8b1c58995c0c149bd37084e9392183522c19c29b43271589ea5c4b05a6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ad2a5fa61f1b9a3206cbb13365b6c827df47b558de3d62dfeef6e9212578e33e
MD5 a5f98d155d0abeca283caba8e371bf71
BLAKE2b-256 1a2fb3a6021c0ca322ddce06b2f92cb2d31da6b89487619ea089c62293d26c37

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e579092e9ac7c4858176c6527dfee6df9838ffa1c4e1ccd2a688925aceeee4a3
MD5 ed41e99f7c39db8916ab5d052bd81f3e
BLAKE2b-256 1063666e048edaa85471b4d067eae65ce313edc5f9e8a7aa6e4608d21481dec2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4e8b572f91472ec234c60c5ef3a53239102ae4f574a9fc52523f1cfd393a697c
MD5 6cd11799226ebdf161224c3681d38f9c
BLAKE2b-256 784bad8191b28d6a389cec878d419bd1a3261546825ea46a2e5404cd98bcf80e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f88f13c4d5e39e4aa7a2f934c7c2b21bc8cc6ad0bf6ed0b6b69553d1160d7451
MD5 219698c3729601e346f5864a4f6493d6
BLAKE2b-256 543eca5c529a3f900fbe6e332725d1c677570e23cd14bc054b5628ded2337553

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 54d206029cdaeee866d8917a6676c2a80252d37074d71b2e20081e43513e114f
MD5 f8f67eb2d93a422de1c102766defd7ff
BLAKE2b-256 2de83fce7e1b626dcd22126cb980b6a33766f6944832f013a3c922e6f962defc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1c8d17c9263b832b6aa53d9eef00adafca5c669a8e0947be0960aec80bbd1320
MD5 eadc5df1d0ef763aebe20abf3b6baeb7
BLAKE2b-256 269bb68a6cd3acb731e792cb6e50eddb8264f903353f4af99f7759d31bad6b12

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 04280d8c0fcc635603cc1fe6ab728a70eb6d0ebf7e150c268df0b7f46a0ccc29
MD5 b87b07523922ad6b84dd1d9119488beb
BLAKE2b-256 da02d1cfc048ac5583d96d97e864cd4ee899712c215eed94514fa4f70234eaff

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4bb8739ec73cf49aed977eb4628f0237578aef7a053b67f88ea540cd25ba87b2
MD5 5b378620e5771c1b857eb681bbff5dd1
BLAKE2b-256 d036d09db958f979fcda1f3bdc2790a491e08a1c1f2abd04f9a8e4949349577b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c014622643a3400eefc9479a7874d19e5c3f4bbd02b3e8020d82764a39404fe9
MD5 a1b882fd165e06252a33a7f45db0b181
BLAKE2b-256 6328dace59b0e9840e454de4c040fb1e440c11d841c9dea7540ef3d3bd567ef8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f5c7cbd26c771ab68b730046009e6f399edc9c630dc63ab59fafdcd5854e85d7
MD5 f371727575f244ebc84e3c9c8a629c30
BLAKE2b-256 a4ff4d82b0ba3986f86e8ea7734f3b75df8eda4d74950973db73d9814cb33d6d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2907d296049eb1d2596a8a89d89cd78d5feeef2e4153295bccc063535dbcbfa7
MD5 91f78e44e7ba84837cf625225bda8076
BLAKE2b-256 ea32e949615dd843745dd884db4812cbbcb44f1cbae55848d8b807f7811f2351

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a9bf7cd354349e0d7ac6a03dde9aab4553638bc1ddb4eaf249ea732d5a01461
MD5 b6ac8c05f02af5c4107b63ae23c90516
BLAKE2b-256 9e01f2a68a54b40b1fc096a57934565aed5b040de2a37741b0ccd0e5886c884e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5a24cd19eaa755e8c5889f414e69d0ae96f08626352698b1763051c8dc7bc1f2
MD5 6f1fe65b0dd1ff4027fb34490dbe37cc
BLAKE2b-256 24ab004f9c63dd95d5ee68d8482c23e33e49128cafb6028eacf2df76f1eb9206

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a55-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b0d4e5b764cce6e987fe285f373456b10b8ce8d08f348289319dc05e0a1beb85
MD5 a59d466f467d52eff911e1683f7af1ff
BLAKE2b-256 5a59c6f711e9b93a9b4c4e215f239e86fa97e98fe4a161f2cc2b9fa8937c14ec

See more details on using hashes here.

Provenance

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