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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a22.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.0a22.tar.gz
Algorithm Hash digest
SHA256 1c5e14b2890293366fc2c0ab96ad8ac1c861f5d13569a3f3d2c385cf28193799
MD5 278c49d20a416579f279dbaed96b9ee1
BLAKE2b-256 d71cdd5a8cc5bfae72feed41b6f4d3e34a367b47273eee8ff841ffbab7349b64

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f65f7643e27e8c44d12f073289d23581c0c0ec9d8a477f6d116d75f5bca08458
MD5 648ca6ffd34072d9ab7d7729c214c218
BLAKE2b-256 9638b9dd0a4695d30065a845390bded196d7b86980a6bd31bc4a9e6db510a63f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d10b4d0cfc21c4e2981291a88f4205674c09aee3455349cbc4c6b23e74aed820
MD5 87bdee58036d68a9dbf741c5dd653bce
BLAKE2b-256 28ee3dcec650de311050925dc1099b910de5fd16ae6875f71942e61d48aa9f59

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4c8d221fd148358507a5b29ff263f712b09bda14a2ff792dd3447d53a6c0534f
MD5 4c56789636ddd49c48dd667bd7e775a0
BLAKE2b-256 80acf6e678fbfda8e03f461ad296efa5b43bec12b68732f76f51f947ae32d433

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bbe8e29c7b9cffbdf23ba04b8cc8352ff46a5bf38ca9b47746bc9ae33fbee222
MD5 a41a7c4ecb838e03e6fb8e608c85208e
BLAKE2b-256 2160765febfd26e0b41d3817c7cc1344a483375e7332387ca85b47ed31471582

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 48a83649080c1dcdedc7d41c3ef257896086a2af76a9d416ac0a1d373cb310d5
MD5 b98e8df84f05640cf2a7c8136a05fe06
BLAKE2b-256 34e4952c24c9c69e0e6e8c9c3dc5643bbdb6a9aa748910710b25b5c58a657c81

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8605fdc13d198c324efbdd709a3ce0e34d1a99c85c8292e1778b128b777b6511
MD5 229aaad60b985dfd8c99a8a4a8df4964
BLAKE2b-256 d69bbc8e364bb3cd12aa18de04b93b06c4b2cbd8c0a84ea13f532f596f50b36b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7a0e5eee828e3030921e9cdc92c1af57431b0cca35f008e1eb0ae2285c0c3922
MD5 59b4a462fdef85464dc1974608344379
BLAKE2b-256 15fb151eef3570a0be868909466fdd5ec1a03fd7ec1eafece87bd2dbcdabf55a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 634a66dee38aefccb1e96144535fae32f40f05d3f3d46c5dce406d51225abbfe
MD5 8e6d7a8666ec71f53ecea7478e9ce569
BLAKE2b-256 7f08a2dfa0e25449b86489856cba86f2936297b22a03ff204e7f90232ae50652

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c77d12dbfbfe9d3e3fcbcf5be4c4eca4adf0405accba786cc7d4e5292cb4743b
MD5 0c974c4780d21dc2098353a780b4df4a
BLAKE2b-256 00d6365dafe0e828c29ab2a27c5062befa57c76ecaf0b7ac57931c0b6d459cce

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b8df7e0d057f6ba03c52d7565bdc688a4ac9dd477d7995b8c8af7c4cfa666ed
MD5 63d00cd94271fdfc47de38ded06f9e19
BLAKE2b-256 fad205f02b732d89dc07ce308ec90ffdbfa816e5b6c8e2d78dd1c923ccf96702

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4d9070f888b4ba31ade886191d68106ff8594146303ce922c87b5473d7509571
MD5 188f58854f61c56c4236a7297921a37a
BLAKE2b-256 138dfba05abf971c57d22ab40f7eb8d51833f642dadbaab1090e5d76506007ea

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 36fa83e0275ef41a53cdb4eb74e497bc983e3772e1ebedb192045087ade0adfc
MD5 de239c4be4b2d02e5f5263d56a9fc215
BLAKE2b-256 c7110a0baa1b8bacfe5451a76d0c83dd8ad7e3ba2cf96605d3d7113dea5afdf6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 52524d97b9fb6751a9a3c8c99ecb418e5408334a179d797e1cf129154584d8ec
MD5 e185115c2c2ea3f585e047f38f4dc1f9
BLAKE2b-256 db6467cc3af9220387bac95a4c99f7f40f3bd38bb3fb2e577440c5196d2ffe26

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4f6695e1bab3322448a1666c57ee826b1f1e0a0d716df2fe7ddbdf6c0f1e9004
MD5 c57c02cc81611d40bb0a08461cb22a8d
BLAKE2b-256 c9e9eed6e119752755de71ece14dc7b33671f11f255ba1ab0b8e617d23d55a57

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1092f6413b936d235ea7d80f2fb6ddf7e0aacb66c371a20aea5f4b2b224becc8
MD5 00715439f6f71f42f200ce8e58fc56ac
BLAKE2b-256 6a2ac708ec7c40a3a3c1e64cccce0521223997378c53adaca0c1623dd7d1c776

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fbdf60622d70154cff3fd038315bbc6cb67a38bd363697446f258f88aa7ca264
MD5 d8de6f2a8c2ace4a99cb33ad53a47307
BLAKE2b-256 caeea69cc294b82e0c8b9f36540b15506fec026c7fcdc6be7ce91ff9fa773d53

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 234bc799f3f58248318e2c087480a27bccb67a3a4403b8ead7bd616daf8899a9
MD5 46b009ed488391a3f5aebe52f9c19fe7
BLAKE2b-256 369f476c3eff648aea3ec2423a11e7b06c5dd4471c36b2eb9fed587120cc8692

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 719fc4d241477f8d72c751a00f57678c9f11f1135cee2bd00a5c1016008cbb37
MD5 d8df374f768858ffa1c10da31a11c93f
BLAKE2b-256 f6d9d631f76bc20d3be7597fd0f862a1dc10559da1eb12e80df6278020ad8510

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b9c2942d61568814a1040be1ba8240e236c652ce844b99ed95ca22cd7107464d
MD5 e572ff01985fe7e95dac963d133d9c69
BLAKE2b-256 c8755880ef6212d3696c40e0afc49b217f20e42fc866cef83aa19af183c23326

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a2cca62a3934d65023ff045983786791d6f5dad3c7446be579e28fd63717157e
MD5 cf98102f64c472efbbe944662909a4dd
BLAKE2b-256 e590a31b8db582a63bf10e68f6b947804bd6feaf42be81043440b0d63441877e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5ebdef1885dd52230c6340f7b2b03e34d0a9c9d9870809a2f8be94db8dad75c6
MD5 54d20d90a5a6cada02910542dd589587
BLAKE2b-256 2d0761abf6e191cdb6143d6c01429affc8b73e938ae0cebbddd91353af71d692

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c1f87185c7a4864821c5e47b4ae3bd41608edc48dbdc3eed2662c078b29ea3f9
MD5 b6247b2779acad7275dfaed33e31cfcf
BLAKE2b-256 2f4acb11957c2cb9372eed1cffad1110617e1e52883d2c2689ba9c59fe6ea7e9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3b364e293c0683162d7498888aac3b8f479484fb19663f78acecd3137e7b6ad1
MD5 51008dfd97901a42ca03a572476bb31a
BLAKE2b-256 62170fe72cf1a06a42fe1ee8dee1bdef4a86d366471d19af2ff10be0dbcf4821

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a22-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 939ed04b11c370c0948a75d1cb2139337478cd7e9d8bd0fefe85410c09fcdaf8
MD5 44f547004160773a0eaa867447310746
BLAKE2b-256 d5198c3987f74a7992fc27b360d86667220e491a32a5b89e2798b39241701988

See more details on using hashes here.

Provenance

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