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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a71.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.0a71.tar.gz
Algorithm Hash digest
SHA256 4d23b52fb6120b8f3dd629914d41bb61ba50e02b772cf4df37fab1a4daf9165b
MD5 d4eae0718f37a0f7029110c8101975b4
BLAKE2b-256 057fe77d3e478de0f6e5bf5b4ed8df9d24a6f28fd0b27493009b9fe49508299a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 37abbcd643f2497f0d8f4b45a70cf988c0455d15fd6c6486c4b70e7bf3fc71ec
MD5 058540991bb5890c8d881a8bb8787704
BLAKE2b-256 91bf0b67d704bcc78b26170a4773640e43b3cf0dbfbd87f08b8b530388c17f49

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f3c1da7066e2864aac0c64c7f9fd88b862c301b1a7659c931ff68abf5a203bbb
MD5 e320411234f27077e46a330265a336c8
BLAKE2b-256 e8bd29c062aded9053db9f17cc353d64a7ecc4eaa98e82604b692590a6469cdc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 15af109c55cfc9f05ac1c542f92dd66c063edb72ee48e515cb3b9b0169d5d5e9
MD5 05145b5bc264906a0672da8b810a76aa
BLAKE2b-256 72ac8afcab38f262dd458dca169535b7d24c41f7afb7d21e36282b4aac0e8b51

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e7472ef5e1ee9ff425a504f9ddde57b13f48c845ec02ac83ce2a1d84ca92c63a
MD5 d0906722b0857ea6d47c76f029892453
BLAKE2b-256 59fdfa76dc0a88bbba106a897c1051ffe923b0b4c3ae7f22944759f04ace294b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d966b940e59474acbd4e847e812e94249f459368563683323f869b8b2211f4ff
MD5 8b8474ab02fd3c19a08287b811cd3898
BLAKE2b-256 8185cd9119e361f6d032f7d37107cf75003c3565f3abd76d26441f94f3428b13

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8b5c9d4fd27060923ebf332076320d1a4868006be6fed9592f21447da5d22e92
MD5 559985ed4873e1bddb7fab75a183a5d8
BLAKE2b-256 e4248ef058690d3d5b6e2f8e235898f31c36998ee884df1c9944e68cd3231995

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b346e26d23e7a6150bcb83dd9d594f6f3318ef29a9c99141e4233145208988fc
MD5 71386bafca35ef614d846d3a0a63acc5
BLAKE2b-256 1b9f09583078b5a767e316a05735534a32c8957dc8cfe285cc2fd08954f2091d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 187aee07a9ae09435afbe334c9f5702a82e16efeb91422c6943118ec6b50b77b
MD5 ff28e0c8c44f9577fd330a3eb59ecea5
BLAKE2b-256 49e68683e0e8ea7fe1c1eb2445ea27cd3512b7742dd86e9d34f5e6b1675ac442

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 42e0d9d3ff1467ab8f60503761f3ccfb34dac9c21bb6ef52148864e06d676714
MD5 52257f244605512b1bede1cc6dc59139
BLAKE2b-256 67a5bbca4e616586acc81135a42e379b7655da25aadc1279fe63215e3335c936

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 31973e650d394091ad9c1822051cb4419631ac4bea995cb819a4a3a95f15f566
MD5 625eab9e73c807d447657384b774bdf1
BLAKE2b-256 87c48dcea57bbba186789ca01dc3e29731878d9c5d085c63e722fd5f3ee653a5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fe66ebb2ea3d176196d792fb5e5fe676439853e80b727a6516ba34657eb13bdd
MD5 6a3ccb6b2fdb7d79253129e36d486717
BLAKE2b-256 f25e0d0b93f922523f4b56112989b21a90cd54cd30cb03704e6e3098e3bc3c8f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 228d88806f3f81f96ba726d0e61bb9c463e724c1f40395b44efa15f25b8f1c25
MD5 bcc049a83a759b3bbf525d7c6663d04e
BLAKE2b-256 ad506fa2b60fafe1b85c6823cc377c62e761916b12f6541a08ad56154f118637

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 877f67068c86c23cdb0c1632f61c9a9d8da15f9edc3f5576593dad9ef660c582
MD5 5bbbddcbe18edc318330c6a348bad7b1
BLAKE2b-256 c43472d3bf8cf8b334f40f86c435f631726df87336ac13d7f5d272c6f9c599d8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b5f306d68c1ffc4186ab885636f34ae1130969e2a886076990032537b05551ad
MD5 d550c17afe2233603f53a90d895e246b
BLAKE2b-256 72e9f9c36b8d3c96b56a59a11f6926a9239cab2f2dcf1078b590baff24f667f6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 445a86e86f7be65f85de2e2daeec1f3a4a5264ee0140a221928a2f2053be2722
MD5 196f55abfffde97b9706b3964a48e63e
BLAKE2b-256 91a6a7e1713718cb3ece7df106557c921cbe948c6ddb4665a0e2edeb81706ba9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fcb6631e2639a72f0c54bf6c16dba7c98a32e6ca0562b0b577aea5b8ae8b472b
MD5 41a1874de24e7245225c762eb09d8634
BLAKE2b-256 7467fcfde3dfb469d833b227668b3293bdf3e45a99fbbe4f73b7dd50d8142e57

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 50c37fef1925554f6e0e1dfa86564e12a5632a39e2e25e53a5e128e041164926
MD5 f61f3c2b3bd19393bb2f7210586022cc
BLAKE2b-256 30271f9ea42233dee1e36fad4d0f534c5efc475836f4835d96c8fe403275f796

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c562eec4730262205eb637fea9757bf1f7a790730a0d5fd90d4040ee75684c06
MD5 4dfcc53e968ba82395a7746041c39e85
BLAKE2b-256 5e5984797604f9c12add89df0aaf81285c2cdbfd8ef78e0b0e2d438f233b936b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d6df6ebe42b2582298a26a8f2830cfdf7fc593336edcbc6c786660e30b1ebaee
MD5 1740307845e9240d262b33a1835c7262
BLAKE2b-256 c320466e28cdb7e3cbb56ac8a663ce2e8cdf4b03af5bcdbe9a414c49bf1e36b1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 866553c19508d6fd1a13c507dcf8a341b6f1b458e6da47ec27469dff05ab4418
MD5 ab6fd276ae1ec9650e247ac62b4a0be1
BLAKE2b-256 222d079eea914c21bfd1d185c941d964905692e6fde38da36edfd902e8cc852e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 606419bba13ed7db3b76e61960f99f2504cafef1a371c9890024faca6887c005
MD5 3f0a7ed348ffc77e3e439fb0ac924639
BLAKE2b-256 9f16bfdeed4e88937624d4442f9083322fc35cf9c23f7252892299889876bb54

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 26d34e8eb823c6bf7f5f63273cdd134a9fb10a199bc7356ac267578c81f36b40
MD5 88c609c5c29f4bdfd1c7d6371ff18463
BLAKE2b-256 c11e6ea32d97cf132a11f171769c800eb0143f1cecc985dc8ab3ce669411f855

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4042e6821ae8d6cc84578e63ed78c6f9c9aa2d42fce7eb02a42249958ec10dd8
MD5 8afc2f2bbfa403fd3abc6cd330b8d146
BLAKE2b-256 2d53756b47693d31bde163df4a23e49b159b99879a6b214e281c1d911ddcfaab

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a71-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f8cb091ed2e3165cac95780f64461992aa283ef1f8278944298b32d75fd54fe5
MD5 78bd29e7c74c75ddc722f426da35fd14
BLAKE2b-256 1456a35713bc7bbe6f1f6955ab4635a2b17934226dd42e37683d9d0e9c4e0368

See more details on using hashes here.

Provenance

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