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


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

Uploaded CPython 3.13Windows x86-64

secantusdb-0.3.0a40-cp313-cp313-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a40-cp313-cp313-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a40-cp313-cp313-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

secantusdb-0.3.0a40-cp312-cp312-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.12Windows x86-64

secantusdb-0.3.0a40-cp312-cp312-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a40-cp312-cp312-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a40-cp312-cp312-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

secantusdb-0.3.0a40-cp311-cp311-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.11Windows x86-64

secantusdb-0.3.0a40-cp311-cp311-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a40-cp311-cp311-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a40-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

secantusdb-0.3.0a40-cp310-cp310-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.10Windows x86-64

secantusdb-0.3.0a40-cp310-cp310-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a40-cp310-cp310-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a40-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.0a40-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a40.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.0a40.tar.gz
Algorithm Hash digest
SHA256 23adbc723d108a4dd77d8676c94723ca1db1f6d4d67f00e07df2643945155487
MD5 8ebbdf6f2fb4e16997c70f0bfc3a0bf9
BLAKE2b-256 f3519c77adab4aae284fbf4ef6ce0df7ba9a7d4e226a2729feef2aef795b929a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 023103d9bcf44d96d05c9d1775e11c1af9697803505b341561c996d47a8780ae
MD5 6937c81ce0cd4caa717a6e4419c5e49e
BLAKE2b-256 ad6b1832ca3ab29dbaafb7af3dc6bb779806c51ed28963feccab329e25c67936

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 143089e1a4d8da1197d36990e58b4c9651ce8d2afedbd2dbff08a481a1f301dd
MD5 d99796e6b95877ae964cd20348a08c72
BLAKE2b-256 4a92fe82475e606544d5b27d810b0ad36172cb47a98d5d5f24c4c246576dd004

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1b99e1e316cbba1322a9421ceeb8ade35042731c8f8b20c302b64063542a4449
MD5 992f003c8bb205d04013f1eb872a9107
BLAKE2b-256 f9ebfdbfc2d8071cdbe7d51c8c7ee921e2bd69d928baba49e2aa8fa3f14c4d97

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa535ae40325ff4b4e5852eb5359ce1285f392e14b575342af1d59ba55ac643c
MD5 4cb32bad606873dc523ebdf9e73e1685
BLAKE2b-256 fc820e8087087566b8ec3643ca82436bfef8743278ee52937f0c74c01eebb580

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 027704be4d0ecce5161163773b97b3ca0c08c8412f5315d8cd671d7d1a78643f
MD5 b294d7abd15963fc7647ddbde39cd3fa
BLAKE2b-256 540ec9bdae8bb7c76312af0e28445d170089b9633c5733425278510e4c74e057

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 464f2e61d1df7a1157d81cb607a607478c972d8c54cd8ff632edd6e2371fe451
MD5 1c0edf464d335a1c8e462520352c0f42
BLAKE2b-256 12f541675bce58df5bb8e3642a47155f3013c07c42d7eb2f3290b765179b4e39

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e0e607a5b315560839cb64b6ae600cba011cfff48749debc33837cf50def966d
MD5 0a504c22621c23ee5ba8e922f0e2333c
BLAKE2b-256 111985a3ec80a584cf8581ae08c4d4f78a367ae5abba6192120928ebea84cbfd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f93307cd1e8333d901ca7d0c4945b245054da11d5bc235d8b87d3092d770e01b
MD5 de0c774c804ac62c8936245b52fee8fe
BLAKE2b-256 d3cd4ef6cb2a9e23fc2536180d2d0cfb9cd39e2ba66b8053be0a50ca8e65c63b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 563aafeacd43747de06698961d37e620f218a359cbb469dbf6190742680b7dda
MD5 84d5fc50834e254be4662429d942ea84
BLAKE2b-256 f3e79019d517acf4f466e99e6a42f86b91f6dbf7a0ee0d21b2a6566e8ff0df7e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ecb49e42044eced4ee484f2355f8ba876ad455df37ff2c3b1567d2dad9edc203
MD5 9244b312a4c95a4bf2132603ccc2a830
BLAKE2b-256 baecbfe46556d325179a1eb332515c5fed88e1ee9c44010c374ff079156727be

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 422d2716654fd7262fd2fcf31bba8fa9b95446e55370126ecdd92c9388b0e9e4
MD5 91c70da993db0d5c983d155740b9f676
BLAKE2b-256 7e4857a8dbd22ad7b095e3447d835b5555e235c3a3be4e9c209fd672d4277bc7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c885b06eaf2ed0fbb2399b441ce1c7644ff989cd5ecb0f5f86e01aadd4ef1065
MD5 51a7a1148bff060572a02e6528a64e56
BLAKE2b-256 187c4d7637cd0a3817c1c86d7053d7f0a11d490f8a4ed66aafe81f2a8f91d9e2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4b9d0c25c7c44b3e5b754612f2f62492d8054e21c73de087553574b410ee8869
MD5 43714a797403b501723bbfebd5d57342
BLAKE2b-256 19723e270a8050cdea0afb13e135993f026f07faf80169eb3d29b1958246b2b7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 033db3cfa1708467f2ee054461737b46cf0faba45ed3d815f660a6122d51c422
MD5 8fd52fad6625d3a7f7a41f8613897151
BLAKE2b-256 8d03ba75aa533d18f38683591090785d12da5cd29754679e7a2d3d66e8abb422

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 46a55538d23dd32b9453b540b331497314aace76df0c1c910553ce8d866d6abb
MD5 313bf6c5776e968e306fc6fd5ecc76b6
BLAKE2b-256 caacbc8ab45cfb0dc84dc523c8823cf3c2ba1de697eab288ce043cd176825313

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1d91644b7cab45b7ee72235c452989ae828b406357c62e1b1b33594fd86bf0e5
MD5 834f922db4ccaf6507518116296d9066
BLAKE2b-256 84d6c08f07425d82ff56414c76c8f01b0ccf65ebfc810b70262ad6976e1f64e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 60957390153926cd2aa9c58b23c474d2853e64e2615360b0008dccb123f60531
MD5 77f58188a3fcf475a0a9180ee564adcf
BLAKE2b-256 a607cd2d59ffc3ae22ffe82bb4df3bbc6756960fe3d23c77bf7d7bd96e6ee04a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cd9afb40b37c516e7b1e1b41763351781c3e3c80f25f6caacc4a52995893c59f
MD5 261b3e92302df548dc4fb750b9048f27
BLAKE2b-256 fb2626616b7cce884e68825bd3080c1c0e407164c1fd5f6115aeea90b1fd5b39

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 da1b33498ca081f9cd4055bf940eca771977b14998c06ceee6dd3b8d1669fdbd
MD5 90a90b28898ad4f9574e0720ab1226f9
BLAKE2b-256 67cb72920e608fab65b10a019ca9fcb5bb5ca2cc8e9b2b96987fb574100ee8c0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3ac01451fdc7ffe4cc2d3de985ae1bf1481684cbdfbc75c64876e715bfd77dff
MD5 6cb94b8c8c09216afd7ca77e4a3f99f3
BLAKE2b-256 32ad152e7aad7dc132323f790a966dc329cd0d407eb0f9b9df1fdf8641f3d027

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 791af28b279b7c5984239467308e769782ad49a04b74282070cf7ee45de83f8a
MD5 03e4263e1aab23b9e447fb6d6c86e073
BLAKE2b-256 402c0b3d359acb424e1d81ff182b71424db34aed1af985f3bc1d7d5e2acbd664

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2a573a771554361b7565d199c1b0a794745705c7c10d2ae74d47dee16639fc97
MD5 00c3ca97998d722a158543b8e47ea6dc
BLAKE2b-256 c1689aec3cbafa0f39f9f0401c4b573cd59b235f50a9a3f02ca623110cc18508

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e1cdfe41ebb4193c7b6d140aab0005453dc7c410aaed3dd9806244f3c0992621
MD5 7e245f74cce629bb5b1d82ed67b1be54
BLAKE2b-256 41be4d987a3c32562f0fadee7e6a6c85a8207558d942e0f2f7022be212b1bc0a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a40-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 840469946664dc8769f84b92aeef480176054bd31fe80340008925dd0021eb1b
MD5 d5813737c815a32192e59562bb49e840
BLAKE2b-256 2dde9fc97e4fc14fbf7b91ae2da0c066d3bff85895677927b306d616523a0de1

See more details on using hashes here.

Provenance

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