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

Uploaded CPython 3.13Windows x86-64

secantusdb-0.3.0a56-cp313-cp313-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a56-cp313-cp313-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a56-cp313-cp313-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

secantusdb-0.3.0a56-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12Windows x86-64

secantusdb-0.3.0a56-cp312-cp312-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a56-cp312-cp312-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a56-cp312-cp312-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

secantusdb-0.3.0a56-cp311-cp311-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11Windows x86-64

secantusdb-0.3.0a56-cp311-cp311-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a56-cp311-cp311-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a56-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

secantusdb-0.3.0a56-cp310-cp310-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10Windows x86-64

secantusdb-0.3.0a56-cp310-cp310-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a56-cp310-cp310-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a56.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.0a56.tar.gz
Algorithm Hash digest
SHA256 84e91d701322f8e97e1d9854b37ae3892fd16f29c6b4089c05413479715c4895
MD5 2914f4362a9460f15602af83e7794e86
BLAKE2b-256 5ae820b802039d7bf79d69406800858025cb67068d9fe2b8eba050c066253cbe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 cb8da8887585450a81b7222d7f4110379b5a26929dcb3fb111fc3fa2c6854f18
MD5 066f8b1be6de7796974e8e5be13b95ab
BLAKE2b-256 65056cf036c0cfbd920c80e34295eaad25c578335faf433e73c3331942e6a12d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 78b62f75097c99176880ed15e82dea3352155e999c5ff3a5e0421090388c41d4
MD5 aac614cdd34fc38a26bc2abb8aa4a2fe
BLAKE2b-256 b171a9c91421a9a24e74d8c15f8a3d3fb5549e238829fe4f57693fa15069ba70

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c3708768aecbfab59501e90dc4718d67d1153b57442f5cf0595c5686f547dafd
MD5 7068b4be753d1502d3f32783d44c5a84
BLAKE2b-256 90f262b2d7c09ab08e2f1591a19ea31b3e1a62f7604e14fd5671572a82f1d283

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c4eee265c64307f75b8241c2957c7baa526da7d80c8b39813d132d8cbcf0eb13
MD5 ed4d2f134e878f8c5cebb224de6ea215
BLAKE2b-256 ce70417ce5a2dc263a2c6eaf247c1466298f90fbd33b1df581bcf1a9eefa24c3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 905d6d3c2cf6a8a7b2c79fbc4e451405da0a076cf6c640220902650dde775959
MD5 d255c19e2ce6e2eb31d4becb779a0033
BLAKE2b-256 66c6a223ff9b5f35664497ea7a0f84df989e4dedbc275b1d8904222b7c6abe30

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 86c0b66e2315c20305add014b553c156388446c950db2056c3ec5658e77f9376
MD5 4a2bd7aeeb8090809839615f318d5f59
BLAKE2b-256 4159a758bca255c44cb1f3baf2c26d083347d5a721b2141dce26775ea04aa2ac

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5ff00b80fdaca6637453a007d4239160ab7109c127356015581a506c47a4f13d
MD5 850bfd342a37b815585d2f5821e4752f
BLAKE2b-256 196794e48945593439530221937001a7c174f1a4441c2b40208dfdf30dc68d1a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 610f0766b9b6cb1c5f8873dadb3c83c12f75e40fd457aa509d12030c668e40e8
MD5 ede2facf082dbf0ee185f3f26ba19e86
BLAKE2b-256 8e432eef40ed3d2d5ef14893a3d04f1db9507ae1512fd3e66cd91e7def7ac07d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 076a9c3ac50439a6c5eb7d07dd4049b1c16c8b1ac2a1f9c6231c96cd3c892eab
MD5 b96a99817c67f0b589064f5e2d9a5859
BLAKE2b-256 52ac3dd34ea74490f5610fe8630b5f2d01dee402366b05bb7c5f808060fb48a1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d42bc6ba6e58957d493ef4f7b34ece9b20d0c45b1ddf0ecce7c43ef50a58f129
MD5 b93bdb5bd5f0ff64ce70920dad66945f
BLAKE2b-256 f4eb27b53555d3ba72b766dc60ab0cbf75204910a761501895d42ae921ba7090

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 43ec57c6fe84f2386116efa9e8a319fd687bf4ab74b40494489fabfc3eae9b98
MD5 65d71943aae4103eccc4dca8f3b60b66
BLAKE2b-256 b9807fe46f8966df7a3c06fa91f818bce42f1203654ad21e4a127ad8a643962e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a66f3e5b870f2cca6424d50498bb176a7acdf9c276cc1cac37db374dff3e0772
MD5 423a3243dd96b30cab8b0297a0a172a1
BLAKE2b-256 387cab8f2f51289a9eab0394c9a1aba187aa4109b2f05a1992be238f55c0967b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fd72abd90f6380440c98b017de5b76fed0faf082f52e065cd5b6c2bbaccbe173
MD5 dbeaca01a5f416217bae070950c9d8b8
BLAKE2b-256 4e60d1285d562640f59cf2bff06ffbcdd10cf3d690256cfc963fa890f51f1c3e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 aceb98ceafaf4b06e760e25dc3410a27983dec16dcc9a028ce74a59376ea0b2f
MD5 0224347db7d158278eba553081a598c4
BLAKE2b-256 1035b1057eb26c2999307c6529ae31bce7401926093f5d48c477dae2e0e0bb9a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b06251bdf3f5ef3807b7f2b74fb8436712bb849afd3762651de28ca5a583f765
MD5 eba093c94fee75bea5c9ebc4df2d38dd
BLAKE2b-256 501389a2b72d913b2e5a8ebc0247e42bd1ad881498480af480974e20435ad74f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fd18ca24615c2b8561fdc1ad41c47746abdf74db8a99eb66d4ec7f0568de3ee1
MD5 666c6097ce9400690ae8ead7c5851a21
BLAKE2b-256 9897ace09358b7d0d70d63f69a0fa2153b79610505af171857c354bf41d7371a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 379a6a511610e4f4673c25d25a3af6fda378fc3824d1e0645b8d73103fa8a7e2
MD5 c8d63f44198cd40a80f2c6d61ec5c702
BLAKE2b-256 6d3aa7bf2e6e8b8bd30a7d877f45baa8b4d4ddba735025664e0f08c97ebee286

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e217a48251620e0abcc52f4b892a6496afec1ca17e2e3511ffef2ea383ef343c
MD5 cef44338d65f9e8e8fc02c1e88db1475
BLAKE2b-256 d1d48889fda953973200b8ce22c3294e93f7ccb61396097f08981a4edd56d127

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c37898a55a48efff7f3f589fdbd524bef93938dfe7668591cc589c99e4b1e782
MD5 df3bc367bba77dd635971314981b0339
BLAKE2b-256 5012f1e9ae5d714c1e01287aea6bef0556834ac77fa0302ac165bdf6df0693e7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 315dbeee548bb17343d97c0df6e8001e0df748a9226d95e8ee84ea8a925ff74e
MD5 a85a1c02336fc2e21ad9284277c37699
BLAKE2b-256 edca0ad91f97b97cb403053b3ee0b4f02611abe758b345fa7111956625251dd9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8786b380caba45b196b43643055a951c547fe363b233a3bab1cc4adf3645d59a
MD5 a0e2d8f88509c22001c06643deeddbee
BLAKE2b-256 a435a00e79ac2ddd836d866ba409932e6aab5169f465faf96c84f9f1dc07ea39

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b7dd1f38f2dae14c054672308a1748a1138af0c7ddb8881d71328a832c4a8c5e
MD5 dc44147e69e97812e968a2fcbb03e713
BLAKE2b-256 b60e6d5ac239e4dd90543b50af2e7edb88cf173e097d3ab5a38c2cc73428f616

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4e3e3d1004b61f5eb2443b598f6b26da38a649d9573c015e0d60baf5b5f227cc
MD5 10ee7f037e22eb793aaf73c90310c89b
BLAKE2b-256 548f354821148505321304a8f9567f6ccaed587d190cf51cdbb4af759c5c01c8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a56-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 07570b34f5060e61601e09a2bf30b38b744a35decce1cfa70fbd6c39fc51d04a
MD5 a9f669bf36f547bd9f3ca7c660a3c855
BLAKE2b-256 c306ffc7b4abeb2603198cedb9c201d46fe64858f66f219979568cec301e3a61

See more details on using hashes here.

Provenance

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