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.2b5.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.2b5-cp313-cp313-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.13Windows x86-64

secantusdb-0.5.2b5-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.2b5-cp313-cp313-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.5.2b5-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.2b5-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.2b5-cp313-cp313-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

secantusdb-0.5.2b5-cp312-cp312-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.12Windows x86-64

secantusdb-0.5.2b5-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.2b5-cp312-cp312-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.5.2b5-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.2b5-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.2b5-cp312-cp312-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

secantusdb-0.5.2b5-cp311-cp311-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.11Windows x86-64

secantusdb-0.5.2b5-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.2b5-cp311-cp311-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.5.2b5-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.2b5-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.2b5-cp311-cp311-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

secantusdb-0.5.2b5-cp310-cp310-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.10Windows x86-64

secantusdb-0.5.2b5-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.2b5-cp310-cp310-musllinux_1_2_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.5.2b5-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.2b5-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.2b5-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.2b5.tar.gz.

File metadata

  • Download URL: secantusdb-0.5.2b5.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.2b5.tar.gz
Algorithm Hash digest
SHA256 15d41d9f22dd3dc94d3d240473a5bc177a3d8f606fb5f7acfa1084445c58b35a
MD5 f9fe76c28674e32656bc14304fb92679
BLAKE2b-256 6ddba55cef833aac99037e276cab2df1708eddc691442dc8f2c6b5d67c271d5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5.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.2b5-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e5476e6c0d30c71bbb17bd6f492d42111193fbf279b7398f7b5c856dc648598d
MD5 ddc3c804c8085cb088698d74e286f18c
BLAKE2b-256 5b8f557e3e0f3367737c2dd6f56ba5d88a85a59796f8cfdb5df1b94695844037

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6290c760f05fc0ae8c44ddf57bec8f2d9dcdf85b493c10f1f34673ff736001e0
MD5 f5dc2af62733c61cd6ba4d2deb128b7d
BLAKE2b-256 fbb75c0520b1cb659d84ea06f802d21353388ed86e50a22cefaf228b6c197812

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e5181aea0032711f4a05ca8aa5d205fac9d6d3a046a1685613d06bc33ec0a7b5
MD5 1a806837c90dacc8c1f7a82618195402
BLAKE2b-256 3c4e2c3e412742722e193d88483a69eb8a5f4e15f14b5c6c31bac553ea24478e

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4a7ee7f61a987bfba0454d75ffbfb31d770e1e6424d3533b8d430fa0e4dd8ba1
MD5 8c8b8c0322865f8bba2295fdd650a2ed
BLAKE2b-256 1553e0fbec365a3ce1d2b3510fadd8fbbee877bd1d435c2b4832e4f4dc51b7c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f19f8f0da84668d5af669897d9525df01ce4d9de39270a09e3de891ba7060040
MD5 cad337b5e9e88aba853db4275aa1cffe
BLAKE2b-256 1d806b5c73d665ca24b168fec1cf5d6d2aec9db432a64fa427fe0fff6adcaaa0

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a75f1675f88b0cb992fca355bea86e731036f6034db380eb22c27b0b5bdf703a
MD5 1d58e7ddf2e8ffe174295072e342e5ff
BLAKE2b-256 dbc868a7844a2e327553211cededd50eb0c5bf2050eaae7efa3a228fd1aba7ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1ab7d0779efaf4e4320633a3be373aa7c42f350b308cc31f6b0ab31fa4e89df7
MD5 aad3f96ac8c15365a328fa7a816e4028
BLAKE2b-256 d1ee13d54561286ce7ec628581a055e572cfcbfdae822b3e4e17039f736aea93

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 936355a9832c9b919959e9f97536b17d3d0a33fe0e1c839d26c69ffe99ac1bc2
MD5 b4f6f1dfbfc6cf55a04810af07d2d076
BLAKE2b-256 70970a815b145aed3162fdf65c54a957a615e41a246ce44f2833c70f75a60a3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6fe8d971a74517c0aa998627a02d074c36057a3b7c5647713e437f8c74ac8255
MD5 d3ff0aaf4c884cd42bb67a93c7e9c16a
BLAKE2b-256 e489e33b7069328718dee9a71e7cd496077bf7581285cabde0d521fee3872c38

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7e1430ea49c3090f94d36d14e6381a243d250117ae1c267ced65f30d99722293
MD5 9638d25e9323171a4e6d16345aed1a00
BLAKE2b-256 b528e8f62c80e96efb44741b29daa0abad0ac6052280ac4552d7530649297bb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5b8fad3dbe1a840e92f6a7a5e12056c574d610783817a7a12e5698711d8b7cf8
MD5 b29e654fbb327050ac62c947d908208e
BLAKE2b-256 686fc3b36292f49635526926404b79bbc17a059b636c51272a63967d84ba568c

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f347119c66159746a5bc79ba493bacfa62fe66910bb4bb0d37fb5e1ee6420907
MD5 41b5d0f211f3dd2876e3b6340d0880ee
BLAKE2b-256 b70a94a21af1b45d69cc22de054ddcd5d50149c000b52c2bd5bc46b69badc237

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 80604ff4f03214fc99fe1e959afa9aea2ef29144fb206a3f02f7610062d1e068
MD5 08f8f668346e040b89b42cdf71f046fa
BLAKE2b-256 dafd563637230c8aba63d7f5ed9ffdca82205769e4a4567a6de415d21b2352d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7447951663b98db4e69b50f8b1a3cc1a117a94583e0e14a5acc7577174e9a078
MD5 9ee1881aef538b93d98156579d929e6c
BLAKE2b-256 36d80c4b4e9bcfaba680e8c26b42ca410962d8dbba3c8c4e2d8dbe7ecd19cfdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f77e223d53086a207e6e1cf36947735016d704811ae54eee15e9972b7833cbcb
MD5 4a9604b967103bcbdec47af15198bdb1
BLAKE2b-256 83ac688b39bf98755961ce588e1571f89730ef4b98fe725cbb91b89af65c9b6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b3305e0b6a46b1257b58b53558f22e2f3bbd817b7301d0e191952a33e349858a
MD5 79a606c0680477ed384e80361a889ebd
BLAKE2b-256 2853c921a0e59164c06a9a868a1963d935f6fcd3b9858fb5d1da856a92c08142

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 84f1ef38728919fa90525ea432d7fc150740fb5504b46f8f4ead132b55f8835f
MD5 09402dd546bb3bd343a846685efe9cf3
BLAKE2b-256 0e7091eea1ab3a056c1a75ff715d3f0c1234a0d8dec32634d7203e8e1f72078a

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5354d9741e31882967026f45aa3ad4a6f61bd718ab4f48f2883d11d65ea9aa13
MD5 9af045c1bade67230b655a478047d0a9
BLAKE2b-256 81f0844f7f1f0989c415425a3bb64e798b46f2f3be40eed075aa5453ed897414

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e80eba78dde547198811be1f934ebbd0a9bf13edba45c2aee7ac0e793bc63b13
MD5 712b029b45a25f690cda6737dc2e2169
BLAKE2b-256 1732b9bea9198a01a2c92e91a6c9bff9866bf64397be061794f99430988437a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f0d4fde70d251b0a1e9421fb0dfeb83e9cde4cf7d3ff7a99dca450641eb400a7
MD5 7dcf61318cd906ad026416ce2d77d593
BLAKE2b-256 807cd7eaf1ced9dcdd855f3e3666d228277ee034951bb5ae95c1ac77b1cb48f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4b2dd9d689cfcaa8b0a5f651c9796a355140911bf497358dc70ebb053ec4457d
MD5 788877c7e2942d688f5a6088534ac405
BLAKE2b-256 2aec2326f26fa2f242a2d19aa3c634aa3b28120d8ec8cb4e41db46dd43a06acc

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bad5b659650861ef5aa623609b6bf42b844f515c6a0c34805c1dd1eca1592592
MD5 4f5eb6c63624709292395990b8b18f9e
BLAKE2b-256 c6fd9d728b01d0498cd6f7baf6218ceb389401f1ef8833aeb0fe8c588ca6abcb

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7f4fca495cb0b9d09fa168af91234883bea85fdda4e8668b06d04e34a28eee97
MD5 aa0b06020308fc2c246a8ff8827c416b
BLAKE2b-256 3db6e6cf50b2eccb34f1d9fd6b191aeb79006443bba764a995d32d30894628cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.5.2b5-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.2b5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.5.2b5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 990fc23b75b84768958140f152e7603241ed37c192ceb03a283ee603c7e36426
MD5 1c5f4e978a004d9f82f2b32a1fb31aac
BLAKE2b-256 9c01c0ad67f5db63653d81f6a9cc34ba231f76a3e58a93954409d51616a2a8c1

See more details on using hashes here.

Provenance

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