Skip to main content

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

Project description

SecantusDB — the SQLite of document databases

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 Python API surface (CLI flags, public class signatures) is still settling and may shift between point releases. The on-disk format is WiredTiger's — the same engine MongoDB uses — and the schema we layer on top (collection / index / oplog tables) has been stable across releases; the test suite runs against real on-disk WiredTiger storage and the persistence tests explicitly verify close-and-reopen round-trips. That said, we don't yet ship a migration tool or a formal compatibility guarantee, so please don't put production data here yet — production deployments that need durable data across upgrades should still run a real mongod.

Drop-in MongoDB for single-node applications. SecantusDB is a real MongoDB server written in Python: it speaks the MongoDB wire protocol on the same TCP socket a mongod would, so any standard MongoDB driver or tool — pymongo, mongo-go-driver, mongosh, mongodump / mongorestore — connects unchanged. Point a MongoClient at it and your application code doesn't know the difference, as long as the application only needs single-node behaviour. No mongod to install, no port conflicts, parallel-test friendly, embedded or as a standalone daemon (secantusdb).

Single-node only by design: replica sets, sharding, and anything that depends on real cluster topology are out of scope. Within that single-node scope, SecantusDB is the database your driver thinks it's talking to — same handshake, same wire frames, same error codes.

from pymongo import MongoClient
from secantus import SecantusDBServer

# On-disk by default at ./secantus-data; pass storage_path=":memory:" for ephemeral.
with SecantusDBServer(port=27017) as server:
    client = MongoClient(server.uri)
    db = client["mydb"]
    db["users"].insert_one({"_id": 1, "name": "Joe"})
    assert db["users"].find_one({"_id": 1})["name"] == "Joe"

Storage engine

SecantusDB uses the same WiredTiger C library mongod ships — vendored at vendor/wiredtiger/ (mongodb-7.0.33), built from source into the wheel, called via WT's official Python SWIG bindings. There is no Python re-implementation of the storage engine: B-trees, page eviction, write-ahead logging, durability, on-disk format are all pure WiredTiger. Your data lives on the same battle-tested engine mongod uses.

That doesn't make SecantusDB as fast as mongod — the layers above storage (command dispatch, query planner, aggregation pipeline) are Python, and a like-for-like benchmark currently has SecantusDB ~8×–46× slower per operation than mongod. CRUD reads sit near the lower end of that; bulk update / delete and aggregation sit at the upper end where Python loop overhead dominates. See docs/benchmark.md for current numbers and methodology. The right use is tests, dev, embedded apps, and single-node prototypes where conformance + WT durability matter more than per-op latency.

What's in scope

Everything a single-node application needs from the wire — the handshake (hello / isMaster / ping / buildInfo / ...), CRUD (insert / find / update / delete / findAndModify / count / drop), cursors with getMore / killCursors, aggregation pipelines and the expression language they need, and change streams (single-node, oplog-backed; collection / db / cluster scope; resume tokens; fullDocument: "updateLookup"; pre-images via fullDocumentBeforeChange; blocking awaitData getMore). All backed by a real query planner with index acceleration — single-field, compound, mixed-direction, partial, TTL, sort — proper explain output (IXSCAN vs COLLSCAN), and a hash-join $lookup.

Authentication: SCRAM-SHA-256 — MongoDB's default since 4.0 — is implemented end-to-end on the wire. Off by default; flip on with secantusdb --auth (or SecantusDBServer(..., require_auth=True)), provision users with createUser, then connect with the standard MongoClient(uri, username=, password=) shape. See Authentication. Authorization (RBAC), x509, LDAP, Kerberos, and TLS are not implemented — an authenticated principal is currently treated as fully privileged.

What's out of scope: real replica sets, sharding, RBAC, x509 / LDAP / Kerberos auth, TLS, text / wildcard indexes, $where, real transaction rollback. If you need those, run a real mongod. Geo support ($geoWithin / $geoIntersects / $near / $nearSphere, $geoNear, 2dsphere and 2d indexes) is in scope and shipped.

Installation

pip install SecantusDB

Pre-built wheels are published for CPython 3.10, 3.11, 3.12, and 3.13 on:

  • macOS arm64 (Apple Silicon)
  • Linux x86_64 and aarch64 (manylinux2014 / glibc, and musllinux_1_2 / Alpine)
  • Windows AMD64

macOS Intel (x86_64) is not in the wheel matrix; use a from-source install if you need it.

WiredTiger is vendored inside the wheel — no separate package, no compile step, no system build tools required.

Building from source (unsupported platforms only)

If your platform isn't in the matrix above, pip install SecantusDB falls back to the sdist and compiles WiredTiger from source. That needs three native build tools on PATH:

  • cmake (>= 3.21)
  • ninja
  • swig (>= 4.0)
