Skip to main content

An embeddable, MongoDB compatible, document database, built on WiredTiger

Project description

SecantusDB — the SQLite of document databases

Status: alpha Tests: 584 passing License: GPL-2.0-only (code) + CC-BY-4.0 (content) Python: 3.10+ Documentation Status

[!WARNING] Alpha software.

SecantusDB is in early development. The Python API surface (CLI flags, public class signatures) is still settling and may shift between point releases. The on-disk format is WiredTiger's — the same engine MongoDB uses — and the schema we layer on top (collection / index / oplog tables) has been stable across releases; the test suite runs against real on-disk WiredTiger storage and the persistence tests explicitly verify close-and-reopen round-trips. That said, we don't yet ship a migration tool or a formal compatibility guarantee, so please don't put production data here yet — production deployments that need durable data across upgrades should still run a real mongod.

Drop-in MongoDB for single-node applications. SecantusDB is a real MongoDB server written in Python: it speaks the MongoDB wire protocol on the same TCP socket a mongod would, so any standard MongoDB driver or tool — pymongo, mongo-go-driver, mongosh, mongodump / mongorestore — connects unchanged. Point a MongoClient at it and your application code doesn't know the difference, as long as the application only needs single-node behaviour. No mongod to install, no port conflicts, parallel-test friendly, embedded or as a standalone daemon (secantusdb).

Single-node only by design: replica sets, sharding, and anything that depends on real cluster topology are out of scope. Within that single-node scope, SecantusDB is the database your driver thinks it's talking to — same handshake, same wire frames, same error codes.

from pymongo import MongoClient
from secantus import SecantusDBServer

# On-disk by default at ./secantus-data; pass storage_path=":memory:" for ephemeral.
with SecantusDBServer(port=27017) as server:
    client = MongoClient(server.uri)
    db = client["mydb"]
    db["users"].insert_one({"_id": 1, "name": "Joe"})
    assert db["users"].find_one({"_id": 1})["name"] == "Joe"

Storage engine

SecantusDB uses the same WiredTiger C library mongod ships — vendored at vendor/wiredtiger/ (mongodb-7.0.33), built from source into the wheel, called via WT's official Python SWIG bindings. There is no Python re-implementation of the storage engine: B-trees, page eviction, write-ahead logging, durability, on-disk format are all pure WiredTiger. Your data lives on the same battle-tested engine mongod uses.

That doesn't make SecantusDB as fast as mongod — the layers above storage (command dispatch, query planner, aggregation pipeline) are Python, and a like-for-like benchmark currently has SecantusDB ~8×–46× slower per operation than mongod. CRUD reads sit near the lower end of that; bulk update / delete and aggregation sit at the upper end where Python loop overhead dominates. See docs/benchmark.md for current numbers and methodology. The right use is tests, dev, embedded apps, and single-node prototypes where conformance + WT durability matter more than per-op latency.

What's in scope

Everything a single-node application needs from the wire — the handshake (hello / isMaster / ping / buildInfo / ...), CRUD (insert / find / update / delete / findAndModify / count / drop), cursors with getMore / killCursors, aggregation pipelines and the expression language they need, and change streams (single-node, oplog-backed; collection / db / cluster scope; resume tokens; fullDocument: "updateLookup"; pre-images via fullDocumentBeforeChange; blocking awaitData getMore). All backed by a real query planner with index acceleration — single-field, compound, mixed-direction, partial, TTL, sort — proper explain output (IXSCAN vs COLLSCAN), and a hash-join $lookup.

Authentication: SCRAM-SHA-256 — MongoDB's default since 4.0 — is implemented end-to-end on the wire. Off by default; flip on with secantusdb --auth (or SecantusDBServer(..., require_auth=True)), provision users with createUser, then connect with the standard MongoClient(uri, username=, password=) shape. See Authentication. Authorization (RBAC), x509, LDAP, Kerberos, and TLS are not implemented — an authenticated principal is currently treated as fully privileged.

What's out of scope: real replica sets, sharding, RBAC, x509 / LDAP / Kerberos auth, TLS, text / wildcard indexes, $where, real transaction rollback. If you need those, run a real mongod. Geo support ($geoWithin / $geoIntersects / $near / $nearSphere, $geoNear, 2dsphere and 2d indexes) is in scope and shipped.

Installation

pip install SecantusDB

Pre-built wheels are published for CPython 3.10, 3.11, 3.12, and 3.13 on:

  • macOS arm64 (Apple Silicon)
  • Linux x86_64 and aarch64 (manylinux2014 / glibc, and musllinux_1_2 / Alpine)
  • Windows AMD64

macOS Intel (x86_64) is not in the wheel matrix; use a from-source install if you need it.

WiredTiger is vendored inside the wheel — no separate package, no compile step, no system build tools required.

