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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a46-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.0a46-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a46-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.0a46-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a46-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.0a46-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a46-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.0a46-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a46.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.0a46.tar.gz
Algorithm Hash digest
SHA256 2c94dea893c6512f0d929d78117450d15edd29899f925034f46a2fcf5197cdd4
MD5 ea4534e95097b71a00fa4e1297a494bd
BLAKE2b-256 0004ce02d94e6158ddc2f76c60c456e3ccfabbc2b38d86f4ea509a6d95702e22

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 aa836cc28eeab8d13c34b8d51a82957c54232077d229cc0eb7fe7335a3070603
MD5 957ea8e8635fda8922c53d8d4daee6ec
BLAKE2b-256 a57862d7ba89ea1ad5e88afdb957f2683e106ae40b9571a4d4990d622ce407df

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8fd66107b5e2014835bf94d91c128f1c5956b331e263ba282bcf822612ac5d34
MD5 bde13c7d6c455c8d16acffcc8b8a9e65
BLAKE2b-256 5f865efbe6716683704fd873c00b672418c16c3f9da5d344751c84cb38a3791e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7b289f9053711e50dc5848c87f7098db17b46b2215326f00afd488fc8714f279
MD5 02f03c387383161d401e71bdc0bb87e6
BLAKE2b-256 9e7318f657201c8326b9a82dfdbc2f1a24be5b1d0968ab07553ebd21074cce3b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 16385b3f19855f4cf2def8bb313e9ec78dba3601fa19f1b689f00553c6866330
MD5 eead8953b705e17834e44ff36cec538a
BLAKE2b-256 60985e43ae09d675507a856d366e0fd8cff5c9ddd0b87cfd5a1e6841d7514b8d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d3840afec48d56f5f8b1bb0088e05826b13d68bc787c02e4e3a197e9af1d251b
MD5 2a9708d429cee0006b4276c03dae72b9
BLAKE2b-256 42b4404e186db2c5ee474831c35c505923dfb1f3b3c5aca2c50bfeec1eb40cb1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a64865bcbc0e2e07ab904cb5b99925d82cf52aeca60295b35db466e082511352
MD5 5d29f2c8189524566a89d05ffff67537
BLAKE2b-256 9996488ff68a88f6deefa501d04459893b68cbb9133c24d41aa14315c1f420aa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 95efbae876f61b2e1016c4e3e4e664e741c704e1ac5571d6d7cdd79a9e73c82c
MD5 efa12117e08308e16f5265bb9a9eb27c
BLAKE2b-256 0162943cb55e87ac1642a1dec78db8e03ef7183de88c31e4f56495d8a92a70b2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f00d9e7a312826f67258ad0b07a6d056501dac09df194b0246f998dec5ae1405
MD5 7f4e9f1a24ec118e6c222730c74e952b
BLAKE2b-256 bede6c76f61978819a78e4421dbf80504db202a23730bf80e74de8efb5a1fd1f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 54b13cfa4408efcf16f8213af834012bc59446a0d02650cb46b8aa350d13030e
MD5 6221d54740b5ace59a89bf6d75fed3d9
BLAKE2b-256 62561bf036269290331422206caf31d15c1ca9a4b35683f0ac04f3af7ead1ff4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39a7e0ec5814e345227e395254242a10e62ac1081740a48bf673a0f3d8fbc11c
MD5 09aa7d406c56dc2bb780c506254fa9dc
BLAKE2b-256 66b0cc02fedd1ead5357f5be1d97c2b4ce99942003e49982142f48d4de7e502b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f7a09f203893dbd702f051e02021ad1d92e98fbfcd0f5f83781689f11936494c
MD5 2e86751b59471392631c7fcf8e6df5a5
BLAKE2b-256 d4fcc4b6413d87823e1c0ad90bfe61a303fea085a9374cf06cd06e8cd33ec2f2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 da62bf50f086872e84e284048a4715a7cc2369bc3d5c32e79f97d1e2ea329a45
MD5 9662e8e38f689974010c8a53e1f8b216
BLAKE2b-256 df08c3c1fd3bfa24979194afa95be0745a358f630de88103f9b01c7a76ea9186

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a680d0cd4b5ade1624391fce3d25a18aba2f0c36e5d370a8922200b16009f1a6
MD5 1d021e9599511bd0edf05e15f241b0b8
BLAKE2b-256 8b018e01a42aa9e19840c8df0bd050fbee5434acd0bcd9da7b02ebf681d5df9c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4ec977567b860d8f2167bf4cf261270a46ae3e48a47d2f292940750219ed982c
MD5 23b6584eb8e87185323115d60bc7032b
BLAKE2b-256 79b2b1659636519cf5e3e5dcedfe9e91950a7b0770cb2b728b49f25dfe6df198

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a3fd06099ba869873ba049a94392b0a994db5a282f1d87e3bc9abc955eec8e4e
MD5 d6f1e1bd134cfc186b700866d2cfe254
BLAKE2b-256 aaa38f75e1b51f9052f15e8861b4e5edba0b516d7d96a1ad69440e207c2c7e8b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2f3593588099d04b65ffaebc4cb918562067befb43cc2ad5ed144eba4d2bf8d2
MD5 59151346c0f58abf073efa0206743d8e
BLAKE2b-256 829ef9411fa9a1e3bba37ed49ae750a7bbafb056bdb615220a381be3d8a6e4f4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1438fdf9619989064037282459969870132eaef59421dc2fc2afa4a22a2b7c9c
MD5 62fb3654989ce61cd67af2e531cd6bd6
BLAKE2b-256 12a027075f456366b9acd6d0b8f566e01a9eb001134b2c97927780c994c156d5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5175654904229c8a039e2058a4f562e28dac5be2eaeca24c3d760975c6e6cc4b
MD5 1c2dffafad9d3a8b0096937f457897f1
BLAKE2b-256 25b226f4653a201e78089ed0956a5c22c51aebbba96392ca4082034eb320e67f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8d2def1bd98e5b94a67ab98eb01e49295c1a88d010daca91b3481892d4131737
MD5 82f5ccd7c2cd90a941dca038fb87dce5
BLAKE2b-256 3ec0eab4c103f5f3c8b99ec51b487b54f18d978147cd823da337a364a8b779e0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2eb9da66cd86757b759f90b6cebc748b79d6fab0e5771027f8366db26c89bbe9
MD5 7a00871167fec262651b354003a09684
BLAKE2b-256 828de7f755543ac34a45426a456a505210c3b42a290f7ce7a7044ee311809077

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 10687ea61577e9a6493f749a5db8550721c72b9e3603196424fc4117200d79e7
MD5 853a4b5dca23c661045b40d36ff4e93b
BLAKE2b-256 76e4938c092c2256ef558940dc66aa7e52e1350c6a8746284f499f3c4e4af563

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c55a2547c32debaab39c3a5c9158f33e9f0454b36e1c5907639f97590d204dab
MD5 12ef9096e1184c36a041b7572a17594f
BLAKE2b-256 a109a10b118d4c8995f41f828ff261ac3aa9d20210c753dbd348df20b28e0088

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0491c76c3b763466d36f50156e2aa2e178cd3e384e009c67518dc5be877ea186
MD5 27c2329a42d81e101020bda0f8bccd4a
BLAKE2b-256 6641d66c6b57bd555e3e1155bf285a59a443eee72f811f090df1972dbe8518ef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a46-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 48e885fe429bc497a6216d5c73f9e415b131e0f97be1fdab3f4d840298393475
MD5 0cff8eb5202adad6c01b2f15583f7f8b
BLAKE2b-256 5d0ba3e5098672d446424084f6a259788481d21dd43f6ad72894577045c85708

See more details on using hashes here.

Provenance

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