Skip to main content

An embeddable, MongoDB compatible, document database, built on WiredTiger

Project description

SecantusDB — the SQLite of document databases

Status: beta Tests: 584 passing License: GPL-2.0-only (code) + CC-BY-4.0 (content) Python: 3.10+ Documentation Status

[!WARNING] Beta software.

SecantusDB is past initial proving but the Python API surface (CLI flags, public class signatures) may still shift before 1.0. 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.

Optional Rust acceleration

The operator engines (query matching, updates, the aggregation-expression evaluator, projection, and the storage-independent aggregation pipeline) have an optional Rust implementation that runs off the GIL. It's an accelerator, not a replacement — the pure-Python engines are always present and remain the default, and the Rust core is pinned byte-for-byte against them.

pip install "secantus[rust]"      # pulls the matching secantus-core wheel

Enable it process-wide (default stays Python):

export SECANTUS_ENGINE=rust       # or "auto" — rust if the extension is present
from secantus import SecantusDBServer
server = SecantusDBServer(engine="rust")   # same effect, programmatic

rust transparently falls back to Python for anything it doesn't reproduce, so it's always correct. The Rust side is a Cargo workspace under crates/: a pure-Rust engine crate (secantus-core, no PyO3) plus a thin PyO3 bindings crate (secantus-core-py) that builds the secantus-core wheel. Splitting them keeps the engines reusable so they can evolve toward a first-class, standalone Rust build.

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: the official driver test suites run unmodified against SecantusDB — see the conformance validation summary.

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 on Read the Docs. 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.
  • Conformance validation — every supported driver's own test suite (pymongo, Go, Node, Java, Ruby, Rust, and the PHP library + extension) run unmodified against SecantusDB, with a cross-driver summary table and a per-driver report for each. The other-language gauges catch wire-protocol bugs that pymongo's permissive client accepts silently (e.g. int32-vs-int64 cursor ids).

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.5.3b13.tar.gz (9.8 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.5.3b13-cp313-cp313-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.13Windows x86-64

secantusdb-0.5.3b13-cp313-cp313-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

secantusdb-0.5.3b13-cp313-cp313-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.5.3b13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

secantusdb-0.5.3b13-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

secantusdb-0.5.3b13-cp313-cp313-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

secantusdb-0.5.3b13-cp312-cp312-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.12Windows x86-64

secantusdb-0.5.3b13-cp312-cp312-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

secantusdb-0.5.3b13-cp312-cp312-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.5.3b13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

secantusdb-0.5.3b13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

secantusdb-0.5.3b13-cp312-cp312-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

secantusdb-0.5.3b13-cp311-cp311-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.11Windows x86-64

secantusdb-0.5.3b13-cp311-cp311-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

secantusdb-0.5.3b13-cp311-cp311-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.5.3b13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

secantusdb-0.5.3b13-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

secantusdb-0.5.3b13-cp311-cp311-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

secantusdb-0.5.3b13-cp310-cp310-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.10Windows x86-64

secantusdb-0.5.3b13-cp310-cp310-musllinux_1_2_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

secantusdb-0.5.3b13-cp310-cp310-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.5.3b13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

secantusdb-0.5.3b13-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

secantusdb-0.5.3b13-cp310-cp310-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file secantusdb-0.5.3b13.tar.gz.

File metadata

  • Download URL: secantusdb-0.5.3b13.tar.gz
  • Upload date:
  • Size: 9.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for secantusdb-0.5.3b13.tar.gz
Algorithm Hash digest
SHA256 a78c326e69a9ccd72cf784cd4077e5d42a5152bc8be35274f15b518d07211eab
MD5 299d47ef9d439ce4efd7d03acc117fce
BLAKE2b-256 080946378799c1f3277fef045d64d7897693a7f56dcbf74a60eaf4327757a3fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13.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.5.3b13-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 bcbbcb4243b217b2cf09a36b0c32c97faca62518fb9949f4c523e035b22c3a48
MD5 b7b2c535bb78d1c3c867e5cf2f003893
BLAKE2b-256 15879c30066abd597ee69794e22f6fc85dc9adb9cda3636007fb229361688b92

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 93673d7a5c3ba223e7e2f9b20da3110d4091e8d452d61201b6eabe8a334bc612
MD5 c2b2c19f1f80e2c9fc3020493518e9e9
BLAKE2b-256 93ac2fa23e73c320813b0c662ab0eca25b049de02208828629ec9c0413bb8599

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b7db24d0b3e2a5efa6b1134effc6116ec4d4aed08b0053723ff2ed570a18841f
MD5 d3c029b920e25ed624494bfc5f0ebce5
BLAKE2b-256 88cb53963ac6138905567c90621f9f22e673d2919f95da65dad058a41352499f

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 17b12a9d120c3918646618101dc2089040d90113b0ceda2b6d97b3c19f6836c8
MD5 ba613def1256c1ab261857a0f5ca4f54
BLAKE2b-256 a083d1bbb55707dfccf43f6efc344fbdd3f297aa43f751d679149428acacae29

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 744b16b7d202eea6e08cd4ec655ca29fff25914937c6719c880e8fc1b5a64b7a
MD5 4df028951e3e01d2f22028cd42259662
BLAKE2b-256 ed07a636db0ef276a3e999d998c9c335349e17879f5e2931709be89e74ff8a30

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bc20e5c144b82b1e38c9b94910be18e3a73b7f5901805f3eeec06948c84600a1
MD5 bccbb578afc196de3a251adfb8d00c57
BLAKE2b-256 d2a217e20ec4ddae5c34b75a0c6f0f843cfc9d09d49ed16e70f1e5d4597ed574

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1240088758641c22ee81e1f699e4946e04be6bd5ddb3dd9a00103f17958a8648
MD5 eba0a4bd123588cfb66719c560f22393
BLAKE2b-256 dc89222c8c97f9e0304eb136ff8a7217d9ad842a920b37b0edad93aed716b208

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 af340b6c923f6ff9f143105c9ec04b74cb4788553a1724a837cb59a3414dfef3
MD5 a2ae8d2efcca13651af7a21565e64af9
BLAKE2b-256 1a68a1574dfbdd6f354493abbf91fcd5766cc4e74ac8da5186579a37ac72c3e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4fc8fe83af502e8091108ab3eacf7d328e2e7f20e334692a01196c475e66936e
MD5 d97ca2eacbe3ccce81b6913ab66f74b9
BLAKE2b-256 1da01b8c59530961df866d2c1d2042b42792c8d02e899e63f63059d1449e2f75

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cce0d68b8de1925f3d7dfe1528bdab6172f7cdc2bef7a7ed38b87948489463b6
MD5 525753f2f4dd2365fe5e328b4112c356
BLAKE2b-256 ea1aec7f3055fe9acc8a5720b33c7bfe137eb212b36b500be409d1a46bcdf0f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fa61785b171a2dcdb146288f3975966204be2dc6c51fd0705501f9bc2033e470
MD5 fadffc00ed3ba06a3e601b57c126bd12
BLAKE2b-256 e87bd7558f3338f2009bef4b5e23375b3726f619b43c22446d894a4cd0e4a1d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1c7f9a9404ba530aea33a580d2beb728f3754931f0b9e7f1935b3eb2579f8ce3
MD5 ffadfa8c5b228b451d11ac1054d9fc45
BLAKE2b-256 8494140f126788be71b6c82d01f31c9bc46616ae44482cc5151856cca2f466fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0943fdf6387fae26035ca569a75c485a8349ec8a8edea27a38361cbc01005559
MD5 7b348362b7cfb4587ca602aa50f5af92
BLAKE2b-256 2e4101cbeed046be05362a7c842a5ecb437e9599ffcaca35bc6a84a7e2032b2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c6d67ff159d09d3120fd8262148b4f0fd3c72a0b36f05f22e9a873287fbeb437
MD5 41b0c7208057a894eb1a4becef187ecd
BLAKE2b-256 014390789bab964bb6648c500d30b572e5d47d22fbe3087b693df3fe44f94e47

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 91c000183e08a74b104b39b676989a7f37d245685b76c429978f07764cba48d7
MD5 50011a32a4fa9d332c088d835871d073
BLAKE2b-256 96da3fb032af2d17e22ba7ce14aa3f855d21f3f07680699d1f2669cd5c1043d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af563f5fca54764eba889019b6f741c18f94000f549354832b34f27c1cf2a49b
MD5 29f318ae61b83927782c31dc53755fbe
BLAKE2b-256 f4815fa49d69c30f7df3cf9ade4eec96058e2abefa1184561d35aa9f649ffd58

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3b7cedde8890a21e781f3ae7b96c9026cedee8f03436a9873247b9ebe0a800a4
MD5 4c6e0d45469632f5a6eeefbbd26d9176
BLAKE2b-256 5814ab7fe07ad4f875cda8360242a3268d1d3c36aba58b140fc277349a9e0d19

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b58738156d0525124cbe51cc25db5954c15fab14a4a6fe1a8aab5ae76834eecd
MD5 57fd4123de31df78d8db7fab12dcaa0f
BLAKE2b-256 b7a7c35f6629d803d23d1552b3f745a137403c5280bfa861ca6e5df9c7d1e1fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9ae0ef3ad36a4e4a0894c200262b804a9705675939207d837884b567ca57492f
MD5 2fb524ded45068c7d04c29a663883360
BLAKE2b-256 96b62099a83113c66a6dfe299339fb44067a38cb1868e74757a850edea97b2e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 447dc34303076357b89aa047aa408abfb384efe6ad0338f403e98e209d5ae6f2
MD5 15c7f52aa1635cf57c96aff0545b70ae
BLAKE2b-256 b47875c22fdeec9c703508647c3c8be5ec6d5a7a29c9afa91cfecd43fef1a818

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 17c2b312b0f3908407800b3c7d2d2b44a0843bb5ae277a1063ec0845bb56ec79
MD5 384df1bb8f63d11dfd4598d1e7d47f85
BLAKE2b-256 778019d80a4cc584a6bc7854d038562f1106abdc07575c49c9d281221157e6c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 faf86e4043a507ce8f9b50fcde467ae8a49735255fd8f75f8aab37b1aa1a07b4
MD5 566ad19f322a643df2d17bb3ebbb5cce
BLAKE2b-256 463c36404399eeb72f6ef5fd2035873f4abd0bca8cfc042edaaf25a1e618fdfd

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 82335f76e8fa4aae6e4e027165982865a59ed140ccc97adcc5843e3a86ca1995
MD5 f42fbc2cc92033e51a078a50ffebc233
BLAKE2b-256 1766f1c3de87c3213788a014de542f2f3ff2f6e990c3184e635d02be774dce8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.3b13-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.5.3b13-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.3b13-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 da4e3b2b086f042c1531108716234694a71cc089c2c25a2b444963f6ab2ad6a9
MD5 1402828d095251fad4f2196a02f0c2fb
BLAKE2b-256 755844ec5e6a9790490cb30cfa70ee3a6d7e0361563a9188a94270e32a644a95

See more details on using hashes here.

Provenance

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