Building from source (unsupported platforms only)

If your platform isn't in the matrix above, pip install SecantusDB falls back to the sdist and compiles WiredTiger from source. That needs three native build tools on PATH:

  • cmake (>= 3.21)
  • ninja
  • swig (>= 4.0)
Platform Install prerequisites
macOS (Homebrew) brew install cmake ninja swig
Debian/Ubuntu sudo apt-get install -y cmake ninja-build swig
Fedora/RHEL sudo dnf install -y cmake ninja-build swig
Alpine apk add --no-cache cmake ninja swig build-base

See Installation for dev-install instructions.

Standalone daemon (drop-in mongod replacement)

pip install puts a secantusdb script on your PATH. Run it like you'd run mongod:

secantusdb --host 127.0.0.1 --port 27017
# storage at ./secantus-data by default; pass --storage-path :memory:
# for an ephemeral temp dir cleaned up on shutdown.

Then point any MongoDB driver or tool at it — no application code changes, just the URI:

mongosh mongodb://127.0.0.1:27017
mongodump --uri mongodb://127.0.0.1:27017 --out ./dump
from pymongo import MongoClient
client = MongoClient("mongodb://127.0.0.1:27017")  # same code as for mongod

The conformance gauges back this up: pymongo's own test suite and mongo-go-driver's own test suite run unmodified against SecantusDB — see pymongo validation report and Go-driver validation report.

Examples

A walk through the operations a typical application exercises — connect, insert, index, query, drop. Full version with explanations: examples in the docs.

from pymongo import MongoClient
from secantus import SecantusDBServer

# Ephemeral here so the snippet is self-contained; the production default
# is on-disk at ./secantus-data — drop storage_path or set a real path.
with SecantusDBServer(port=0, storage_path=":memory:") as server:
    client = MongoClient(server.uri)
    cellar = client["wine_cellar"]
    bottles = cellar["bottles"]

    # --- Insert ---
    bottles.insert_one(
        {"_id": 1, "name": "Pommard 2018", "region": "Burgundy", "year": 2018}
    )
    bottles.insert_many(
        [
            {"_id": 2, "name": "Brunello 2015", "region": "Tuscany", "year": 2015},
            {"_id": 3, "name": "Barolo 2017", "region": "Piedmont", "year": 2017},
            {"_id": 4, "name": "Pommard 2020", "region": "Burgundy", "year": 2020},
        ]
    )

    # --- Indexes ---
    bottles.create_index([("year", 1)])                     # single-field
    bottles.create_index([("region", 1), ("year", -1)])     # compound

    # --- Query ---
    drinkable_now = list(
        bottles.find({"year": {"$lte": 2018}}).sort("year")
    )
    assert [b["name"] for b in drinkable_now] == [
        "Brunello 2015",
        "Barolo 2017",
        "Pommard 2018",
    ]

    by_region = list(
        bottles.aggregate(
            [
                {"$group": {"_id": "$region", "count": {"$sum": 1}}},
                {"$sort": {"_id": 1}},
            ]
        )
    )

    # --- Drop ---
    bottles.drop()                              # one collection
    client.drop_database("wine_cellar")         # whole database

Documentation

Full docs are in docs/; build them with uv run python -m invoke docs and open docs/_build/html/index.html. Highlights:

  • Quickstart — embedding in tests, running standalone.
  • Architecture — the layered design.
  • Indexes — what find() and aggregate accelerate, explain semantics, hints, partial indexes, TTL.
  • Aggregation — supported pipeline stages and expression operators.
  • Compatibility — the divergences you should know about before you point an application at SecantusDB.
  • pymongo validation report — per-category pass / fail / skip rate from running pymongo's own test suite, unmodified, against SecantusDB. The submodule at vendor/pymongo-tests/ is checked out at the pinned upstream tag with zero local edits; a pytest plugin starts an embedded server and points pymongo's DB_IP/DB_PORT at it.
  • Go-driver validation report — same shape against mongo-go-driver's own test suite, unmodified. Spawns a standalone SecantusDB daemon and runs go test with MONGODB_URI pointed at it. The Go driver underpins mongodump / mongorestore and most non-Python tooling, so this gauge catches type-strict wire bugs (int32 vs int64) that pymongo accepts silently.
  • Node-driver validation report — same shape against mongo-node-driver's own test suite, unmodified. Spawns a standalone SecantusDB daemon and runs mocha with MONGODB_URI pointed at it. Initial baseline is restricted to the import-clean subset of unit tests because of an unrelated ESM/TypeScript loader quirk in node-mongodb-native v7.2.0; see node_validation/include_paths.py for the rationale.
  • Java-driver validation report — same shape against mongo-java-driver's own test suite, unmodified. Spawns a standalone SecantusDB daemon and invokes the driver's bundled ./gradlew with -Dorg.mongodb.test.uri=mongodb://.... Initial baseline is the :bson:test module (BSON serialization, ~289 test files); the JDBC-style integration modules can be added to java_validation/include_modules.py as we widen.

