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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a35.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.0a35.tar.gz
Algorithm Hash digest
SHA256 c02a4debc42af0e27bb995e55e0cef9a2d12f3986784765a933b3bb71d8b5ae9
MD5 59f290b0707953f764ba2dc2c299e72c
BLAKE2b-256 3c20507b4c907788d56f1b39db8c0f0436bd99e86d59465f68d3dfde2ea03668

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8e5ec1de52a02c555b44048b6a044d43bdfc5ea8d33f5108e35460df67f88cf6
MD5 bef58061251179977e631a2eb312d9fa
BLAKE2b-256 a58ff43485f87e1cd97df5368b1eb89498fa09bd9ebc5a2c6ab951ea0d552c6b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9bed4dc30ca0d4467ff1f7ab0042b0726edd0609b102a733ac93784bdc7232d7
MD5 feaa5781efc2681cdf13161dbd823d10
BLAKE2b-256 35f58afd46f478f1ad85afc7339811d7639206235a766a11815caa8f9bad4e6d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cd630580b32be22fcbbd6f82f644e2cda9c980fa8fec6b74c85570144c36cdb1
MD5 0592f5186cf3b1394d095ad771c15b81
BLAKE2b-256 65c07c34e96aef25e6401d8dae9c7fb2471c070dff3da071b96d58c48089e6c0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 feee9ec3e30817d7a35e0fc3bd54f127562625fa37f89ad1df4cb915bf63fa9e
MD5 160d39fe7c3646310339c21062f455a5
BLAKE2b-256 af2bd7def1e1d46ca526a99e638666e63fa396be03fe20df8ba52b3b55c20d1f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 305af4bfcc5816e677d87c8f7ecb9b0c8dcef55fa45d304753415b94f1e15acb
MD5 41e031df2a14dac9125b5ee4f82b9426
BLAKE2b-256 1da94b3901c40010a66650331f409ed8cf587fb42b8def9762179aea172dcdb4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 78ff1aab5fa50df054a5b9ebdf0010cf1cde92090f1e0bcba5e8de8754c2d018
MD5 c14691d3d37bbbea225ce6576e07c829
BLAKE2b-256 c6ffd434cb0171008ad3d719fbf65309b43b23b3f8c7f1b613208fcfba8e1ae3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fefe6ae97d0f9ced73fc18d6c03c41464b84dd8fbd89e4558c72101cdacf8c31
MD5 48a8dc0457b1024507b4f9778c42cea1
BLAKE2b-256 bc72e3b4b546c5833561fb1ba6a67b2b679c2aa92a8551df1c3f8065c8a46d85

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c6a1a915f9826b8680344641e36b0b945dfd28f64d81f76d90c719e83cedc177
MD5 1b27c3e02f9d5172f5d22fe034ef3bd8
BLAKE2b-256 e4bf941ec68e29741adcfaeca108d0ecfdcfa5bd487856798a21068d7a534dca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ac5e86a1428704367bdd97b1b3dfb1277ccabaf91861357fd174121b7bd24c3a
MD5 576ffde026b4d266beec74637a715bda
BLAKE2b-256 17b884c028a63b45b059b6d039f00cb55cb9acb015968713e95247f85a6ac918

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b950581ede2fb28975d6aec613d4b08d0f84b72345f095091af10c52f7efbd71
MD5 8f704573b74a0e79796c6b09135c9053
BLAKE2b-256 e9a63dfc37dd4dbfdebbdee6edd4ca3c907a7c5c23fceb3ded186f6a8011379c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e70a00c5f6c872e90a2f033ae8af22c6f0249298f7261195fa3b87af7a7524a3
MD5 4dd654097b9daa21cb1a993455db73f8
BLAKE2b-256 68771ec3807a2f75a132d266fffdf79ada2b7569b025627b7c985b02459a1bd3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 096b121a97b7254856c6f55adc8f43a8ecd1f3edf0bb1fd1a336b45c7d22d423
MD5 d99478440e54f0d8ae1bf7ce545376b9
BLAKE2b-256 1eefa727545e1594bb227253ef8832952931d53dfced39f4ddd33ac02c6e5818

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7ddb1a520f7af233d59587d44dc638da40642064aa60bb4a9e68f3302d0077b8
MD5 6a4044731abcf3e28f9513b243964450
BLAKE2b-256 12a882dff84d761918dd1872b243c103406253f16276fecc9908280fbba59867

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4f7b762d0999293fa9d6ab58f39abae9b32273f96135415ba7f542ed6814c487
MD5 16a5c4e25208ba91a1ed87bacef0d4b2
BLAKE2b-256 6bbd0c4599f68ad37b8301c6e6420bb5c6d0014b00e532bd6f3ffa823e1b6be8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 35621d096dac2c856aff2ac035765fa82c8911de01d1dbe650b119128eb56d33
MD5 829b8cc355bda7234fd9a7588bb3e2d4
BLAKE2b-256 61d020350670508fa56c381a486298a76f2777e30efd4d0b98d8f534ee70ebf2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dcbb2cb7fa56cdd4f9b715353294c69ee2a1e6e460e819a10651174f32f19c78
MD5 9e7517695d6ba9f19ea2c5f0624cf6c1
BLAKE2b-256 0e56ae6deee76654b6c682d98a0d07bce47988838496cad5a52e0cb96a0628e7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2048ab0fe08af5954ae075ad5c3168ba511eb3321eb66fe3de2640bcf8917cd2
MD5 9c1d1f4a84011d614d01a2202871f1c5
BLAKE2b-256 01dfff15535e4a61bddf987af3f1fb7717bd12c54ca4a361a6971a520696d83b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0fb6d5c6e6d68a137b0caee96979644f1f20748ae3864ba1bd77065cb519f5a2
MD5 3531b3dff22b1b477a9fbbb074b61ab7
BLAKE2b-256 3f553ae7260508cb0c38cc227eac45da1dbf7912f2c9ec7d069db7ef84715059

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 01280fd532c4216865a72ece500faff8a93e30ebd92233ee44be0d6a17e37309
MD5 976ea01a8e73249843e8c9eb68282bdb
BLAKE2b-256 aaf6187011b2b5b2c0dc0ad2b673c654c3af4973339cce7bd32556d0f8718648

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9939b4c7cb82b69c4d712c4fe61c0d6af0587c657795e1fb1850b155d6c19750
MD5 c2b996ab439aee4acc3f14b99939ae93
BLAKE2b-256 25080f6d20a75a8e25d3770b9a8ad8a44b3c297f33df6651367c9ab70fa5ba40

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b8af58c52d98c23159a6baf0cf0c0a897d18515f7b4e652bd69265ce47285e0f
MD5 d0b5e05cdca64c052dabadedb6688c61
BLAKE2b-256 a9be39f63f58c7d05502fc84051ff9d6d17d267706bf028f4fb5af370197449e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 acaf6090e5207aa33cc99439fd7c2332f3cb3413fce2052cb8105b444879917b
MD5 33d1fe22e83d40452d9be0c8265a0676
BLAKE2b-256 f8fc7e15e5847e3b9f7bf41d6472f83a5e46e09ce6bff6ad545825841c44799b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8a83193938921919b0cd0a56c6864b355c5cc7ec9bc480f9a75c54149fbce3f6
MD5 bb522d471dbd8a88d334e0a91fd98095
BLAKE2b-256 99efbd9f35786cf89c3f3de9757c1c88944a28cf00ac55940fbfac0bb26d1a10

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a35-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aed37415ead07ea9be4d180e38e41cfdc21f8474a17ac56d0b0dd4e13baf7d15
MD5 ab26f034f97c5c692fdf582131a33b0c
BLAKE2b-256 77fe0a52e254e7719709407639ebb865e5133c869399b5085760554015f785e3

See more details on using hashes here.

Provenance

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