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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a32.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.0a32.tar.gz
Algorithm Hash digest
SHA256 be91c10b78708429e2beb637b298ca90692ad4f0fa7da7cb2c3c041e017a00e8
MD5 a034976790b567e49ed2fa2cb87c7337
BLAKE2b-256 2659064cebf42d197f5d83216eaa85d73b1218474036f5eb895094e35d0c8a1c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 058ec1634f995113a3d94f38ad55281c8611f8ba421762332fc846471bd35fb8
MD5 a7705307de86eacbad1a3488332bc049
BLAKE2b-256 38dc0db2bcc880ae871419e8e5cbac511eaae530a86455ea0bab641179cd0f30

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 357becfa9325e12b7f0974f2bb1bf47719c6f39ab47269e00d89d20c37ed1d09
MD5 d135b08263588729b7e86f3925d60a49
BLAKE2b-256 156fd08d1af2ea8c262790fbc650730f0fb62610e05fb638ae62200ded87d922

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 183159d0df6d71e1c4b4239a64c92198dc295883b753aad1b71c123222ad6ff9
MD5 b55df58de7777b6635d8c3a565836406
BLAKE2b-256 9b328586abc3545d4aae299ab4cbcc8be32731231849df7b6e57dad903c71ed2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 30863dc4ca23584bf56d65f418991c88658bb135e4d843c2a46f7e1f6f07d061
MD5 337e3f7bdd49b071fc878b1706176ded
BLAKE2b-256 189cae1e4470305edcc0a3fbc462bc4ccb5d49ad87dc8e8fedf1b17cdf738fd2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4f15e9ff845f4e87e03c5d248e7b9aa0da19c7568c362c438d07851e7c62bdb2
MD5 8749bf0bd3318ab766c296ee866ee1de
BLAKE2b-256 897bd4d9236e23e92b608365fa309ddb507de75f0abc05d97ae9dd07f29d275a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7103ff3843f3080245afd395289e6ab7253396864c72ed8cc2f2031baa578a65
MD5 71131f11785b175e1f2fc2814d8fc7c3
BLAKE2b-256 4912bcec286995c0be0a58f073f9d7dfc34c0b20fa34eecf5ffba681a821ec50

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f60ad506b3caf8cc2f1baa53b1f361db66c00b6faf575e15cb8edc82ec3c75cd
MD5 9c3ae23db68e66d3d873bdec064c7098
BLAKE2b-256 f2a970f74aa61ec28bd5f16979d365780def040e4c09be96e44cc651c4bd3f61

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 76215ed47f66988505066ad03f8a8a9133ab5c7c506eb31286cbe25f5ba61c70
MD5 babff4efb673a07d2a6a0e21c0d409a1
BLAKE2b-256 e90fb5b6e4d1fdca1e2dc2e719be472c6f017cbbf6c4b7f97f4830edb5553690

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 11c42db5fb155ba75ab4fca1f4dc14a08617696d08aab05a5fcad3d1fa850eb2
MD5 59321bfd3a6600d8c86d28d48d00a953
BLAKE2b-256 b4a1d027246340524a6d9ecc4d339c26ec167ed0e5e8e0e9eacda349a3cd1020

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dfcfdc033f8148d66da168966a3d11e14fa487076fda7352bd5edc52993cad8c
MD5 3e7e834b175280719ad249cc23636def
BLAKE2b-256 5d2203afc5683a161e734b4c3cae256acee3c8ef62071d6f6b852812eefca913

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a453bc12bcc57b5f6860a177a89c28c69842e7b7a8969916f355d8a75c8610e5
MD5 06b16921fa75388ffda2601ef9a9cc56
BLAKE2b-256 459c4face5d4b1724670d413007eeafa3cdc8c5fe88132f10e14181b6feb40a5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 35eb574ca096ec432414a26196c5c99f58d12d9ffff2f1fd9ef9385fbc6b7313
MD5 3e9aa44ed89151e98939dcff98ec9c35
BLAKE2b-256 894fc303a0cf8d7c2bf0a79cd03f746aa8a23099af0df9baddde28c51cb890dc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0dbcb8d552e7cc83b705e760af43c5a2211cd0fe9a8d203201cacedfd8085bce
MD5 db92682d05b0760f17ee6c65fb6d829f
BLAKE2b-256 89c2318f2735135fd1839ed0a4e525c311e8e68efa34af9fc310caeebb09ff69

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8568f84521798408632c604eaae6bb9de1a09f95b861a335125190c388deffad
MD5 c57f894fd73bf7a0590752216ede154c
BLAKE2b-256 56b3f97ad7406fb49356b2512f967ae7fe785c56d46a38d98f0f11b1b05bacab

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7677d48361c317814046868b11a3d8d89442d173175dd4b825ba90d3cbb3b1bd
MD5 4d2b1d97db3a4eb8f570ff7b60af6eac
BLAKE2b-256 8f0b17e2be87bebdc0be2d4458c52c9076713bab83058f971e310e3a3becbf8c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d768b347cdbbd42b590eeb0e23467df6125aa43e0b24e0fd2bad717290bdbfbd
MD5 7be7ca9f78a60cd599b5f71705adf65b
BLAKE2b-256 4d8524fd9036dc017d3f851eb9693bd98a77f2359a8bd0bd7de81c7daa3d8957

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a85c3915cce1c1f16bf5d3b83d02183995a724f66d1518f97b9c39b6d7a8d56c
MD5 fec5bbf007c418fd95a917ce7788de65
BLAKE2b-256 dea74f6c7a9ffdf8fd35dfd3c35b8bcfa49aa37ce630a915c1fc58ed68205aaf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ecebfbccf5c63063e5983217f60b5f5e633cf3fca391e445f2c80ccf67bad056
MD5 912d19cd6da712744b63e5a9c96c1c02
BLAKE2b-256 fe19ea899a5481a87f89ecfa165d2f4488a8dda831e5ee41ad95023e56b638bb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 761f746ab45e23ef1c783d63886cb9e96800ff53a76daacf60073e61954a215d
MD5 1b7e14974a4033244245412713565ad3
BLAKE2b-256 e0a4722eb8a1d34dcbaf7ed5f522f26087dc0157aba2844fa700dbf02b6a3c5d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 87596ae4df542716ab8e60a871b65ee3c1d677b283b377b59f0047bc0f161bf2
MD5 d95d6ad1530611c4a6655fa9b3000fe9
BLAKE2b-256 6942e5ca7d4de256f005c957ed56b300ab0848fda502a7effdc57c6b1dfa7083

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 061b5ddebfbe0ae0e5d0f0425e669e07e4885fe81f4fc05bc4965b640d6e5250
MD5 f681470da2a4e57898094d1fc76dc2b5
BLAKE2b-256 0e91364a0714c68ca64ddb2fbee1fecb30c4a71f6882209178b53c5e8f4ef772

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bfed7cf495155733ae51361abb14ab42866f1019a31bf35e84e9ff5683bf40b5
MD5 369ded04ef64cc60e3fa4f074bb6abd5
BLAKE2b-256 7d4a70c7856a437d531b6e8f6401cde2294600b8797a0f665ef1f79a39a54945

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 48b571daac7d5f085cc35e2ea6e2601adaa61957605e5a13609d791948a1fe1d
MD5 0877ef2453b4099721cf3bf55ffd5fd7
BLAKE2b-256 fb94ee019dc35724a97f80114a2419aa5c6fc3f70b132c9ebda3a7d8d49c5f3c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a32-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 431731d2dd95575e4440ec950d922f59956af195780faca3a5d212d7dd30b64a
MD5 57c24f85868e9d8b94560eb8553094e4
BLAKE2b-256 ab6af20cb5fd31eea4d3cf6f4a030e0260c107c0a053568c457a63318fcde6f6

See more details on using hashes here.

Provenance

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