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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a72.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.0a72.tar.gz
Algorithm Hash digest
SHA256 cdc0cb05342d870a9e433d401e8c7d37c4564dfd50c2b3e5bc33dd128c840ef0
MD5 706fdba9519eb7aa01a3cc87d09d75cb
BLAKE2b-256 9b27ff74c6f473cb16adecabf9ce257b69ebab11499624b100781676d3051445

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c0ae520773dbdf37e5cbf1aed46b34401868996d3e0b73df4c6ac1fb48d04eb5
MD5 398819a3f03f904e17331cadb2351409
BLAKE2b-256 3d8a9bd08db34f8a17cac68972eea8b1c65768fb9f75747262ce384824fda5e1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6b0e9dc003c605ccc33df67134aa25536a48d221ec6fd7bd4c9d5920981f90b3
MD5 8d0ec1190cfec55e7721e2f61b6ee645
BLAKE2b-256 93f41d09ff8026e8190d34f504577115b18d727c458298d10db5f06716bceaaf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 60c7287be0ddede7bca82dafab2a909bef229a8172eadebad30ba26b8c445711
MD5 7d5fcf853b29f2bd2480f3add6357a04
BLAKE2b-256 c763d4b59fbf132d929931ad378f116e2b5ed690f1cafa1c91eb15f12d7f2565

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a5ed264932e23d29643e04364651bd27ac7a49f6311ef8dfa33d2c4ae5472028
MD5 1611e1859a6fd31949c6256296edb971
BLAKE2b-256 bbb6438b78ab7d59680478a8b13a0f90e2bc5a4b3bc39bf4323e952ad8eb0df1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 795fa0c3d68a13a7343f7f11c1c2cbd0346f72a53b4bcd2af201e09d9f1b8518
MD5 a5d4295f2198a977f7d6936cae46109a
BLAKE2b-256 6fc64607f9bdb310667adecabc61f34d79a84b2a84b337fab3a58dac968ae833

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4a1eb5fc45a487095c7ade8eff8cc21cfcdfd0145ea3e884e218c646bd358cbc
MD5 c6df1335f0b9de2a6006b226986b7723
BLAKE2b-256 1f5bb91fb297269b255899887f180eb62c27630844dfadb2a492d304c6a92d80

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1f350fa56801a29748a39530813ba5ca4c84246652b699e03cd8055210d0a803
MD5 3f8ba18297c3272857cd01bae2ffa1ea
BLAKE2b-256 d6b14037ca7157ab20f6960e983774ca78d8dd72e35f7de3de70ae1cf2eaa624

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 05989964a3233b7193b5480b941dc0f15c728414a61e046e3aabdaff6d247dce
MD5 8996ad550838fc3eafa1d8d192b89f81
BLAKE2b-256 5360a23f0a29a2b72c8585be056ce32afc58ecbac27d39997bdfe3be772a560d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 26389b040ff94dc87d3c491256750932af0ff6f0171ca4d0687246fea11b29da
MD5 a0b72619713f3d811668e05be203a28f
BLAKE2b-256 822ccc7bfc667cf061e492d2a401e2cefe2e380a6724a3c81e9763ffb6271147

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9392b5fc1fdc7769f4ba4c154ba4c951721ec3ef2db397e54e1c4017a17f92ad
MD5 e4a9e03bdf2458da43a82636e172a0d1
BLAKE2b-256 dd290484a9126f95d244ef66c5b5d867f8456231565e9a5ad199350e975331e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cc852145b26724c8fb9197efadaf7d2c66ddf936cf9d1b2f74a70532b7688d91
MD5 e2fe6d3feb5c41884b9bb3b76944b588
BLAKE2b-256 675c0d4d33e447b26dcc0b696c9883145d8f60efd5db450dd48638948d2d8afe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6308802e01940b7a3c1d4bf20e21e20d6f1c0e61dd820c64fbeb60db0a8ac2f1
MD5 9f8012e695dda1bc3f3fdde320be243f
BLAKE2b-256 507ad3c7c825eb1d2ea46f3f178778cbb68578fef2b290aa4f2297eac57eb001

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fa2a88014c1fd9325fe3d35373acfe1c392d21e2c198b73186afdaa39aa1be2f
MD5 5155709198ac418b5f37b31235a6c226
BLAKE2b-256 e9b4e0814f80a605a3ae1cbf0ccfcc8b909373d3bbdfd4fadd940b52e468e8b6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ccd6b4b2d61b07e259f4f1f478b9d13904515447f723208882feaf89ac7e2813
MD5 ef3de069891754c4186c9bb17cfee5c5
BLAKE2b-256 de77606d8af9b1d8e02ff0541404eb53a80a1552601caf4c4024766537fd4f1a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a71a1ad7c27c7a94fc488c4615ff95a43397661cd7c5775f8de6192feb796598
MD5 cdfb2357d15cc93604da572ed5c07f26
BLAKE2b-256 e6be5e94f54530ac99861458e1bd9ab7c3267f4b741641b29aaf15016f9ef4f2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4ac0ba2d3add723b58e1d4ff2ae716b27542921dfda8de4dc0a83f0a3490f095
MD5 dcbb7e679c276aed0f5c2031a38747a7
BLAKE2b-256 3652bcf0fdb78128fe45bca549efa8d375027bed41cfa004fff32604fb239be9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5e5acb1ef8e88f02134d88a7c26870e8c2e1a233008b9eaa07c6034805f36f8a
MD5 8fa977441186d3e6ed71a7725e0c28ea
BLAKE2b-256 25511e62d6f24cae449e6e40594f94371976e4504ec5b79e147248b444de164c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9087eeb48ce06d0bb6f29f3ac3ee94e2573be4c82e386680f73bc0d446b732d5
MD5 92073cc50b7cec8e1c4f5c40bbe386c0
BLAKE2b-256 2e728211914bb3aadce777e7c2816efa6963b01d56402663e49ecc33acbd8882

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2216543a444828fbfadc2ff4558b73f9d14715faffd1883bed3cf3732c8b0b39
MD5 12ddf04efb01e011d9c00581533f2fa8
BLAKE2b-256 3dd3eca61d9233723c67825eb471af3f1bc91cfd8145575a5bea951cdef3683c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2ced3379d49644a8f6c3eec97a1d790bfb775252191a5fb1330cc4a6eb3fa5bd
MD5 98dda1cd4f3a499931e081d0ebe46aec
BLAKE2b-256 6e2e28232a8315123504c9d305dc0b83b78be0a87e9405b0be52a6acdb033c95

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 107316056bafc010eae1eb3ce9810d4f93bb8b90535629f9488aa6bdf1d73970
MD5 f7f529956c19a3df05056d0541dd9622
BLAKE2b-256 f74a85ba07fe27a177886140eb3c6f12b263563392d7357286ca155308a4b0b9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 58eaf3eb6b5a209949b762d1f56957c985b786c69d9224f6b135e6df521fd480
MD5 e77d95cc724688f5006a024638aa526d
BLAKE2b-256 7ca9ab550e92f767a4e8cd9fe35ff6429d7a7e7df556d520b0eae21442d24c37

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b97156a2138e167f9fc3652e66af52f447a74e3e144e55399769f17b4b24cce2
MD5 f91d2d072e815eb6c45ca10e2d0b878f
BLAKE2b-256 332ed530068a3de818204ac09e805c94a9a8843f1c5bcffdf9d01d8520cc2161

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a72-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 100bfd9d2404edc1c988d08e9ead75e7b936ed44200742c6d3783c3f5134644f
MD5 525306a50bc02fdc52b90c4c647332b0
BLAKE2b-256 9dd0ce388105f8f8187b43c1191e8451c91ff7651b91d7b908d5c09c511adbc4

See more details on using hashes here.

Provenance

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