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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a50.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.0a50.tar.gz
Algorithm Hash digest
SHA256 98ba99b660a9cdbd5c07d4dc5585bd5c62f27cea638eb74167475817f0224012
MD5 eccf3cae7956035b9328ea9e8ab43506
BLAKE2b-256 688589131d65cccd72b023043998254a5fcbf8b8df7417cc196e5fc6bf4994da

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9a02f44bc9c8d12f672d0c1812cb880ce8e38d4d532a6c0accb9d150b19c0338
MD5 b15b43756e1d9ac3495967a200a4ecbb
BLAKE2b-256 129285f8459969f9559436b1b9f59fc3cf6278cb463276053af54eda789b5164

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b006a9de8280b75fd7af7a4285f0256a8ce317b0af550c6208818dc1bc3b69e1
MD5 5a437b01b54add1be7b7b8c8d549b33a
BLAKE2b-256 4e35a8b4cd2f384feca6e0ec0b2403092e8a298c680161d9d241993cb4337be5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0fd7484ba946b982fdd1f8ffa31f2b8110839789c93a72a81f54c0621208b2bb
MD5 18e5e40ae3e0d2ae00b3acef5519fb84
BLAKE2b-256 fdbbf7e3e525d73e4215b37cc7e1ac09d11e627ea16e5efe12a176ac58251816

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c449b013d9e61bdf15d1d09a9653c67218353e6a5e0a16b643ffd4dae3dec048
MD5 7bbe6ed5e06b5f9de7944eae3dc9225a
BLAKE2b-256 39ad3697686b921208fa19fb3f70564986d7ace2d30fab04383f0e751a7a5e1c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 29a9814195d718682b98f5f412d6a45071895e917dfc5d789bc20274fa92f73d
MD5 fbd524fbec971d91e075f1f84c27c922
BLAKE2b-256 43d55a6d3a3f066aa4765c46fda17cd8a3f087b17020037864b5670e8eccc2a9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7eb83600dc97824dfefe7509cdf0f5ae5ea61f72eafc75ce392d0737909e4228
MD5 76e7ece3acb2ffbd63f74e26e4f890ee
BLAKE2b-256 72038195355c36fba36a9500f885a3a860984a0ca2bb0d0209d60400c6db12e3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 76ee7d33addda077fc6622cd3a12a8bdadb66bb7fcd257f631a73615690a04f4
MD5 c644fb0cb4450c9f63d6515000355e2f
BLAKE2b-256 9b9a42b2a2dd4c53ebd05778605c39333839e8ec45062e266838748102e23001

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 705d1005f3cd02de2db1d9315659e0a654718b5a2b257b1757338519ec03494d
MD5 c8f602c321156296f0027c0d8aa80f9d
BLAKE2b-256 5cc9ceef58b4fb64539cb0af8de300f364cacde1b1145c6df31eecac1a53fa14

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 aa6c8d24333f57456f18948acc983c202c5d2c18b08f0d4bd953000b93a1bef6
MD5 790f0b5da5a802e260cc223cd8b3f92a
BLAKE2b-256 a7cffc7ec4d558e45ed7991346f1ce345028d2bb01282c6218eadae3467506d2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39fcc3522643617f5ae8d66958169c185d26d5aa5f295bf419582bf15c612635
MD5 69a1f9d535ad94f34ca113201693a0bd
BLAKE2b-256 f71a33abaddf002eb96d3fb65e016281fda1e7429811fdc9881d250a741cd112

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6fd9edc9a14374ca6b34c6c11b09f8a41650beeb4a05af6845ae2ead120ea4e9
MD5 5f279ba23af2fe188add07e7433a444e
BLAKE2b-256 b74f57ef597761b38adabcf074318f2683cc06ed7ad9fc53b9d0e4c0722cc012

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 78018e8c66ac84baa8359a34e87cb1584958aee25127f5533703f90081a5454f
MD5 4e105fbd66d4194aa8a16143bb12b14c
BLAKE2b-256 d8d9871c3162e94ef41a39267fa8a8009347f9598723f6e8bc80255b402e0a1e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 87f75a251e4d451028f12bac665da65d6b490c961efffdd930f01bcb34e8b0b2
MD5 7a0187b81316bcf2802e922fc072e8c2
BLAKE2b-256 b0f846b7a01afbd822b77644da4cae3b7fa440d76b80e504e4519582b9d10b4a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dff10ad19a3a34b39078216d19441127602e325584f2ba2672e447f5fa6418c1
MD5 3cae53ce34865c28eff9f3d9c84dc74d
BLAKE2b-256 c92c2258408cb29a37bfde0d64f913ddc9e88391817ebd662931c4b9d8b90827

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3bef52f0450b079c7fbfa101938951f89c8192b05f974a3d796a5c491e6ca761
MD5 167eed33c723feb33c12400cc7259a61
BLAKE2b-256 abc9d6e8fcd9ab059e82616288787b459e9aad42b360751b9b7dbc4d43dc5487

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8b46c2cb7a89baeb511fd0c1b15782bc9adeff893a9ea9bf6058a285c81220a7
MD5 830883198a9ef18bafde2d18986b0342
BLAKE2b-256 a5ce63347bb0c506f4da2403f2f29335eabe2869615b3c0786260fea7ceca4bd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 71c6aa84dfd50321a0d440ca40fa8ff5738e9dd7b9b27c0ecaf5df0f76269171
MD5 221fe2ee4dde5b3345b052589fdeda8b
BLAKE2b-256 614e997b3255eeb12a02cd59f3e8a8c409e58f2ecda0371682969e9bfc65aef2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e1405b7f5ec1213629c07495bc23c845f3a7f6c31652c3900ca7eb2d5133a63d
MD5 26f67ce56843426e1f24a50d6e2025e8
BLAKE2b-256 4754a50bb6ae9ba446e7a983d695ff5e384994586f91327c4f67ba0848ed415e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5c8539e4a1e24f9312eff4dd2f5d5837359c3dfe31756494ce9fc667df4ff534
MD5 3ad783c61dff25a52eb9d1a28497f922
BLAKE2b-256 71587ba4bb838112864cf62320c14a96c85e299ca3535876298306478274e506

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e8b3eff11a359f1815325f304d0cad9132efdbaa501ec254217d655833def58c
MD5 e33f330513cb12c9528df0f5d41a733c
BLAKE2b-256 e383c682a3046d7aa0526543b390327189d9333549686cc9975eb581f28b23cd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 79597d130675177afc06b664d3269fca7887f5a26cdbe56ce42ea427d686cf40
MD5 976f480d7d0f35d23a2d41903413757e
BLAKE2b-256 da5c0d9bf24e1363dacb2e2993663c099abf1dc3a16841ec6f7b7ce0794da82f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0a86c744057b3a6a743a4e8164be12be99f3d84965106597c3751de8c563cc03
MD5 d87881698d01d8a7d99f23647e241226
BLAKE2b-256 fb1fab6dde1504925fc2d860eb1cdebbc290638f5f51a33dca6df3eba076437a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a814f916bce953b22e63365c704fff70429fe9b991b2a3ba8d9f12566676e7fb
MD5 3e5b97c8250370f596db128fe9ee9956
BLAKE2b-256 729ebee113879d85ee6d639ac136c4898e78d3e8b9f3ed195c783ac0d580214e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a50-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d377a8463d4c38e4685b143741a68f47f1e8d1f77a3f5b714cae16b21dce4267
MD5 fa435c052ba7b6eede4ce930758fe0cd
BLAKE2b-256 79600201c1b81466ee23922a561e564604883c54b3e01968ef0b298a5ce16f6b

See more details on using hashes here.

Provenance

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