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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a78.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.0a78.tar.gz
Algorithm Hash digest
SHA256 8a57ce887915bb0843de769b3334899172a8e4468c0d6452aeb9662f3d68133d
MD5 9d70c985d09b7e6b8bd8b6775fd96b9f
BLAKE2b-256 af191529a798a0084d5bc3ad39b6538e20bd7c95ffe9ecc2e8b5f5ae1e427dba

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 eaf59f5b619061eafa4545e66a3df87230ed7d4e3bdc548d6b873710a2c0b274
MD5 d0a29abeefaa8c81740b195f7f2841b4
BLAKE2b-256 523e04d8c6b617db67364ab0a9b14f48c14575f3df8fd2439f915eabd878225d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fb1916e3409f3781983b2d51f2a6f32ebc44d94c4bec6f3727e00b185bc89f05
MD5 43e4d12b2a626338b13ff272dc32c3b1
BLAKE2b-256 31b58d9b73106c2026a2135e619d7d8fb9d94ff9c1a8ea946ad0a07db591cf58

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a29c57bd3752d2a3864cc3b0c9b9b95ef40ea467bae1f80b95d43ac91558ae60
MD5 c78c79d7b591d6b64257ab05681a1158
BLAKE2b-256 81b221dbdb23cfc3f0042d432e851cccaff868b7e55b3288bb6553f8830cc12c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d3b38bb4e271afb6fd9590aa82e517c1ac5e4f5082a33813e05b535a4bcf4b77
MD5 b1cb1d01b83ca81aad117984f1aaffb8
BLAKE2b-256 e5a109c8a7cdb08e2418ad0c1fb23a0cfbaa71b8cd1d792f7547f168cb4c37a8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e239a4f5f9debc95f97a9617fff11e511040036120ce39e428c1202b222bbf0a
MD5 a9e959854821982405aa6103bf67ecf3
BLAKE2b-256 4882a0ed680d3a5f50e97ca90e2d0d49cf1851e4b4b57230891303cb819309b4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bfa692239acd96c0c2250b7a6821f16510a8da5c96a01a6ecb2a8712f22f37bd
MD5 4af808279e89c0966735ffa42deace95
BLAKE2b-256 8bc9f7057199d161e505f701dc11b7ef8883b7dc185bc6da742564f923d6d0b6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 df950939097fe9efa6dabf0815c185ab5a2d8fa8a5e39c88c9ff067a38c4a1cb
MD5 2a2fea875bd354bb3c798d3a50d257eb
BLAKE2b-256 bcc49d2902f393c7806d4c670060ad40a298f52480aa9e4c1164a763eada25d2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a2b8dd7031d7d7266327b796cfb370fbdd7bbb9e15cf6504768e122323811a60
MD5 c8b0432f58308f78575defb6dd6ebf18
BLAKE2b-256 ed31b8f26e7dc27aef5eb95cfe267b0cd7b91d5103a12c7cbb3811295c90930a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 721839d61d61af73ae4976d4f705ee1bc639931aac170d9398318df720f6e8b3
MD5 cbc823b2c87c7a4fd5a7cd7d52d153f2
BLAKE2b-256 e2405fed173f00bd62a83a60df2943bff4b0461c7b02b484099f69f5780c6fbd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a49e85ff29ef5ab10065a6589562ea7d07ae566e39da3f160908677dcf49ecc8
MD5 a92a6cba592da02950e9804ba1e07b58
BLAKE2b-256 39799f9834b2e17864140e1a1e8110089331f88858ea021bf5a19a686f21ba27

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4923ddaf8d107d75bedf5903ff50215262a14e7cdeaff27a4478b5e82d5934dd
MD5 a3f7806c0ad62c4aee36ea2cc2ef2053
BLAKE2b-256 1569e519b8dc9759f3abe786e446532817eb943eaf6aaa6c42bff711273eb9af

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8fbca0c3eed481e3d0941c4816a505c536c162888d9dde9482bc32972644fc7c
MD5 dad29651c65b0275f620fa555432bee6
BLAKE2b-256 e958b195836d74ee3649696aa4b88e3f05630f9201a3ff21f27bb38117e41c29

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e776cbaf74041710c1b42222ab4f33f649413e44f10d3c9199b088b921238d44
MD5 e66a76691952b03d03cfde0f408d38eb
BLAKE2b-256 c69c6e10889dafc9610ee257aff06231cfdb516754e60319f1f0356237dd3de7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c4ed15b2d32e28c54efc20bcec612e1248576c097d0598415e728aacb8048171
MD5 16bf96cb18b89f6ae2f5899ed33ade55
BLAKE2b-256 6e75d316dd5b408c8d5ba0dc1035807de0e1f571e2971faa632090bf3a3caccc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b4239bae77fd505fae9c2b27f5335c2b42458f13164ca1a5966bbd2036da8017
MD5 a8b2c81ef4877db4af1e87cc9c9ec88d
BLAKE2b-256 b6b2fc141f37901c4e8bbf043e30c6e746a4d9bba617f567fe173c768f466e38

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 506292a2ccf25d5e06a97ca15baccf3b52b348e37e9b784b6a1acb45a0f70d22
MD5 6f2146fdce431137022ba95eea58cc26
BLAKE2b-256 8c5af89854eb1794b8567fe2a73f2d49caee594d23675a092f9daa3dd485ac48

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3e27f44de7fafddecb7b8d918ea1e369940b97ff154944910ed89dbaa94959ad
MD5 e655d51380c82e0fc2202172608ff43e
BLAKE2b-256 50c3b61715129caf1c25c06f5a25736e6c018b4410126ecacf8e7cc9898a9798

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f15b0de625d5a0a57be2168b585b0175a6b9055ca6025bcbc4307988939a5e89
MD5 3931965de3941100d5dcf9b9a58d3a99
BLAKE2b-256 d5acbf849539f6a693d6ad3c0a91f9426abbe06b600a29d3790c5f3e430d779c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8763981d031c395d4f29eab15ae7bad58d58914cac2d361418d530b27a5c66b4
MD5 9c139e5a026d496821d6398bfa6d773d
BLAKE2b-256 17b44a6b8f1d0bfe864194e4b2a8711b65080e444e712fbe6e347eb3308a4d4d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 60eb05099f0f31c906e66ce7bfa68943dad7c59d3449061b15866d6dcc09628e
MD5 f3a679f54d4332e7ceb1dc5feaaf9c83
BLAKE2b-256 10608910211f2b081df3d1b282fa8171b2a6ce242376a77e083742c22d4c4049

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a1ca86dfc7de4fa0c8153cbe06b3efb6107d1c8c3eac979a8ec91ad789ea8ddb
MD5 4a3b7558be5fb160c5363b687d829bd5
BLAKE2b-256 7f5ae71f2e6f635b75c75b2c28d3e083249096ffcff37b0cc01fd822738de427

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b655cab99ef383dfddf3a59d1cf648fd0e41e474c7c37288fba72af73e29323
MD5 bd4f47bdd32abf448222a48245a1f440
BLAKE2b-256 eaf00101c7e5083e8ae614cc34196c77db8dbbb8cdf8b06678960006d7073b96

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 52bfacd701920237ee9f8927e7e130abd22f22aecf4c20b57e448185287afc54
MD5 895751381affb86f72cf7c37498681b9
BLAKE2b-256 ca4096157c49c6ff3303290e85537b6aaf9a4af924403f6f350cd3d2a6f3c4e3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a78-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e07ab0926a2a5db4c5406bedc58200dcb245fbb2567dc842a8f9f2147fabc771
MD5 4d10729d9c040b948f86c92ebf6f5ba4
BLAKE2b-256 18038643c28393b30ba8aeca8709aa96ac37920baf1315f579abf80ba13f6f4e

See more details on using hashes here.

Provenance

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