Development

git clone https://github.com/jdrumgoole/SecantusDB.git
cd SecantusDB
uv sync --extra dev
uv run python -m pytest    # 584 tests, runs in parallel under pytest-xdist

Common workflows:

uv run python -m invoke fmt    # ruff format
uv run python -m invoke lint   # ruff check
uv run python -m invoke test   # pytest, parallel
uv run python -m invoke docs   # build Sphinx docs (warnings as errors)

License

SecantusDB is dual-licensed:

  • Code — GPL-2.0-only. See LICENSE. SecantusDB bundles the WiredTiger storage engine (itself GPL-2/GPL-3), so the combined work is GPL.
  • Written contentCreative Commons Attribution 4.0 International (CC-BY 4.0). See LICENSE-DOCS. Covers README.md, everything under docs/, the validation reports, and pymongo_validation/README.md. Operational instructions to AI assistants (CLAUDE.md) and vendored third-party content (under vendor/) are out of scope.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

secantusdb-0.3.0a60.tar.gz (5.7 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.0a60-cp313-cp313-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.13Windows x86-64

secantusdb-0.3.0a60-cp313-cp313-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a60-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

secantusdb-0.3.0a60-cp312-cp312-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a60-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

secantusdb-0.3.0a60-cp311-cp311-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a60-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

secantusdb-0.3.0a60-cp310-cp310-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a60-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: secantusdb-0.3.0a60.tar.gz
  • Upload date:
  • Size: 5.7 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.0a60.tar.gz
Algorithm Hash digest
SHA256 64a76a9a77aad60fd68ce9bd2ae596838f24e0cd7f2a9ecca0e722e771f05635
MD5 6e38d4765fc69cc1053a7a40dd51d760
BLAKE2b-256 7d6827423620cf67adf9a8f06deaa3ea60abfe50b7986c93ac79c2804fa2080c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8d79ee754187d915d25522899be1351a127325c84a1519437a1d809347ec1a79
MD5 e626c83f6083d06707bbe7ccf54a094e
BLAKE2b-256 881e8112376ac9d5598b012e6c7ba68a66a24b2b712aba7d814c86a923eefc5d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 89ce52ab2a857112f30b508f11d05bb98cce8f0c10bd5690b4ad23864ad15a93
MD5 f1d122adc92d2d79b27e74dc65fce317
BLAKE2b-256 d8491dc875aee9a4b5667514c72900b88153e81e493060455a989fa294d052dc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8e7bf81c4ca06105c6804391c19ec0298dbcad808eeb7d8449fb03ace492c816
MD5 1133f401cf7ab89070115e6eec7ea7b4
BLAKE2b-256 156208aeafae0407cdaf4d679066850809fe4169f7af78a403982b397df5743e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ff0301e7ab11b9958087851ab3cf3d8c66d7446fb3963a89e818acb662732f7f
MD5 45f80eed62808eff106134a654cc58b1
BLAKE2b-256 d44d9e5691ac762f769fab40c14c6b5fd1a73ceb8bf4d3d7b448e2467b68912f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 efc54945d88e6c59cca08e91cec124e4429a2e17c4c36def28221909e7dd7e92
MD5 17c1ab9aaa2326b76d0b390040135f40
BLAKE2b-256 b2efe72d328a1f2c9b52ab57befb88874f7b591e2f04175a6d1c88e281e614a0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4029b666c2c24782e2928fb4e054d0c00748a750e7629b794efe9a14f673c8cf
MD5 30d695d2657b4a8bfe0c14d18875e099
BLAKE2b-256 0056ce54f91a3298cc4fe4dff8940aa9992babd4493b6679fea086321998bc0b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 55783e0890607606222d691f88307aacdb4180c3bf040c258e8639fee630d766
MD5 3b2d709629db985a4c160f8890e90692
BLAKE2b-256 938b6c8c7de2599ab04eacc2c5649d00abc75d3c1b1c8514f60151ecdc14916d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 07c45862032fcddadaeef2f51c99abc720106e1074141fdc68ee0c2495674787
MD5 c27890820ee59cada1384cbcbb4f0b56
BLAKE2b-256 cf50b895a9c8e80c1699495794bfe3f0123e23c3a0ddecbb1be55c84f55c4957

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 140d9c5d16e955780afc010f0a9353a6b2c21ae2dd0743d56e14080677965ccb
MD5 c04ba90499ba9ee64033eb31762dab95
BLAKE2b-256 4c5c8937a22b9cf4bbc883ca2107af8717d3db774b05e17d834bfc2a8f706b11

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8c791bd532cfb90a4e24e552b6d1337fb6ca4343d3d841b4107dd86290ba6e59
MD5 4df908df7c1e3be366f20c1c763e6eca
BLAKE2b-256 f3e1a5df6fa802fd8c29f7446cef952148720fbc4bb6485a1f8cbdbdeefcfde1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 df79674e9f927cb84298ca55782d09b97119194c0581a1f6ea32c8b02dc8c030
MD5 185497c279405886307f9edb25bdfe3b
BLAKE2b-256 f19483f9dea3838b34c7ac4fc51c77d12d687462444021317639a6ec63d1934c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 27e5240c454dcd3c8d912938e44bb0dfa83fd0943da352c1536cf3db8f87df3a
MD5 ce7fb6f00f3b96a3294c02e8df0432c9
BLAKE2b-256 0799de9df3628989a78a0466e4dcace8fe98ea0d56e8b1066e57f8635558d3c2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a1bad3e997414db204c3de22d1f89cf0074fa1025774ccd82313ac35868da804
MD5 06747a04417a0ed4f262f007e07384d7
BLAKE2b-256 4849fc6a6ccb293549a866f658a62c9fafabef7cbecf6eceb98b1bfd54dbfd7d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 df3b82f16aa6a760b7d9fd9bdd2b0f9c96c1b107c74ad9d160adadc1aca6e101
MD5 10e36c15db067e575129db986686bb39
BLAKE2b-256 0f0a16fa3cb0c02bef4d1f1e2a294f922116caebe656f8ef5ffe5a5f70c29491

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 91778c77e7f972b88ec2b063d67a1d5a542d0a20b1f3224c738e3c79ad1edc7c
MD5 a0e9e3afd3ea543c1015559ce744ecd5
BLAKE2b-256 a193c70c0385ebc14d77d42285ce1ff1a8846732e8a436a872fd6c5ccebad537

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9a240aa9b6966479ad01249d32af82deca4c94ea5529500a3294562e0afb4465
MD5 2c2ae7c950a71b17f58f74d156a2f9b9
BLAKE2b-256 bcc6ce598b184c7c8f17d5e06fa82a16ff0f23468e2fb23ac353ace67d6d2079

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2213b0424408f4a9cef60dd33cf814a1b47b9215e81dcc9d8cefd4d174e9c334
MD5 affac56ece81d8b304a7be936a709d66
BLAKE2b-256 d58a9962011f141feab8ff3a8e4d5d7240a9d919f26609ac771fd5c05d0ae2ca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9c9c0bf39dff00a638ae41df192b1e1e85a1f75e0c74d34a491629918d596ea8
MD5 9ab3470fc7df339963fb387eef4f983d
BLAKE2b-256 dee2ddbaef1bc3aef4ecb1e100e8de5ba0d2964a4c7a3850cde11cd786bbc45e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 52d7d963cd199ac9b7c6e04ee646208f44bf366e5715bb8d241fe09921ad49dc
MD5 12735b87cf3b572941f2e005a7bedfc3
BLAKE2b-256 1fd52df5089d14e7a9510c6d3504636cc46f42ba37e634ec1a2ae7b17db6d6f3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9469e1020eb347281feeba11dec4000092f1072dc1e75e3a03a37481bb1fb4b2
MD5 5c0cae8b289c79c927d431750d8127e4
BLAKE2b-256 b2a3115197d383cbf922bfd015b2e64c217f76452bb98f9fe5598d273c157b41

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6bd9e2d3938add12990a3c753a48581bb7c05df25303bf4100d5eae0bd227cac
MD5 1061ea4ba36c5884f1cc5483404cceff
BLAKE2b-256 c21833ac200726a1f9970219abb65d6cdae59896f97c65327f168dbd227f8eb5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 06c95f34ee11c07a0d2233c7c01195a5723093f6d76df2ad6f63c79f57b79169
MD5 1ef745b6172fd2a559c4c6db4c40220a
BLAKE2b-256 e0bcc90919639203ce4a00269e618d1596dfbb643e556960fbe1d32424bd4478

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9bd98882165ce19f1686de2c652c331e45383090a405bc3ac79fd9d3f0bd888e
MD5 ed11235931e7ca6b635cd119bdb53af8
BLAKE2b-256 3c83d8bb73b4c85d79bc3976482d22595d48163b64e2b06048617dce5416d9a6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a60-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3155f5b96b04d579f58734ef6553c7df8a1e825f8613cb3181b24115ec8d5f26
MD5 c2e216ddf8de1e026ae002607c28aeff
BLAKE2b-256 c0421ed7b23921db8593c688ab0473ca8c76e2aa2ab6bbf040b02acdae0be453

See more details on using hashes here.

Provenance

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