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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a62.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.0a62.tar.gz
Algorithm Hash digest
SHA256 dcceca47c447228013e9c0415b73c0f0a42e1f805d825b5dbc6e2fb183b97ffa
MD5 94cc13aae6948fb36f605c81441d8b5d
BLAKE2b-256 db67e17eb19567f6a4426137eb0aa034976d12bf629a017406d9ef0c51e61968

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 792c6fd7d9a4b06d218f87e917244029adfb5ac98125fb088580c8f752f4fb96
MD5 cfb49ad4a810bfa2b9d53d0ec7e06375
BLAKE2b-256 e0b27bcd72a9ee1b4d9e520979457093b31af6c387324757c7d9f6d46164dfff

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c3248bc127d366d74c408dc654eebc2c3dd7af05e80172362c71a3c9a29537de
MD5 bc8079faee7d698cba4fd97c2a19e122
BLAKE2b-256 ac40c17eaea29237a4b28109ba067299efa6dcef090c402326362e55f0bc7be9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 83b339e226e245d14bddb2179456e72901ef1b79a4f1a166d236fd69521cbfc5
MD5 3c9c3d70dc53da091e1a3403938bda7e
BLAKE2b-256 fa7c7f05828d6c982b4e21a141c82e4a49e0e581acd00f0ebd85eb33e9e3ea86

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 399ba5a7566809441c05e1fadc7c17b2c6dc0fb1a8c38e59e201c267a91c3517
MD5 ddefd4bde4b0d83c480a0d536a8eeb91
BLAKE2b-256 a03a1c9d84a5e408467584efb3df1e409ed40c8cae98b7c4e1037b2ae0966a01

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 359ef0497693b7f535dbf1d5e4fee23b21b352c3fe59969298ee5c94b68bd2be
MD5 7243a5ecc227b8cc9fbc60bb1d53ef16
BLAKE2b-256 06e933daa3b9c735ef889523b0026b0a485a85a2c893c326d1ecad427ff995f9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ab4db3d26fe865eb9770e7f614ad5e4bf1c4011f633d0f1d0eecd81652e7d210
MD5 d4e80d34d6dc419ecac8fecbbada23ff
BLAKE2b-256 60ea7387feebef6cfa4e5d0a06a34e209be1cb6535e1881152452aa3a7120ad6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 82110d5e06c7ca14172287e996369b34078350d52d36ee2b9952612b9708e63b
MD5 511c29e90a72d739ee3a154ceb13c915
BLAKE2b-256 be67c45bff1ccc432ebdbe44feb8189e0d2cb6d964d63812d3512a0f3da0e364

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 79135a885007f6d6487a13acc91bcdca78c72ac260806a56806794aa880af22d
MD5 1c9ca8404361206062ffb1658cc0730a
BLAKE2b-256 391695e14d54b45a61cdcf89ec03213cfc741d0d3b0d9b47791e8d385cd106a4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bbdc8fab7fb4ee9e95a5ca18703e74dbcf87aa5bb63b40f53b54bf0a94c7882b
MD5 0b3dcaa6b0cf8d36babc49e2d3f9b044
BLAKE2b-256 c310d71f572741eef9999d653a4bfcca312ebe2e7c959df822be98a3be42e77b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ea72fc38edfe19bc94225ca7c24011f3e5108d9f988e12ae77a3e7d7075cdf09
MD5 b98cf4292e4777a3642cd033f5a00f17
BLAKE2b-256 33639df7a80d2699041e6ede30146428aae4514edecf770d96cf8d48857f9edf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ce9a663a35d9a5a7711ab41fedf8cb5871acc2d7c11b3b50d4fb7b0ba77b9927
MD5 b9d7f6fb8d7216c49aab3919c2f5be4a
BLAKE2b-256 3e138fa73c794cd4cbb554ce956c026ce129b6100609059a7232936ca7eca7f5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ad901757c597c650bfe4a408b3e55764d0569cff6c01fdff06a038b72b4e2385
MD5 387df5888443d6720893f4e0f8cba120
BLAKE2b-256 6948ed8b622daef01db090a85177ef381fd169e52d280f24222378e93f3a3c18

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 24da5159fbbd1a9b24e0dcd716ea0de33fcb9fbb77dd514c432d279160490180
MD5 de8dd08d835c5949a834e6ad0bdaf5a5
BLAKE2b-256 6a08c4acd443940abe3b41c959246df594ac0f7aa442fc4d54bec318d5034221

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9db7c87fc4cfea89d040a97788f66157de5f152446f68f95d4abbf0b9cd77dc9
MD5 f744ec961f9e27ef2df905dbc417a15a
BLAKE2b-256 aedcebf97d661600d2f6d0c9e326c6e67f627ce56a61c3f0e5ed32841626f4d3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 62b11865e868115120eba15dbd3e4627bb5fd3e064e7a58ac23177df1fa25e06
MD5 052645036bb90886a56adbbe813bd81d
BLAKE2b-256 4386ead99993516ee8b6e90099fe29b31a9b988fad95572655a8e56738c7d0d2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ddc1e5d355b3da87900d950d3665d645ee2cddec20dec5e94c9a22d3ce937cc7
MD5 a6f32d377d498688ea8f91d2ad943f51
BLAKE2b-256 03b789531b725c116dc3c5e56f7ecc118131b29af15708e3305308803ff4b818

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c65e278c35a10c204eea1f38009088a011d1723e91419321fc21e2c2a192dc24
MD5 435fc7725075aeeca247391c5bc28f2f
BLAKE2b-256 814ae54e43eafc588a0791009352ba52aacbbb786a04c0f627e1b4d3b7952fbd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c6d64c17093ebdb090cfcbf8a72c01005e8e4a42b958c2e97767cd1360e48cc6
MD5 aaacbdb3c733df5afc08f1c365786396
BLAKE2b-256 0bfb3e45cc7b0dad5ba0bff4ec3c7ecca3f8c0ee81bfb00228a8a53c5e691d0f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 055cab10cba9b155e4b8c96ff4540a629b7e0c786f132b2512b02fe87b72ca6f
MD5 df251fae70b3b765a0db1b414c5ccb3d
BLAKE2b-256 c053fd48a738a9eb63de5ff880f7de0bed421afea74cb4bfd6dbe2e52c414556

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 339c5c6051c92125d03b28a6a5015b48c53f080b91ace2ff956f055abe70b945
MD5 aa1c85ddb8e52285bd20a6f8121ef823
BLAKE2b-256 63d3de7282edd3663a2d882b0e5f6aad4590119f3efc92516156d90656ecdbdd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9b2ec9ed7c712f748403471fc3ac7bf4b1d4cedb5f5384a31b15b9ac2499629d
MD5 88c40ea4ab166201ee11fafae27d7bf6
BLAKE2b-256 f86b54199c97ab0b9e07b2c1f69a37094e56270fac8ca7dc7a60374360d4e39c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 614b5c4d29a2b9f8e0c36d73f76ea00cb3daef0ed7799816126a96f45c3af69a
MD5 284a59d96cbce774cdd0ed72e27a3924
BLAKE2b-256 606ba528517bc4176544d41209797434aa61461c3bcb47556eb0811a9f8d7531

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 de816d1b266b3ad5d3c117b3e84ccd0acaa4d0be5dada41cd8bfb95448be7e1a
MD5 b4e054688ba46ec5f13ca4931053ab33
BLAKE2b-256 930332c5fd47b03c15e615adcabfc84cf421c3ebf1ca52d3d7eb6f4d19bb048a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a62-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5eb983dedc91c8549009c6501bfdd65a19a4b1bc9072e4344d3e60ad24fd292f
MD5 3702c2ab003922adc69280fa5c1282e6
BLAKE2b-256 55f5c9a343cfc479d721ae0bacb1133f6d1072c501336cd352b50bf4c2d9be67

See more details on using hashes here.

Provenance

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