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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.3.0a58.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.0a58.tar.gz
Algorithm Hash digest
SHA256 8886ee27aa952d054e26c51d149fb2ac9477a4b05e6db8972e33d5bd08f25f88
MD5 ad41da8e3d196b28a3e81f659dfd8150
BLAKE2b-256 4bf860f68459335e0e31351d5cdf18ed3c3d4cc8fb9583012db9e0aeae284d9d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 39c43251d2c636ecafe3a6cdb61ba1c17c4a0c1bf8d568983bdedccd0be3eec4
MD5 3c02098df7107cac589d653334330e77
BLAKE2b-256 0385273c212ce0706e0d270faf2fc83f75b83ada418cce91232c7e725f75c5ef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1ebe230408422fd374f810bf846d5e81eed4d9fbc57f144452d58199c2863402
MD5 8c559833dd2eaaf283ce2fa460ae8ee7
BLAKE2b-256 73bb5dd4fa450b3d7a93d0e35392865c95844fa3d729f476de111a4fe33951f1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c4d016483879e0145a56eca2e9be68798810f742dfc58c066ad1849d7e0a5c92
MD5 5ae92716b82eb457f15c718d9e4a2410
BLAKE2b-256 5866c6ed3e228c182a5ec5f060785bb899f5bc4a06645cb3ee23156ad7d9b63f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 69a10bb712ccff0928066980b9cfcc32ee67e5cea1ef32d54a0af87497623817
MD5 59ad565b0a430647e102b39ad528a8d7
BLAKE2b-256 edd372d6a16ec9d67546b4c38336548b7381973ca913ce546ccc42aa22c58300

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 66b80edc187493fae9269731a12f03b131da9d4f593fe76eabc5a637a2688646
MD5 848e6e0f9899675d03ba929ab7ccf125
BLAKE2b-256 356336461e8bf24135af4261cebaae048d5f0217ba8892e4c3720f96eaa7f5cd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f0e3c4a88a5fe9efe60b97fa35ca32e2a7d9e9073bc4a28df6daf84850f4debd
MD5 321572d710c8db685619c0254d5f2aef
BLAKE2b-256 0e0a3597a8f33e859551dc3f99658bfac5ab1051d4125523b104f69a0edb082a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cc230126666f7bca9cb626bfc81219c3352fdaf866921c66ef8e38f5c877c924
MD5 75565f61bd8f50c59445433833bccad3
BLAKE2b-256 2b07dfeefceb77be1bac0a92eb2309e68e0000f7d32471ba34217aab4510b274

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0fe00faa9b9556ba08127191f36f8e9d03f4f1571d70e2d7496f6861f098f287
MD5 d768d63f26aada2df6c3a99d5833600a
BLAKE2b-256 257979a17a8b773cc134f695bb929a84cedc88ffbcf559f7edb9c0e224de482a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 388df9a9d31b6436afeb1a54f60e7233ca7cdd62e7bdd5ad54f5c54bfc591bee
MD5 cb451a9e4a296ab8552ebe9d9a60218d
BLAKE2b-256 7e425a5bb1ec46189d0ad941cc7a5369bca50a4b2871a49a530d8aa6065042d4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 56e5cf0afffbdef0325880f4d4e9eda7fb7cabb350873f3b04cecf96f088f3c4
MD5 f4ee9f978ea29b5fc1be63e83837418c
BLAKE2b-256 7cede1d01a210753972e9f261087a72a8acdfa3adf7e78c7ffa5f46f9dd98061

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 111ae4cdc3821f921228a469efb762d01c96a1c9987397d2671b2477a7e30560
MD5 c3782197dc09d9d751071079b8ab8d06
BLAKE2b-256 75e68ac80ce9f06f97941de2d440fb1e3471e7d3737ea817b0c4030f84e3bcfa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d20c4a7c1247b8fa6c3b427690012876322be16291251e4a172b3ab3fc21bab5
MD5 d028a901fe4cc460887a84bee28f34a2
BLAKE2b-256 690f2f080ae6b0d01046ca8b0cd38323a0525c8879b036273f4e4a52d4dd7e6e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8993c96c768f2dc9a3b22bfcb2b168a0cc0ccc50f6a2b630e174eec575decd03
MD5 799656c41cd1b6e78573fcb60c07cff6
BLAKE2b-256 0ea6d955f2561da1185490969b07e4450c2e75c755619691d503d2980b6d9628

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8be3b79cd4ef709729eff3243e7f45b6062156cbd8730e40c5d58f349e2e5b18
MD5 861dbe3e8a91d9c7a38f4646b9a03b59
BLAKE2b-256 60f58c4d6eb486c5bb80b0d490404a2df3581410bfa6b0d1f8928457d0baac94

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 79e00e28313d62750f10235bbb3220219b245c130847538f79d9011dfa2a494a
MD5 9b0871c488795feda6d9545a822dd5a5
BLAKE2b-256 27df8b062da05ece4c99e87b3489199823c0da91345d1f2d3995d3483429434e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 66c87035b7d2f3c560b685160f98d631385fb4fe6075f76d1121fa0261b44a4b
MD5 33df9b8332f8cf02ec75d132f56447a7
BLAKE2b-256 61048afd739200785a56fd8354847472eb90913a0e756ea19c3e3708d6cef594

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7cbfbca29295485c3f73a8ab05a533077ea454c32dc00b2483cc5547512cc613
MD5 375ad8ef1d9bbe2ffc63e621cb657659
BLAKE2b-256 237ed7ed42661660723c4b3490a4d3be1238ca34cde2f3b74ff5153444256fcc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9088be408ec17e5adc2d71bc17e8386ae54d056dfdaf9b0ba41b7c29a79f1bb9
MD5 da4a633e0bc609231ad0818c554fc19c
BLAKE2b-256 3220ec5dba93e6cb7ee5f103c459722c43dc7aa41d173eb6a3febdd6defe9f0d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9c76f6ddab38975fb44e0d4b75eb35cd1a90450bc80ecf47d110c84671a0a2aa
MD5 e67dd810c289f3c5b3c7bc45212c5067
BLAKE2b-256 8e0402f0b5326d70498063c7f6361e1a8356ce533ca3e6868c6db69a58f8cef5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 56388f4a8394b5b6ce7463b10bdc84d74ebf96c12327ec23b1c909fd6e059893
MD5 7d9e4a8441fa2602157c5837d9febcfb
BLAKE2b-256 608e7862aa659b3d61c02a990ec5f07d05ab6f8bf924d1a63f66b6ac241ee579

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c2df91ade5c3686f3eb4e485e1b14b2348519249c2d6c052ab0398dae39cdff8
MD5 595965760d92e7c70c5e0b67d00b4c3e
BLAKE2b-256 6052492febb7875f84331de4204dc41bf2086e14fdc1cba40b1b42d004e10aec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 75f3eb62bbed4dbacc51f87f4315703fcd0bced9af871648da899ac1f6421630
MD5 57e977ba9b4edf7bfa19b522ed1d581f
BLAKE2b-256 1bf03542f6922ec9bf84ddbf6a6f2f594e5739f9c12e6efc8d3d3fb6515be277

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 11b79491bb7cb70938830ed1d88ed4fe4a0be5b45d7fa47a5609716bb62dd61c
MD5 82d5e815c47a4d257c4661c123a99e65
BLAKE2b-256 7a8e18683a61879f54fa1336210013699ab47ddfb804a342f418ae4990bdfab3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.3.0a58-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 155e7db4a82499566ebecd285f050b00d0018d24ca45d926536318269462f50d
MD5 f86baa629cb7e7463d66e429fd78e7ea
BLAKE2b-256 7a5772011dfe6c6eef9848a86e2a6bac44c54693fd1b962dc45485d1b34022bf

See more details on using hashes here.

Provenance

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