Skip to main content

A drop-in single-node MongoDB server in Python using the WiredTiger storage engine

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.0a52.tar.gz (5.6 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

secantusdb-0.3.0a52-cp313-cp313-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.13Windows x86-64

secantusdb-0.3.0a52-cp313-cp313-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a52-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a52-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

secantusdb-0.3.0a52-cp312-cp312-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a52-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a52-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

secantusdb-0.3.0a52-cp311-cp311-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a52-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a52-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

secantusdb-0.3.0a52-cp310-cp310-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a52-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a52-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a52-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file secantusdb-0.3.0a52.tar.gz.

File metadata

  • Download URL: secantusdb-0.3.0a52.tar.gz
  • Upload date:
  • Size: 5.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for secantusdb-0.3.0a52.tar.gz
Algorithm Hash digest
SHA256 013bb08bb2e414a48d5b63975e8bd43138e2a1ace22876b2a9a16f18c611d310
MD5 723056c84cda884063696c7215838251
BLAKE2b-256 bfaf38ba4e1ec95af2f0ce2246563f6c5cbdd4d4b8031d6fd9e35dc3b80e7eed

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7cbc19dfca3c7a744423439a86b5b5bd756973a46647ecb7a5b7adef87c3a29d
MD5 5fd456cac580b85a743dcb95d7a3e295
BLAKE2b-256 fa63b3f51882303db172d41937b7cb046828cb151d9f8fbcfd1960bf79a44d0b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 03ded3d6bfb41d43d6cf8bd0e497d066d110386dc078f7486d1e703bade5c402
MD5 57e152d7e6676893aa9d44ec215a9ad7
BLAKE2b-256 c6c04916cdd57f3e959df1fc0daa50209acde110aeb36c06e802d751775c6f73

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e55668e8a18d2b7da60525e465ee4781d8661fed69c3871880ac65cc558978d6
MD5 b8f22504edc5298ede9efd5394840309
BLAKE2b-256 ebe6aab07b69636df0973fb3d495f53b634434672b5ed45868f246c652f43f2d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 01791e62827def72068000f4773ca8cdd61ab2607d28ecf3351fa12a3ace31b2
MD5 62b47da62ddd416b0a48111dc2320096
BLAKE2b-256 84811fcac9af3a78dca07d5e8c87390d0a7289fa7b9fbee6b581ce8e551664c7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3c499eae4deb8e83ce0564c90fe8c24e0112beca7e672e9c3da7dd110107a1a0
MD5 4ea117c6aa75c364ad854e28919dccb2
BLAKE2b-256 9ca389e72a3efb3f0361448dd5db66c200101f93491aa9abe571007702ccaf8a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f4b2fb83a09e0da6bd954fe6f20e384843f6479a3724d9195b094e8d61b3ccd4
MD5 77c043eac2ac64d4f89548614ec6ba14
BLAKE2b-256 7ca3af771e2e5e096fff014b14fed00937345dd61b45b6608f12dc8bc6d6274c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3f2a065e146c605e310f6bf1353a5d706ec68502c9be94c08cee7125c9a7db05
MD5 d31ce7032cd68ed761749713a7cd7a23
BLAKE2b-256 e4958f01217a51c17f6d6af2c2078319ecfe47c6eab159d20f323209b86e70a6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c1644a0b869b08333764ce57503b4f037d2703b77c626577f4492b0ba227fb62
MD5 14967ccd951de7b79994ddae995d9c0a
BLAKE2b-256 e55178fba5f755c1c088a122af949d971317e8eef9c9b2a7b747f63f8b7e144a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7ad17ef16470ebdf6ae2db05ee65ca130c8239c061addb31ed7178c8839aa9eb
MD5 c099b64204ff248eebb982004198048f
BLAKE2b-256 4acb6818eaa4c00b2102690f89de498ec0f3111ec6ce09cb075707b3c7d94766

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aecb987f519868fb095e19f9f26e6e5e04f052194914e6a98fa0c0e3d88bc4ea
MD5 9f9766dc640fd3ad370cd1c1c8090e3f
BLAKE2b-256 bcf7a8762527fa418a87116dc986b0e6db9166221f15255c1ca10a7e8a56dd69

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f6d3b74150e3949b039e627b3056eac480a77a69a2402634ab87ed22c6ff629e
MD5 ab85786ffc3d237335d29a915ae120e6
BLAKE2b-256 ab7d33d53ad30c091828001f6d5ae1f1819bfed49c112b6a41f12c0b53956ea3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ecc3691ab358dad61488b6409d49b07dd26af258c6a9261e816f7d54530872a3
MD5 9c0140db7976c2ae37b207375cd04d85
BLAKE2b-256 c53aa6991bbefc16be08ec126a11a68b66984a7736b4e2549a546fe3b666e148

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 85d207f6d29460336863ad398508b6000aae542a68a8eb4b9462cb2fca0641c5
MD5 0bf35fc6c76947bdb20a3df5a51e94c5
BLAKE2b-256 968b9aecb6c0498fbbb6b195a79dd4beeed62721504da76df83c69c44ba923ee

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 33f772c32a924282727afc28e944dd27c1fdc94a39ebcbbdba3b2f386baa2bf1
MD5 b3e23dd5e81d6b1c1f411fe935ea6f24
BLAKE2b-256 645886d67befe8d190b45cfdcc56c4a86f44552c901f3a69e3b2fd7db85aa683

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 443f5e4afdcd072456fd496100d95c220fdff1d64972cb88fe47b941b1356609
MD5 c3fecc685997dc2f573b5c04acac937b
BLAKE2b-256 4458614a496c8bc00fa52b3cee71e0982bffd12d8ea22abf3330e615b037c1ac

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 26efa7794c841135ea7e44a60d8fc080078561b8ba069e62e7714908162ace8d
MD5 5cda79c1c8b9aa1af1ac77497a604b20
BLAKE2b-256 6310ba5b2c6a6a0c4641e3f67f401d7aa1778657dccd09d79d79e44c2a4d5faa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 de991a0dcaf81a6db0dfdbe5b4387624e5514a8bd4c18c48d93f26496da25138
MD5 f69cc0715c8ce5207a0a0591c1d9e362
BLAKE2b-256 5471ba3b387e65578f224b5cdcfceceedca6ff5bc0bbf7d979cd29ffdde451ba

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d134c65b3ef498eb9469c141899757798db52adf3354960ccae1aa009e967e3b
MD5 5951579c4f92535f66bd93131a6f3d44
BLAKE2b-256 68b9c2f480ff89be49e48ffabaa9611273f49a67b2220ff6dd31148fcca14459

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c2bff3f4bd36550da669d5f7f1716f71bfdfd95309b579cb28571e550de3edd9
MD5 cb3e1514f7f15f5535687b06a39eda0a
BLAKE2b-256 de8ee7159218362f5e990b308a07249f63b9b0dd3917e9f1bbbb8b0631699053

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 64c26e32b83fef0b5d9efd93cc38b8ccb77d37d436706e41aac76ca4c4ea0027
MD5 59eef96f9dd0fcaf3ea7384f76ccfd12
BLAKE2b-256 cc350213ba5e788fa1b653fb6d4d9e7158775072a6146f8ddc7e82d75aeb8931

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a81e6dd325d93c054f1538e1823279ec4dce5b692e4aa6a826849bc452658891
MD5 06efd0be21c85dd3c892b2f2e41a2a18
BLAKE2b-256 ac586d1dc63579d14c42b53abcc82368de8256abe4713c94911ac54107050809

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 573e135bf94c5f117d435b3880ae45e2896f7da3c36ab18792fe78da6508bb76
MD5 bb2a71dff4ff8b30abdb3c286264b71b
BLAKE2b-256 2b0a15860c4c0cfad5056c7cb491cbb443424978ad97951b857d0f067cbca632

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7bd958d22bf76076ecde2483a7c574f344a16e5e3e7e0e409ad8b8694de8c323
MD5 5a87bb53cbe74275d011aeeac0b971a2
BLAKE2b-256 da378eff9ae4e97dd705a68cb41db5f57cc2113786889f71499a0c2274eac94a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a52-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0e08035e79204f6aaa543f9599f246a632a68a719f0372bdc5e7c5b11dcb9656
MD5 7f6b6865b253b3567d80194ac4bad1eb
BLAKE2b-256 d520d20c6e8336c831b3bb6fe8800b832881196e578a47233087d326c459df0a

See more details on using hashes here.

Provenance

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