Skip to main content

A drop-in single-node MongoDB server in Python using the WiredTiger storage engine

Project description

SecantusDB

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 API surface and on-disk format can change between point releases. The wire-protocol behaviour and driver compatibility are stabilising — but if you adopt SecantusDB as a single-node mongod replacement today, be prepared to lose on-disk data on upgrade. 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 / geo / wildcard indexes, $where, real transaction rollback. If you need those, run a real mongod.

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.0a19.tar.gz (5.5 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.0a19-cp313-cp313-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a19.tar.gz
  • Upload date:
  • Size: 5.5 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.0a19.tar.gz
Algorithm Hash digest
SHA256 af2d680379a2bc1b720bc6b3ffe3c447ad1918db63461a904abf926b080d90e4
MD5 e197bbfcfe36aa2ae6f53b786a9993aa
BLAKE2b-256 54aa0dfa5569f88700fb62b17055978d6d8c57c8ef370bb138debd08b1ae3e15

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 486c4b0fecf2e96202feae50fab63cdec7bb7bac5cc55071bbe265ffcc476fb1
MD5 8dd8157b29d4f79fcec411f2366d28fc
BLAKE2b-256 370db802f3ce91ef148290efc1d85af608ca1d301c045317b66eefd7108a04d7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 98eb05fb51cf9b7a62367e5da696015ccaebca1419f84869b5c3a83a335f25bf
MD5 8e1e7e9f1b8ff912b02a459b530b2e73
BLAKE2b-256 de7768c4002b69b302124fe461c702b5c36812b14bc96a6b081a97e607ac017a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 817154b4aee27f3e62cd67b0fd7775a3c5de4ff6fedad3e9a97136815b6e8a94
MD5 5ff6130780167f90ca3842d1e1702be1
BLAKE2b-256 3071bef0d3b2951a511b8f1b973e0739e5466a45d3ab6fb8dd065a3276f08eea

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 24b73842f13f84fa6cec0bb9c2658a57ff55c18bd61e3cf7a275516765c23a01
MD5 4097e3fd748712216b7bee04d8970961
BLAKE2b-256 2a48c3f693a3a395d58c7afd8a8d5a49acd14787c4b9f27445c9e33e96b0e1b4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8be9d3a14846ef0597d1cc960b085c9353061b52924e46c8ef6fbb914574523c
MD5 cba9dffc2635698ab0c5fe2ad5664ee1
BLAKE2b-256 9b1113413ec0e7ecb056f6719d9b38d73668488762e4cde549ce378639f08af9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 397a3a58f20d0fee5052bd12c7c5acc40ecb9195cd5a288ed4852964997d4f58
MD5 b22616f0d1f608b09d116983c97df583
BLAKE2b-256 084605b1dc1fa765a3d478fd3a2c97731a6ae62d91b5b18254def3095ccd0576

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 151e8dbd4857a917a34c1c0d277aaeb25da536c1f0daf9bdcaf5f55e135ebeab
MD5 ccf8f48b9e4fa233a66063a3111a0675
BLAKE2b-256 59491fa0e0dc99aa2bbb1da49463ed6c4dfd738466a1116d65ed98ee2b40af2f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3e3ee7f2be06899c4eb92669934cd9c9a6002087f33b924b0e2da2118df60fd7
MD5 89abb880f05183c97365a86d8309bbb5
BLAKE2b-256 82609f463a1f6cb83fc92559362fd7a7b2309ded7bbdebc6065950862616f4f9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 77677aa79562ad5bf09b01e9063abbac360f88359a644bc7baa677aa3df85ef6
MD5 cbd05ba0c1dce657d4b92b04828f7510
BLAKE2b-256 21c703eac1f761e92e8e57c31b36197a9e4f1f0d7d93087c4f4219b5a76b820a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 688d8545f077cacabb51388ce5f797fd6be46acf28d2914563bb65ed82504827
MD5 36e5cf401af8ef4bf246f11fde57f347
BLAKE2b-256 5461be84ec188b08aa15d02b45ec338001103f1170218634411e78c7679864fe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 52081ed8a2b3e5d82db956db90ea7767b0b9596495775e0650320cd598214cf4
MD5 022b2abeff23a1f95a9363c828f5bd58
BLAKE2b-256 60428217409d17deda239ac13c466c6e9f7bbdbde56ecf8f138257898e4157b5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ed54e7d5720ea969cd70b4983a1d39afe34ef63ceb0ae392d75172874b5b8263
MD5 23e5c1f80d1ea0efc7edea03f40fdb3c
BLAKE2b-256 228b1f484934ae8df4205f4754c1845621ebf81c79edd1d7b5c3ab5992b49f1b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a788faae5d26bb9549f44865f3e18a5e1375eaf59d2604629509b0a34e92e6ea
MD5 d8121c36cfb984d01445f9095ab92a63
BLAKE2b-256 3a8d18ba1d854f93b187a638cf7f1b82a60cef0ed078fdb2a18fa6cc0a19e4af

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 120a07494fbd8ee01708b4f7430a65811b4a2d3657ab6a214558fcf394b00b0f
MD5 adcdf8f470403505507b6a0396bfe579
BLAKE2b-256 6370892ce057e398ce81168ed608df91ddb5a0cb8cea06f5bdfa886b2fa7e0ef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a128fdecac6188ee67b36c6627c5c0b4f860a839cea9d0aa1af07d0329d1ca21
MD5 de00caf055159673980ca40c70792692
BLAKE2b-256 89647950950f7f87a8c711737bca7eb266d12ee6133faedb162ef7493f6d993a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b6d97229e34e309a33e721f594caa8208ffa64578bea0e5e5b9331febf07248e
MD5 69f3199e48c1780d17cf503faf6908e8
BLAKE2b-256 f5b44a4927c1243091c2acae15ac75ce6c4de951842a1e0e4b30d5a900af0d37

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a8605f864dc656fe6e8eb4d53c098b35c68cd8ac8ce13fd934bb3fb4d2066ddf
MD5 e0c54e0fbf5251b1fe71edbc1589f4d7
BLAKE2b-256 38f1987f7dc1651fcbc68e501277d176c74a9b39b1e8282ad2709028a92edaf6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b3e3646008fea25ae32ca46abb71bf1cf220b4465acac909a8c34390dc094fca
MD5 26cbcaa2fbd420a8579999c0aeaee2fe
BLAKE2b-256 b567fc5d9e423697d054eb5ab83503faef5d9723ed93cb61ae0a75407c684a63

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 500864d11066a372004cce2579b49c0a203ab3c03444ec2dcf4a13c743638dc2
MD5 27f3c55ddbb7ae1e62a9486265cc4199
BLAKE2b-256 1dda83575dc06616b16f1ad002a49045a27fc82ba537ac7bd8e3d6b754e683ea

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 795290bd075dfcd1bec9d83224464da762c034b0ce11ffc271d558fd50386aa5
MD5 68a6fb6fee3f11cfb5afae957f456227
BLAKE2b-256 446085173e733cbc9132e974f36f0f52c21b92013b68df42db9de49ad146c2d4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ab4a47ac309a89c9baa13d2f8545894a8efd5b1a86a2a502143254d807a68788
MD5 732be47381ce4c19a4cc16a8ea4278f4
BLAKE2b-256 07df4fa31e739d22c59ac02b3d02a079e66e3f3e7dcec399404dffdfd3a9dcf8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2b49c08e598a4a3f2c3730245d8098a0998314c6871679b8474bb42d04e46ecf
MD5 8434c9d1320f9a40f9793403a80450ab
BLAKE2b-256 809da1a06bfc2a42598bbad2eaeecf4ede79496f799137df5ecf67b60d832a28

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5c6bb1e05b4ad4d9f505f4e8d838eb4357cbd06a74461ba94bafe3295b858260
MD5 46295b4adbab5e174075d8f9fef8897e
BLAKE2b-256 8e7928914843a9d385b2f2d994836b94799ef3dee11d2d078fc013658b11789a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a19-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c893b0b8fd473689e85d584c8fb09cc29fcbd3d749ea23af1dc800a1670f2ef7
MD5 196c1751126cd22bb66da800adae8f0c
BLAKE2b-256 3e9885430c44b8061cb1f7b618fa9b8a7d6530b64ff75a63fea13001faf43f9e

See more details on using hashes here.

Provenance

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