Platform Install prerequisites
macOS (Homebrew) brew install cmake ninja swig
Debian/Ubuntu sudo apt-get install -y cmake ninja-build swig
Fedora/RHEL sudo dnf install -y cmake ninja-build swig
Alpine apk add --no-cache cmake ninja swig build-base

See Installation for dev-install instructions.

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


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

secantusdb-0.3.0a77.tar.gz (5.9 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.0a77-cp313-cp313-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.13Windows x86-64

secantusdb-0.3.0a77-cp313-cp313-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a77-cp313-cp313-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a77-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a77-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a77-cp313-cp313-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

secantusdb-0.3.0a77-cp312-cp312-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.12Windows x86-64

secantusdb-0.3.0a77-cp312-cp312-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a77-cp312-cp312-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a77-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a77-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a77-cp312-cp312-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

secantusdb-0.3.0a77-cp311-cp311-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.11Windows x86-64

secantusdb-0.3.0a77-cp311-cp311-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a77-cp311-cp311-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a77-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a77-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a77-cp311-cp311-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

secantusdb-0.3.0a77-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10Windows x86-64

secantusdb-0.3.0a77-cp310-cp310-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a77-cp310-cp310-musllinux_1_2_aarch64.whl (1.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a77-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a77-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a77-cp310-cp310-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file secantusdb-0.3.0a77.tar.gz.

File metadata

  • Download URL: secantusdb-0.3.0a77.tar.gz
  • Upload date:
  • Size: 5.9 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.0a77.tar.gz
Algorithm Hash digest
SHA256 0e82492b7daa90cfb404d342b02e64892a9e115a54eedc279059b13b6f40b6c3
MD5 ed8a27a1f657e4bcb7c94fba78fe806a
BLAKE2b-256 d0a040c98e4af864787c4045c54909f201f4131a4ff7093a9a734a300f1f58f0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6abe9e49e8521c0bfa07fc1b0980ea15883d0b115e1fe59818a7e81df530c162
MD5 0e1a752a77e7450c2d277a56563ef531
BLAKE2b-256 4056e47f7b06c4e6d9d1993444b5f3adb831e6e417f4ad0173170903fb7b137a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9334aaa4774e7bdfe7edbdc68250a4c04053218b78c3af9efbfd2947bda6e793
MD5 f51f1b6bff2ed7a821a4241a84428f2c
BLAKE2b-256 c664b9186208a1c87cb05e7d595749e8932a1397cae45957a30960c00725e43c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 49141ebc0b032ba9ec7740311e13bd95ade47d4183a4dda8d927579e138c0291
MD5 7693a85e64cc6b4acf39b90a23f70f5b
BLAKE2b-256 38d421a5cbe20246a6db83a201647ae211df5b08ac65d555c4581db53d30eb0c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d285726ec851411e4c837c4b4df6c72101533f8198c934516f0aba83d2d57dc
MD5 87bcae9b08b08bd7a63f9b94026f7ad1
BLAKE2b-256 87c3851fe29d833d45117bc2f3025ae9cd364ca9e1cf1fcfb2596966eed3f5c3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dda581673ce040fa4b8e6a2f6f371139592bf0131a6cb141f402c1bc558d49f4
MD5 39e244e4ccb5606c43fa3e0b95a40949
BLAKE2b-256 09b298eb308e7ec41e2dbc032464c7fcf14465ec5906e6ecb9e622045fb6d941

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1c4c55a4d41e7bb4df8b5617173de1c93175fb05ba37bc8d7ee665f6f76d0337
MD5 bd90b2321e9bd7e63c28241a5e1cd828
BLAKE2b-256 101aa45352ccd9f5b2bb3cb1fb61983cca356a4da86fb3fe9973b85a98b5a02d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d53a6d72e6c3c4c73563b10e50cd81167e540a7ad9a250f186bd2a259fd22916
MD5 bf738eacfea41b1ed21b7066f76968fb
BLAKE2b-256 4ed76f24f079a4276aa225cc8a9e4114d1405c9e91d902ed8f6046cd2c4ec463

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f5fcc863b0ad91c38baee49572e94d85894fdff59664ba36942a40df8400685d
MD5 07ef4fa68b64c292ed9c774f6ae0278e
BLAKE2b-256 f050efbc540bb2e64d009eb4737b1d1f9db9ef53321a65cc5507d09303f43798

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6c35bdf1dbfd0f19703b026cc6ebed009b160fed0b86c5e09877ac0ba0813641
MD5 dede1b049d0ff20c72b386940e99b341
BLAKE2b-256 abc9e3a16df5b69799f314cdc4c732b926235c306c4aa8052b1c939e9c55108a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2b3ce142631306a5f7571202a6ea27761dac1dbbb24c7b38f4d339c104700676
MD5 58b74ce7d07d8fa84bab81111b0c718e
BLAKE2b-256 b911b34d10302653d079b1cbd1ee1988329e9171f325b1a043f8cc3d33a3852c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1595b90ba4edc8dc63daa631a72d4093bb8e1a9e61079ad145b397eb2cf014fb
MD5 bd05fca606b183787e31fb38de5796f9
BLAKE2b-256 59efdb0a1ba7bca9eb165aae90079db7231b886f50e99e634e141358b07675bf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e5f86be95c2477aff8efdc156d928bf8cee274ac6a7c612aa90bcce5cd031148
MD5 d36f917ccc32c23bc0fdf3de7af6582c
BLAKE2b-256 c4190e2ec035380a82293260357c10eb11759e59f65790d360117049f5cd621e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e41e6f11dc3c6c2d65df14a247babf8c59810d53f2c66dedbea53a28c81ede82
MD5 8df511fb6e37b8e4c592eda494b59490
BLAKE2b-256 4ae850796ca3732a4246c03074f006e92163816c2c5745c240db4f850551e589

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9c17d7ba0520b5799ec209b8e0e5bf84a77adc03ee2389c32b34cf5d3823ccaa
MD5 ff9ba110f0f991a345c5045015d32cbc
BLAKE2b-256 371a4db80db6e6d0d21ebb811763d78907d79f215cddd1148133bb9278f8f067

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e1f99834d839f5f895c5628903a480b73a7cf66fc70f4462902255b04c0fab0c
MD5 3d0b254571ee463938a4b62f7a47334f
BLAKE2b-256 091076fc5697ff2d7c69483054fe69cf589c55e279d8b42e0de00959c61d26d0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 db745f18473b352f10eff2b47ab3fe90a2d73a14414a8ecae38cbed992d1784a
MD5 75de3fe11ff19cefe9301787956afcaf
BLAKE2b-256 5de89b2fc8d63b642afe445f1f3265f0fc13dc15651bd1d5a37d148b33c38aba

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 379078e63726d8b38f011453fd5a5a3538519ac7a12152c4b88f32bd336b2b04
MD5 be8595a03e3db8a81752cd0cb70ad58c
BLAKE2b-256 20e11a02f7a34c61f92008fe221123297e0876f7dc8433fa2cb939985eaf0167

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 80405254ca97938c3b4ea74014f6955d14ecf8958b8f4d1b401a12f0751e0cf1
MD5 ec5dbd8ffeb8b85ebac45332ba0f2729
BLAKE2b-256 2e6f55d36ec7f4ab36a93e12d3b5fbf219736994f5e79a2605a852c07793a828

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fea1602a5db14bc24b3aeb5b6b3799a29983b768d5ddae8573a408dedbefa3dd
MD5 69930f79d725214a1d99db490bdb55cc
BLAKE2b-256 cbcfe8ab51fe24acf54d88bec57e858bacef2dc5c953725574d13fc77cd68c27

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f79124360a9325c3054cf8cf62f0026b2c2c98ab28f796a2e22d852b0ef30146
MD5 8c58ab842309202e09c6a4a5d42d0f10
BLAKE2b-256 1e91d53a5277ae121dc728169c2d009e78b6c96353cb2f2c7b0c21e2b85f1bc6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 855dbead02a1762ecbd3eab91e7e1ac16f9f0ef6cc0f7fdf2b3ead4a01be2dd8
MD5 2ea3b06290e4b645bc7fc378a484e7e5
BLAKE2b-256 e590b708449f392ccb6bba02f0bab2571d0b9cef79756e151f8fdc67e38b2d07

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 00e4da1cd65c08ff2caaddf6a94982c805ad5d656da1c74e97d628bf6b55c1b5
MD5 e231e3f1ef1bb1b16c027bd30cba6b74
BLAKE2b-256 b2824d6ea29a296f1a9de33de10e18c66ae336e9910389f620a399bbb8ce558b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fdf2bb13d37adb1db0ba77e9917ae2288ca3b9f16a4c68de9b211dc4dc3cd528
MD5 c02de138e5f0763f23b547c559942143
BLAKE2b-256 43f7469a2c8140275873ef1b7f4ff668c49236f0440d95bf3662147a7a04d171

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a77-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f670d203722cc57db0e88588add0a43d4b77dcd87fd3638d2d474ee9d8557130
MD5 48898ce00657a2fc242772bc57aaacaa
BLAKE2b-256 12d25cf56d7fa38d4ca08a8e727e7dd11e039948cdf50644f6b41d16beefbcc5

See more details on using hashes here.

Provenance

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