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.0a66.tar.gz (5.8 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.0a66-cp313-cp313-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a66.tar.gz
  • Upload date:
  • Size: 5.8 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.0a66.tar.gz
Algorithm Hash digest
SHA256 9c3eed9f779acdee629a518e5d3d357a84000e122d04f6da050ce71a111cceaf
MD5 4f4e5e144342923d98d53148e5c3bb15
BLAKE2b-256 2ee4fbaa3b6d6c3ea11810d117384333ecb0d971acdb5ead9e410f0c0a748962

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 15534aa18fa4717aba11b135d3e36e0d0962eccdf9d9ee1110b0f4e2ae7f23f9
MD5 b9cc9aa50d357e859776165d81c01e8b
BLAKE2b-256 83d924036fad6cba2d62eb2bb9d0ce192ed500cb7a7286fed5d3943ffd9bfb60

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2c71b1cf4e49b0fe4316c935ed22f60b5914156ddb407d891990d5d86ad27aae
MD5 903ab3661b5ac7af82b957761822f506
BLAKE2b-256 1e35343a4893d0960ba22607e2cb34fcaad36c03efb4955a7412684906cc6231

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ccd8bda7679f2f4bc76181a2a5e6a5e20be065c2a8d0c10a7e2e3e44a5031137
MD5 16008a830e13a00d3195e9db929642ec
BLAKE2b-256 526a50378eabc92428e96e7706a927a9583ac658c83090948fe339be2748d487

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 205b12745bfc81155dc85fa01e39a33a690b1a7d1609f63fb14e4e70322f9e0e
MD5 39676341b2ed7490878eabad982f8eb4
BLAKE2b-256 85e2429f8c384422a733a73ef284288d9e379641cb0bdf4d129a626503dda9b3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 71d242278a7adf8236349c48fa18511bf4fa1323f6f146d6fc5c0f67560574ed
MD5 a879b03859fdf9dbbb053a09bb1d8c2f
BLAKE2b-256 6f70e7062b0842170598f8ed4e1a6881c9f92a762e455b51c71fdd7f72d12e05

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 18de427f204a4bb0a1c89f18b4c9f25f233c7f3f1c37d5c0eb3164f76cbb3b16
MD5 9b5be0ccfb41fd8ed1c476e9f5cdf949
BLAKE2b-256 2f0433cbfdc3a40a84fb79728087d17d5eef4f707dabff70121dc921b5353794

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d91913e5cbd419b5356d4dc850adae622078c3b1bf1e12d08059815e893d7839
MD5 ed6ba7c5f00799ccee448a4261207f85
BLAKE2b-256 e9c6a29b4c3c0939b40447e277ec2b9f8a63064a28bd2cf5b36de8a5a8f398e9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8cdd5a43ac9d707dae0cc7b139b9cbf5eca35a4f957718f6c8b8de1a48e7c253
MD5 8bf469dbe2b2921f9bd7b7699d6a9f37
BLAKE2b-256 97e1382eb77c7525b43d66de01a2a3fce29e24fda35da214635e7ca0f990ee07

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b93316b8d52899678d1cc1d5d44e908d9ddc44b43baf96f030ed4bcc2be7dd72
MD5 a75e3408689530ce6d1a4ad71b0385cd
BLAKE2b-256 a560ee504187980ca55a2727d058c5c6829afdda745664de3385398ca33d6084

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 009708505f7a4255c4f6f746f0f128c224fc99632b59ab3b38aa4f7ca0d3692c
MD5 a111bfea010534dd9dc4eab9c97e6961
BLAKE2b-256 49c1087069377c43f6413a71b7969c43e2008cf909eb0104d38fab17d33f08c0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bac62d8f787b1f0e47d74a8f751832232cfe4c2de958d6e8e73286b1602ef3a9
MD5 72b146d43fa2f6ee253265bf61932c88
BLAKE2b-256 ba03ad187ca2f6ff27782e0d482405ac67687766eb92141d6a7ada4c9a9876f7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c95468ce113950fc0b8eed508817acc318ebeaffd62e6f7cb69391bf5984e507
MD5 404ac6386cf235e36c4f6d54ae7d4fbd
BLAKE2b-256 df38a56ea89f59e7dbd2a889dccb8c52039e8cdcf95236b96b99c6fcb896bde6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 243ccc73333b066382b43ca71abc80126f48a84a8ae51da22e8f5969d6969cd7
MD5 f780923984232081399bd23f8217b220
BLAKE2b-256 f17d6b072be3b732547fddea7e9b3650d094a99214e49723a46fd08020945ff0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5fe8282ccaf28e58a7404b7696206e7047e1f8286894b98a045284c1d13e13f0
MD5 4fde8839ff690692e0c83855ea2fe4c5
BLAKE2b-256 03fb72f75de67e1ff336d923301858ace5b69a162c7964c79cf57bc749843e41

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 669b1f52fea2fc8a9ed4bd62cdcd46c58a7535b7cb746fd6f4ec5a28c3700ce4
MD5 a6dba4bc710c00fbb2a5607150385399
BLAKE2b-256 c8fdf960b9409daea6f2ab8ff426c0959910a993547f9ab44a1964d36b8ae6e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5ab2a75c6a9b45291973837209c09aa65048f86595b99aa957d7366dbc90efd7
MD5 e0d177211550c8b0918cf70a998bc156
BLAKE2b-256 94e392a18f20262d51a1ddda0554dcaffc16abb8820c3fea01afbc299544f9f9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 807318a97954f0fbccf0fecf2b88b4ad3ea568da9c6f7195db9ddc7e12223626
MD5 c4e81ab45daa3e2ee1348c56292ea9f4
BLAKE2b-256 8cc49533898f1f76ec501b54f98bfb37de1bfb0a53017818a81b5a5f0a92a88e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fbae72b0b72486bfb40d4dcaa7ea4f310f4bb75d762389499597d520661555b0
MD5 63d33729ed1f31ae5163ab37b86232a5
BLAKE2b-256 b3d1fee49c7973fa9bbbf8b94687f90a55463f87922b3dcdfdd6e1aa423a0321

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8fd19f6dc634421b578de15adc1a4a7135e68c41271eb54956f550fd0c7c5f28
MD5 75f8a5dff3ec2d3a17f520bb7f402bb9
BLAKE2b-256 3c3bcf568f130066603615655268afc81516c3543bafa0bbd5bee79604352d78

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5eb33537853108cc7c60c2c53e4f81431d673c25da453e2e23ff410892476389
MD5 75f285b57c469ecaa14155f508f248c0
BLAKE2b-256 6f93065abc91d1f90d6b556d41878e877d8678a92da853a31578bbc8ac872bc8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c6ee6cb1f372ff60f8a1d07309e5b4babc5d71b6a83c73b9e61b4f6feb34ddce
MD5 e7904a3f2adc7db8fb234c6e70e3d1a5
BLAKE2b-256 c13cd0f3735acaf5b80f51812f2fc69ebd184a52fc31adb6e7c5b184a9ae3c14

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 72df0ea0d14e3a9e92abeb5b1fd6e35c0256e52fc790d883d4fea188b332b107
MD5 ce6407c334344f818b3c0083716d03b2
BLAKE2b-256 8e7cf6cb221e53119ad783f1f7ef9a259a25f9ee19d20724705c29a991af7f5a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 609c3b134050d48287d302434c822fb3246e530170d535fc9dafc1e9dfaace5c
MD5 4acdde0acec6aab7a14ada7fac622e5b
BLAKE2b-256 3a1e76ec988cffb83e70324c09b95c56bdb22d682b538d881c49eb7a016d0941

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a66-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 701a4fafdb39bb23360241dc0b545e1eaa185ba58a40b71369b335c569bd5289
MD5 8f6f6beb585f09b2b6df53dcff7bde37
BLAKE2b-256 3b38f3e2a58fbae98cdef7a7a3ef42b5cd5e511a04f065495aa68f68235f315f

See more details on using hashes here.

Provenance

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