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.0a29.tar.gz (5.6 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

secantusdb-0.3.0a29-cp313-cp313-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

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

File hashes

Hashes for secantusdb-0.3.0a29.tar.gz
Algorithm Hash digest
SHA256 903364e12b6b51da61a1bc49eecaed07a407be87e56b3b4267f442d32bcf47f2
MD5 5234864df7692cea140f9134286a55a6
BLAKE2b-256 5d47768a8c54e7288e2727b4196d8b624d4665c6603a8d10c3ee85175e159580

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ccc90daf873d087552783dbf83b99e2da4ab3dbb225323baa0a87a7a898a1c85
MD5 bee791bf0302d7090dd211a10a9ac02d
BLAKE2b-256 01d18c6d2e818929fbb082e1a0cb3f149828f5d7e98ea7c64f3b466ed7c35938

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2ec9efc0a86b9c667bfbc4f0d07ba66fcf7630119aaf21f8b917c6bbb423848f
MD5 da488bd29411dc6717586e5cee7cf7ad
BLAKE2b-256 7f5e16f945eb7884fb431b606f7435fb380e24c25ea86a39fcfdf009b3775d91

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 eca9c5e39ec714b56df8b8d60e3318358632985fc0a8cae18aeb1fc5b4f0f990
MD5 8ae47f72560520c992f87c1cff6a1629
BLAKE2b-256 212eb6f492221eac32735ab886b8da2b526c8fbb8979c17674cc9d3c4596f148

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae08c99d0ff95264d95f2aff1049a692e6b0db61080959a187dbcb6a077a6596
MD5 33b5ff8eba1833be3058e40d7c81d3d2
BLAKE2b-256 f49aee9e8062c30584adaffd624c3b574a967908d6175703cbfecc54407822f5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7016fbde84dc493c100b72d2ba28fd8ebe44c4b1403ed613c5ff220dea4f2425
MD5 117c23706be8deb47524168594ee610c
BLAKE2b-256 65f555c58c5d3e27b48808484a934265ec67c08be7e5da29723f8d22a5e12f75

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12889a12ab3ec7831f9d4c59b34494f899ece081cb2a58636b5633e00fe8bdb2
MD5 d1486b2ec10fe2bcaf26125f2b0f1fce
BLAKE2b-256 9b58b25d60d80e0ec83e1983995bf76f6b4b5c1384f8eae2ca768927ac83862c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8c950cf96ecf6ba15870b3f880a578d71161d3ed9078c5f92053cc2e81b3e10f
MD5 e64b3800a0c4ab5227f525cd6115af3c
BLAKE2b-256 70567d01f06dd3875c26edc6938ef2fc5fe654e7f57a078361cda6b9a4438c3a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e6d8a727d10c1013baca5a2efbd6b3bf64eb0e4d8ccce9c71ff6ec402aee065d
MD5 47e1717f36fcace687f045c17613ad64
BLAKE2b-256 412eb6878731d42d4d89b83a70a687f6da3a5909a80acb2e5536769bed4ff229

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8b94096c9ac6f79960cd8ee2154cdc89c1d3173908854a03cd10b9e2b7a8ba00
MD5 437679c68d515fcb05527d143c08bf1a
BLAKE2b-256 94e23826a9ec41046edb503efe164576371a986b22d61bf9bc20cf992be8a424

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9ad5a3ceeecd837673a3d20f1db47611ca3db5d3caa016eb00cc5b184245cfaa
MD5 8e0c1805bea06edc99b4b6cec06405dd
BLAKE2b-256 7d928a30a4f7d77139b0e2423d17eab277ea3b6ae363eec53e327ac6f881de53

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4f49053515c8041bab11b07861616207cfa32b41b10c837da1d40dd889dcaab5
MD5 79245633b2b11a4f3d15e908e3df90d4
BLAKE2b-256 c0e393662c89b263b466ebda6a67d397ef8a61bf33e63d551ef6286d3361d637

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a6cf5d5ffffcc8f3e0d78d2e6db6df228238251fc69f074fd68a9b8f1f2420b8
MD5 6d93d9f9b12ac3d3f8a132314b6f214c
BLAKE2b-256 ab99be697ce752852c59c7e2f0cfd4ea96cbc33cf1f528518f09b5324fb2216d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a9006b8156c59abef8d70cada408ec0ce402674a6ee1e7a06bbe0391917e442e
MD5 bae02f8f856d8bc8c28290df38750a19
BLAKE2b-256 b3d652d837d142926305dff2a090b490c2a36a26dfac8ba5f61ea9b2a338a394

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7a1aac9a80cf932f9935322b0180f8062c023a06d5243346e12a049f53aabfeb
MD5 1eb75cd02df45d1971b11b365a1ddc79
BLAKE2b-256 8ab52b91fa4ee2abb607830b382520089d8c94bda05b471078c32678a66f9cca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c3a0595bcfc2445db65329852a2012058195fd7fc11aad7997fdd208c12f25ec
MD5 9f4773a08b856242e6cee43238c2d687
BLAKE2b-256 3303b53aa9eae1b2540212eca5e167742072d21b073160e81f985cdd2d64b990

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2a7f71a8511590b003ed57b9078cea6fdea0a004f20c8497e3018a5f3661bc27
MD5 455440d9009ae4fda996383b2a187dba
BLAKE2b-256 df436b5d306828c8a44035db2ec027a6dc596fc443f8753d11a4c8b3d5d47cc6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9e8ca0eeb44fec24828909e5f6693ebbb9f96d01f794ce8597a2d0658ca592f0
MD5 83658aecfe07709de9a092291f5042e7
BLAKE2b-256 564e44b07cf36c759dafc5196dc07ff718ff9d0c7729af936e14570b7a414e95

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1b806105e9bbb412dc460bbbce3adeea6e591fc78e0c8938564bc542eab722fb
MD5 b88fa85f7d164d6a34183bb19920a08b
BLAKE2b-256 5f8b089af4eac3c6bcb7f2025aba981dcb0fb49c266b37c002a22bcb57a1c38a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 209d2728a6f3c4c952866254ad11c8d93b39e8e88d855682b640ce56b305ba28
MD5 7f0fad84ae5246b3edf26dcdcfc212f4
BLAKE2b-256 76d161901fade43356bac49f4d982645c5ca8556cbb2b3bbb38d1ec4a4c78d6b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3de6cd51b86a2dace62dec1fde02cd931e773902ce4cd3a8af652bfe40896e54
MD5 b6553bd57cd6c7b3355cbccc0bd42f6a
BLAKE2b-256 7050db533723f259d3a90a3b6c3e2b0c26a37c3ede16509948020c8cc8a3dc68

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4fdcebcb05aa06aa2d28b163118ec6aab682abb07271339c01aedc3094be57f9
MD5 7f94e4703fcc27b3654305cf8f585fad
BLAKE2b-256 c1d68ad996c476662441f66cefcf5ce56686c43a9d6c0493605c67ed7704d7f1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9aa17501c7f33c274b337e369566516f4e01cd400cd391e0ef2917cd7b2b434f
MD5 3a5cc792ab866ea33954ba525c5c9287
BLAKE2b-256 2bf07e29ac4669d9a7ce8e180ada882cfe888a9f5e0d7b32e11eb74e1de60b38

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a3b2350be1344e84e53decf5dabb79b45a1e1bcd72fb38640d1ec68d07b3d15a
MD5 3c6ab6b91b307a68a2b505600ad73a2a
BLAKE2b-256 3935b9af9b950d4c413b6bf4278ab2968ab057c6e89098a73322d9a08c13e8d6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a29-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dea95bf3257d04f5c43422f9d17e2726b1710fd8ec43504aff1368ba8dc22ec6
MD5 412dfbd64b740da6143b3e47fdb2c3c7
BLAKE2b-256 50d421fb56ba2b6f497bb3bb1c08f8bab01349385840901dacdb127a691c6085

See more details on using hashes here.

Provenance

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