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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

secantusdb-0.3.0a48-cp312-cp312-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

secantusdb-0.3.0a48-cp311-cp311-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

secantusdb-0.3.0a48-cp310-cp310-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a48.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.0a48.tar.gz
Algorithm Hash digest
SHA256 968539ef694a8bc5c5d3128270de936300fc32e9df4432dae6aa5c1f230d8f0e
MD5 c1d9afa333f6c4744df8fcabac999627
BLAKE2b-256 1dbaae66dc0418c7effb0788a3eb0298703a17a54d9d746290f5f43ac980f229

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 020bc7951589e8f03054d20adf563f0f284f7452c8ca54b0eaad3be37e1ebc46
MD5 dd11715d5965377011c33f5ff019ddc4
BLAKE2b-256 bde0504a591038ef1fbaf6ed7cdebdd773f63bc5d82430da28281bad874b0272

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 accd0b72bbc899d508dd237ea4f7d6d3292ea3eff61f65a479e79a10cbc0956e
MD5 56176ce319d7ce9f16764f28c767401d
BLAKE2b-256 4b5119d5a6434d8dabeddf4441d01a7ea52a59aaf70f7f1d6d41b24a6aa4dfe7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a8b737f0c978f0e9d9a91f28eed54ccf6d9ea5d70bffb79ebcdc232c905908c4
MD5 f301025ddb9b9e4b0dbc001fd762622c
BLAKE2b-256 3fde8d93be0b0a2986d861a5011bad174b1f4d240fd5a18e972c0c4672509d31

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f5c86fafdd02e538de07bd3e10b0d94fc1a9307f6958863234a97d91a945542d
MD5 baa8bd20f1b0b88b31521598e8174969
BLAKE2b-256 db2cfc5548efab863178a4ff0186fc822c9a06f2fd892770099762ee8b4187d0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f1162677ba24e74d479a123f2f403d860e126da3fc1b6412a20a98630c329b1d
MD5 05a22ae2ce7534c874c7b88ec7cd2fbd
BLAKE2b-256 9cb4756f3995f6f7a41e63cb5cebfa5913bb2405c3cb5b0f11ba935fc46c65c9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2102f4e30cc8e11807e8fa0c3220129560b087638b04c35fb7b674d69bd3a008
MD5 dc7d1b25f827e548e676f3a55f330ec7
BLAKE2b-256 28b50c7aff1181994a8ae7720437b9d8d0c009a2b6d7b89e07a98fef9c90d3e2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a04932e0bce42e31a5aad6a7f2802eb42a04ad3248d1cb8221e0f344c6ddecf4
MD5 d4e2ed4ee95d0643456e3a1052d35dbf
BLAKE2b-256 16f57492d558b8c405757f87a1ef1cf62d14dff788784ef571c50ac240cae125

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 73d145391539dff0f874a535b2e424094e88bbc4e593fe8634d3f0fb18700cd3
MD5 fb247a11ccc12d1fcbb1cc2474451a4b
BLAKE2b-256 4b47ae77d33d4a56f447bf9e94650eb0a04628a756bb1bfb61ea37e6f1ec11a5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1ce0969040a2a1e4c5b27983867d9ee7465bcea51805d0b54694c3360efbf345
MD5 1cb3bab612036faa671484cf0e5fc1d7
BLAKE2b-256 3bfd449f752b95dbd8b27588ae690f16e70cd84f6dba0ee675e5a4653cd16b6d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7d8d76f6123938c03c9568c0567fc41776f278a7c46df85ec55cb02deacf9f29
MD5 6133a14c45e6b4a4a402baa4e97a8cb1
BLAKE2b-256 6cd1b03be13b1fcf587cfe33d28afab92972f1092b09613e608d64a42bf4d447

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 862e1a5e3fa1a8b349c3a60b3f288a52086cfe5d799f05267f8a1412cd0eefc3
MD5 0e99eb8fdf7f6254b5fecdab6a106573
BLAKE2b-256 59d56e721c9cefc2565422ac224a6e05ffbd78a0862db13434b0918046877c42

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a2519e4f14bf0f0cdf5d34a4b9f93bd70b104736f38269827b4a8f47d6f49fd2
MD5 0a79ed932191ab896b21068baa25a8ac
BLAKE2b-256 18928b7aac3012dbc950371e6779a0103637a743b0fa815eca77c1b15eb263da

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d1918c5525c0904fad3cffa4044699f836acd6f3b5d69c20e17d457c51025e8d
MD5 c7ab1a2efd2edb152715f2741b529d81
BLAKE2b-256 6c0bc5d87901ff0b09594a55b3a6604d187bf3df3df209209868f17211d953d7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 24b10b37526392530e62ef3f924b20b72671906d1cea7e838b97da910f6e441e
MD5 dae1084ae476975801c039012d054412
BLAKE2b-256 3238f0886f3a3ab1c538ab82795f82dad38cace790d52599b4f277400aaabd48

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e9d14597c3544bdc6053ddd5aa71211ded004b48a3dea65d778e9629ea80603b
MD5 29284d7524e456aa9e330c8d387fe6ea
BLAKE2b-256 5f94da341bc8aeaaef66e12d0b32e3d54980a77cae3c4373d2d0a26aaa6f8f25

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af87af30362d20430ba34992b14504d5c59395a1429c7ccf77b0a359f81ae9d3
MD5 bc5d7d88bb058b774c3dffe7a0e15f3b
BLAKE2b-256 0cc3417212d6c6e3509c834770e24ecce150e532f69d95bf19f455cc8fac967d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 43b17119f7de01b9f86ba23725859a766d022d6b3494df9c7962862019e38858
MD5 2fba3f26cc5339003b65387cd86a7aa4
BLAKE2b-256 1dfb1c1c62c678d2695b432df3a3504705205cbfdbf266b321b1a2ae2f8f6ed7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4f50264d4a4bab82793bcf3e259a67dd2a9d41aaebe104f5affc1b267294fbdc
MD5 9b37fd6d4881c2027144e2bda72f69a0
BLAKE2b-256 e519e8b07597b30cc3c0560e25bbf9c57f6f9615e6e7a73dda5e39f8ef921c92

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cdf610cb2fb4a0a07123c26e131114c1987b80a5ccf5e72f4664c05e98bbfac0
MD5 e5bdf06081bb55d006945f04b70d3444
BLAKE2b-256 384809a75c6b3509dffe479dba99b320149613cebafa00da6ce0b6d46ba516f3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3ad485fe714eec23a00fae81e2272744d76d68dd89c181a0d485d51dedade22d
MD5 f944c3da736e99d77d25ca98e9d535fc
BLAKE2b-256 aeb932ab6c52828667ecda689eb050b2edd4a52c846a35a075909483f48e0025

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 29409aee9b1a85c015464af329a2bde5de0378829ef8072746f8754023b56474
MD5 1f8ed0a3d7b2629a302098e1009d3a56
BLAKE2b-256 7f4096891efde2de2eb755a8ff4e8f5344f4b966d91033ab29b86944bc850239

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b6c0217081045a8638854cc6d009e8feb888791dda5fbff423214d06d587b9f8
MD5 0028d6941481004043de106e3275a16f
BLAKE2b-256 ca64befb7c10c6c40e9db3fafa67b10c35e91213a44905c8bf9410ba39f5f3a7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 770c01ed31d3cdad1325f16ea1f746b69bdd80e7548c143a7053cc377f13267b
MD5 052d65dbd8e2550ab5bae57b570649a8
BLAKE2b-256 7f49ce5faad7fcb11b231bf2caa330c60a53d944731ed1ea8274d0b4e2bc31c2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a48-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2f2d298d9c789099359e5d1a789d8a44fe2cc89d20881cce0c5308e1cfa66331
MD5 42161475b2224e913369fd2dc1f96631
BLAKE2b-256 57bfbff99732b5538c6d254e16b5e6b199527b4ab7cf2ba7ba62c89c8fa7a05a

See more details on using hashes here.

Provenance

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