Skip to main content

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

Project description

SecantusDB — the SQLite of document databases

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

[!WARNING] Beta software.

SecantusDB is past initial proving but the Python API surface (CLI flags, public class signatures) may still shift before 1.0. 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.
  • Ruby-driver validation report — same shape against mongo-ruby-driver's own test suite, unmodified. Spawns a standalone SecantusDB daemon and runs bundle exec rspec with MONGODB_URI pointed at it. Initial baseline is the lite-spec subset — 90 files under spec/mongo/ and 9 YAML-runner files under spec/spec_tests/ that require 'lite_spec_helper'. Covers BSON, URI parsing, SCRAM-SHA-1/256 conversation framing, retry / heartbeat protocols, CMAP, error-class encoding, plus the cross-driver spec-test corpus for connection strings, server selection, SDAM, auth mechanisms, max-staleness, and read/write-concern document shapes. No real-mongod connection required — SecantusDB doesn't have to satisfy any cluster machinery for these. Auto-discovered by ruby_validation/include_paths.discover_lite().

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.5.1b20.tar.gz (6.2 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.5.1b20-cp313-cp313-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.13Windows x86-64

secantusdb-0.5.1b20-cp313-cp313-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

secantusdb-0.5.1b20-cp313-cp313-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.5.1b20-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

secantusdb-0.5.1b20-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

secantusdb-0.5.1b20-cp313-cp313-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

secantusdb-0.5.1b20-cp312-cp312-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.12Windows x86-64

secantusdb-0.5.1b20-cp312-cp312-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

secantusdb-0.5.1b20-cp312-cp312-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.5.1b20-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

secantusdb-0.5.1b20-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

secantusdb-0.5.1b20-cp312-cp312-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

secantusdb-0.5.1b20-cp311-cp311-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.11Windows x86-64

secantusdb-0.5.1b20-cp311-cp311-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

secantusdb-0.5.1b20-cp311-cp311-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.5.1b20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

secantusdb-0.5.1b20-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

secantusdb-0.5.1b20-cp311-cp311-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

secantusdb-0.5.1b20-cp310-cp310-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.10Windows x86-64

secantusdb-0.5.1b20-cp310-cp310-musllinux_1_2_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

secantusdb-0.5.1b20-cp310-cp310-musllinux_1_2_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.5.1b20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

secantusdb-0.5.1b20-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

secantusdb-0.5.1b20-cp310-cp310-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file secantusdb-0.5.1b20.tar.gz.

File metadata

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

File hashes

Hashes for secantusdb-0.5.1b20.tar.gz
Algorithm Hash digest
SHA256 cb4e7d9f9c8c6b4f8591ca3a110fd6266b41812392ca8871da70018b973aea62
MD5 160d8a4b4fde7ba9aa92a7f30788e34a
BLAKE2b-256 acf5a250138396803dbb4c3023de29a2d18e1ea3f1efb50e84726d36ba323835

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20.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.5.1b20-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 87aaeaa483dbb1e4b304b744907f7c08b5664ef40aa31b401b212a74c879c8ea
MD5 a5b7797a3a4895d140b9ff35d336481b
BLAKE2b-256 db27291cd9c8773c2d8f0a7cbc579491aa173c309b08af1705b4dd50d9d40416

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1d559364d871cb4a66a5aefac2859436f6975a82d3bbff6e8ace1010e1158160
MD5 dd3b46197494ac63fe739e44099d65a7
BLAKE2b-256 0a36a5e4bad92da08514f6efa43504044a5d7d820431042ea6544943572ec428

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7fd500fcfbb591cff4f81f497d049adc3813c36301bf708de20e7006232cf5a0
MD5 11f2ef3025cad6127f2e1667bd0603aa
BLAKE2b-256 cf96fd6400facc57249d3c91f5d80dd4e31eb63044b8bcdba34d08345d0eb6d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3a504a25fbd777cbe97c7665526ecea1d88db43fccb3474468aca233b94d0f83
MD5 b13047787ead5f2fdf380919cf6d003b
BLAKE2b-256 750f3c3bfa80a61bfb4736ebc75c0c04b571a09f06a883039fcddd34274c5153

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a47168011ab771566a120f5364010741e4b35e6f8c2695e106eba346823df571
MD5 36d130f2031cb1b0cb672636b25e18fa
BLAKE2b-256 f91abd8bcb17271c7330dc572bf4ce60f39bbb3a409e2d12a65606f60b981bb5

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ee2a64658e171a1784766ee1a89253947a619b0212211aaf3021872767b5d879
MD5 288313aea1e69b609e132b8261d15149
BLAKE2b-256 a2fc578fd89b484457ea95214ec5cdda6a017226b2946c272c48af2482aab9b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ad1f72e68c7e2e9a26dc2fb790eb2b57b82fc440aeaf1603ead25e364407432b
MD5 d8ba0898bcbd01f9717edfff902065c6
BLAKE2b-256 808be00e52e80ab9f27d32eb455fd7983b87e87ae32b24e35d27d9a7a98aa658

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 aea2c348ab9c07832e29ea6bbe81de7e62767f4330558e68d600481fba8d9247
MD5 f412422cd96ef5e05b0cf7b1fdf2f778
BLAKE2b-256 4e3b30baee64d79529add12c7638af06731b018d51e48a3c813c46f826d6658e

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 64f85fec6fdb4d03c56f122c10617bcbb749dd905fe11c5ed7e0045d9aa89c44
MD5 3f90171c9ee230d315d279e98917e5d9
BLAKE2b-256 324e084ea3214642dd2b5db7eb6ce6176243319403562524c292daa2a49df496

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e336e3ff941d4c073c6bf82105774b086e6ebae7fd1c0a0ea1416d9c68c95b21
MD5 d47b1886e323695b4cc3b74f69f996fd
BLAKE2b-256 c4ec907cdba8ee317d437f7edbcbfa14bcaeb8cbc5585af2c718abb59d4238e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4233f5c58fd2643e47d3f779f507b2cb9f0b7879fe31bfa654d8aa08bf42060b
MD5 ddfbb4d25cbfa233cb57bb87239c41b3
BLAKE2b-256 1fe0c8431577b9d5e0c3d06263e0032a2bb79bfb0559c24c7d67992741641c4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 37deb8040a29aa8d697b3be7d37d00809cba91edb37125ee119924d65d5d8147
MD5 137113f14b805a973a28ff67a3c00e40
BLAKE2b-256 58da46c43fab3d98495beceeade035e04e84fcd01f39a32d8997a75104ae928a

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f87c1749ec89dc5f03f6611bfca895c640931b8b0e04f1f2240a57009f2d8c59
MD5 934d123386b176faf12cd40a50501586
BLAKE2b-256 b0a941cad645d1d7388e637eb5ac297a5b8306b97281041911a1e30b74a4bde4

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d55cdcae6c09f6caf21a5022078bcab77a1e1193aa90521cec478c2c3a6be626
MD5 7a0d4464ee6b57469449325a18556ee6
BLAKE2b-256 73fa8c24d2084170adccb955dd310233513c4b784d55f43915c4ba7980f4f4ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b1c873fb1ab9d5de9a63539a1b47088e35cc848f6bdff94a290a7363012bf97b
MD5 1ab32cfe37bd7aa9e21ddd57b30c6f51
BLAKE2b-256 76214927e7c602565e6176851182e19cdea0e12c636f91fc97dc2c42491f250e

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6823be00b52ac7ee37c4a49a6f459f5334ca0f38d266373788c26151511ca023
MD5 d75f8ef79479b2c0e24e78acd944b3c6
BLAKE2b-256 ba57843c4031b96d38edaab26f26b5fcf01d0018e585dc88142e82681318a474

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b8f13e5be6d5709e697024f4254b2c4b0d761b3270f2eafc45154e8655a70d55
MD5 2a05b5392e9ff71e7bb432c531e033ae
BLAKE2b-256 70078e6490aa169af094a259e5f25be84119c5eb3eda63eea2d015eff1c24b99

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5776ac3308cd5f01a70cd2a27e4723352d62a306f89ea0f95b9e5a87359d211e
MD5 c4a27cffdd324025cff961fb15ad3d51
BLAKE2b-256 bd49e0df3d7c0dae510b89209fba715989b42b314b2bee28cd2163788205dc5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3f73aa2faf4eceda515b8b3714deddf5439a4cd736eb9d374cbec898fed894f0
MD5 bf591112055659aacbbfe262ebfa418d
BLAKE2b-256 66469585f93770272ba5cbe8d73b1143212b035d66282036a50aaad8b0bbcbde

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 773c7bb40ec08101ea722e586ee2f2c02838d1349c56af20b38b36e0b2971410
MD5 aed2ad150ff5836de03132eb7d610447
BLAKE2b-256 5ece4c729916df5020057b3cb611553a4511d0cb4ba32f283128915042680e5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 87da54b0b859aa3f75afbe75681e72d09f7a1d2b2bf860f3e5793b3ce4df174f
MD5 32dc7b954525e2199a5b5368ef0cdbc2
BLAKE2b-256 2a3ad8c754f301665f5f3869822a388fd0f0f0243d9d6b1efcb878e6c2e2eaa6

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e635b50e6e99bd20e930c12f3ac0cb06422c596c309f2902ce0b892a9ebac007
MD5 f1e719aa9e77a2a2a70841894d135f1a
BLAKE2b-256 3316effa7508cdc56f4b31b293a7ede3f6442394ce3e478ee4304f64b5a4c5ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 de6b4e9968e0b1d533c19874f06bfd8fe01f0f2f068258cbbf56e7761d43171a
MD5 a453697b8df88102dee7915f2c58b243
BLAKE2b-256 8a49b5b6d2f1706ed8bbdb5c66539b306eda37a654139f6440855bbb7168ddd6

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.1b20-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.5.1b20-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.1b20-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 da345c92e87d4e5024cdfaaa027c230174f9d0e09ee6de3faeadd82f7ab1445a
MD5 14ee23aa2e7211b82b065b22e2a069e7
BLAKE2b-256 ce2689c251f5b29d2795d124d076b7d6de48796473f3a0278a14990a53fed980

See more details on using hashes here.

Provenance

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