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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a17.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.0a17.tar.gz
Algorithm Hash digest
SHA256 da734a70a10ccb5da069d6a88584d3966187dacd9702804efa7b88ec92206b3d
MD5 3d9e8a4feef3073679a648a948ea07ef
BLAKE2b-256 9fa9416095041d56c91c2606ed130c84e1c9f87f40ff2f57c48cf59361c8e374

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fe5df9da7defed3e4ededc399aa93e6fd951563326f5e10090ae7b40f2fb14ac
MD5 2cd0806e889f1fa01a72fc8f631089be
BLAKE2b-256 e81c65c6dca6e9dedea283550af59339b60faa600ac5d6c9af70b4a428ff9190

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7e666e871c00a0b129993255ee5449074e1b3e9e8aae079d6c611b81add20212
MD5 b97f968960cd351419e8e64d1b7ece78
BLAKE2b-256 47250011276d16176f6d7c9a22b8e5edacfb6b92be2443186033c1611d805e71

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 35ca3d3a006ca24359d12b1b3d2ed4c27eba642f560cf6619ea29ed221039467
MD5 be3c8c9dcad69dd2f84bccf403b00a5e
BLAKE2b-256 366887c0e83b48ddecf6a88ca05a17129ad0f7adc36f0552b5866553f4bc68ac

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 49000483d91a5be6b33903ea2d30cdd4427615c38540eeba538e0b799adbac1d
MD5 449b89226fa2ad5854deb2c74f2691a6
BLAKE2b-256 acd20257f84d58693c3a118a5f7f64db74842d95fcd6cbe104a556512542a70f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a2891db136fdefa1149c7c04441c168c629727325bee8de547dd5702e6d68e1a
MD5 0d4001d41d31f2b653f98d56c0413bf3
BLAKE2b-256 ee3b4ce32bac9eaf178760d6652af4e30df8004cca7f82644b751920cbf2f5c7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 46c93887ea5e8b6af2df3f8e2d92e46c2a7e0b3b25a5833088f23ceb7e841671
MD5 33ff20da33c36866f560225a08607dea
BLAKE2b-256 d1fe695f951bbca788562870ea243580be09b8b87ee77fe31b461ba39c1bf594

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2b0f4110c0739670c7f698f991b646c77fab8081788295833a09d4b6cc6c95d9
MD5 e764294bc2853e35ae98ebadaa2cc272
BLAKE2b-256 73185ec7a463a03ee46ee674e9a59110a85063c96d6bc308c3aa0c1effff783b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b07ad6530aa643f0eca1e4b4d27c8587a3f7be0169c5609cad4e1f69cbda52d2
MD5 60fd00969c54f2512ed7b3a64c77a1e7
BLAKE2b-256 60fe5c98fcaf58ccb9e79f4fcd0702a6af33eb43f1614e4ef897d1aa4dfd77ec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4faffea1c20659a9691965346f2f90c6f0d139fd730288420b4e04db30b7d975
MD5 92c6a14d28efdc3005f68e4eb1f3b73a
BLAKE2b-256 151dec3e4477c67dfa6631717e4b57473b8afe3df5e851dae8b77f85c8864a21

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 64c2bcb3d5046aecc5cd186088a760bdfb814631e85c7a4d220b75e5fd599a3a
MD5 e77621296e85df3eb8e356d256cc9200
BLAKE2b-256 17704ea3dbdb94d80715457b072b939960cada8a0ce6cc373064d9d721a16983

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a5cdb2240c4c2fadc129091adf6925428699ba3b854e37031be7543bc4d02bc2
MD5 ebae0fc6f14d1a5460bf333c762b566b
BLAKE2b-256 48ea5bd3b26fe95a9b3ee4def27f8481225106893e427a71aa26da88fc5b78da

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6fe374d9832437ca860d7a5c9fa85c90f20e4c2b38a860f14914df390abfe8eb
MD5 e2a4e4b71d18ecc05ef2388c32408476
BLAKE2b-256 f5707a0b30c76015a485ea9dc22460f6c0d8670fa085f16726562ede39c9fd1c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 600ef3afa5cbbf4e24599d0b3c6772efd7fd20451241920d46df91432d056894
MD5 25135ff497d6be809df83296783379f0
BLAKE2b-256 a9d55ca0ac32900392129ed3a067ff336c27336027b67ff8d40a359c42713a80

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a1b027898369434c044f13861d7369a833e9468cad3c31293656d1d99cc0a958
MD5 495689c7af2005be68e91033a34e85a6
BLAKE2b-256 5760913124bbb96e0bbf302e0d125cf24ffd6741dcf89b15e2e757fdf83634e9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 04dca24c6433a7b2b5d310f386c93d9ef37914d7be7bb25a462829c4a6d48e81
MD5 e77ed2b63f3cf439c1e3097a0282115a
BLAKE2b-256 00fb141788093f32a3f202c3217c5fe1cde60d443bb9f8072f2d558f9897486a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 129b63dd859bbef1efa51ec905e42f142513dfc54020ae1192b8641e5603e6b7
MD5 3377c361e55a81b3300b42eeed0ca1d6
BLAKE2b-256 19bad93cb8766a9dc04d3d8197f4cbe95bf30c8f69621b90e905dc9e64fe3d71

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dd4bc5cdda5c60634671e026034e3a86a9e79ab133698c3c0fd14a445c4a345b
MD5 ed0b098e69ed32a34ac41ae865f1ecb7
BLAKE2b-256 5206ee4eff176e3d2c53e668113cb0593c4fedd8eea7f081729776e076bf2c5b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f1ac3a6e20924c424f0466532eb0d4f88810159c49747d62fcf425dece5ce0e1
MD5 a96851886875a0acc50ae86f1964678b
BLAKE2b-256 fb0c9eb3bfe21daffcb23101bb7c437db6a4fc5e49d69e7c160c43202c7c9e83

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 078172e2773bc427b92bee786d8ea203d1667c27f4e38d2ee1a6f472f83522e2
MD5 ceeeceb58299eecd44368f5e0646f85d
BLAKE2b-256 c5cc2c04f39c260c0fac9ecc8d4aae366b92e10614a7bc794ba47d0735978af2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5fd4c999d50fbef0e8585d366994edbd3dc1b370d6471c3e3513d8a1f77aec35
MD5 baff1f69bc43a741115b16472df5d351
BLAKE2b-256 52e2660549c36335bfa4e1e370f84066cc1dfa68bdc8cdec5d28a667fb646c09

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 121dcbd1c6abd674b87216dec426cd991c96360fab7cea92836d74e362c15cc7
MD5 19bd9e807ffe8a150e4f50b3f8dac2c3
BLAKE2b-256 ed164c30b544c40580d2afac6908c98c6f3ed3c90d54ca03198b9f024c069d3f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 13136677dbde1b086753440720a34738d8044860baf17d4ed274cf6b47cc7463
MD5 d02eb859d4dac981a2fc79ec745e1e6b
BLAKE2b-256 38f7495809ea22469e0f27a0e4d873fea35fe224db25eb41b87df78651db7208

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8366767f1e5955e4307db8c0412f3c585478af257a2b00fef71b2b515623a1a9
MD5 719787ee454f332da7d6aced45853c13
BLAKE2b-256 700dd448e0f71a85c40848e2b116cd091714cdc5133852362886824e95d63a5a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a17-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9b8d939b932bd2b28b1b7d3e3b34597b379a57e07e5384660d0a0e5a772a8287
MD5 402a19591d993b212e45a646ce9cb986
BLAKE2b-256 7c9ef59b09e2932dd9a6d19a49933b0e256b54ed8ddb6d17d62166962da50bed

See more details on using hashes here.

Provenance

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