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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

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

File metadata

  • Download URL: secantusdb-0.5.2b1.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.2b1.tar.gz
Algorithm Hash digest
SHA256 10ce9a2506b1a69785330c1558c7a73a2e6cf9de2cfeea1d6e7d6b25d280c982
MD5 5acd0e0ff4b3161e63eba55ed022f1cf
BLAKE2b-256 a91d5818e8465d520d809b1122d893b1f9a36301e1898e953c87918eec3868a4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5f9808b930bd975a07fdff55af30565b9fae805faf9da05ee1587bf4023f0ab8
MD5 3a16bc21a38947a3ab5d2a4b25e6a371
BLAKE2b-256 0bbaf7e47b56a7adc6d8ebbce80bfe529ae7576d5b872547f268e34dd35f1233

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d17fb702b40918412299ebad7f12cbc93bb5241c98000278d6787aa39dcbc3ff
MD5 6ef97414684aaef64d32c4753e4a85bd
BLAKE2b-256 b559d98028cfa587419d92fbd7bc2e103e2481641c34c5ed314bfbe1ed3fb944

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 69e448785ca64f581af95ae59b59eb04d7da3919831045c5c206719be5eb8843
MD5 a9cf53c31627eaa1ce9d8d6dd0b6cedb
BLAKE2b-256 2f365b7493bd481d297b218c9d72fa3b2323ba5c8fff3aa0da9a09aaef441042

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1c118ab4f7e2903e2a45dd70c80b82c86c1a174afec7440a74c342b3dda0955b
MD5 ae56e680c1c32fdb9bf1de0052837378
BLAKE2b-256 eb4ed929604c6c351a8ddb010be93fd2c3d9763b84d7ad901bce4544a65dd2aa

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9a4a3e49f4590e8e6e64d77c99450f045a269d1207f8596e8220193f4b196c7a
MD5 49655e9fa6af3181b3781a1a5d542af7
BLAKE2b-256 0e0ab8520b15c1513440be2c1f4b2a3265ef4382edbf8fa6305cd4d7638ff0cd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1084305aded8e7c00a7ca10f29c8a6a3b3009e3c325951e0cdbdce9923d68c5a
MD5 42abce0c7373d74a5f1e2ec826be86eb
BLAKE2b-256 4dbd3ba2c1131723b02b4b0d89cd383978b3aa93e56c9c422df8777e5b78164b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 dda7f17df20e252961703920df33656e384fe18b30473810d0f8e3c08c5ae1c8
MD5 a1a928febd25157b5d5f73ad9d5714dd
BLAKE2b-256 00fa406d39842c9fbd4bfba2ba6a8e87d77d61b3b0d9b84463e4ca1d6475b9e1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a0e5ef8160bb157ded072ade6e8a5b19fd70a5480944cd6ef3a2ac0034d4c773
MD5 ace83d37dd6f4a599870333b9beb5971
BLAKE2b-256 84ad796cc328a5c092112db3554e6e4463a127a1862e9f91e7b66aac57aae1ba

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a6625e1777a04b9888d455bb5be0aa44ed21b7b0fa24efe610c1c09da0badcef
MD5 e15910e28c32b217b8125e553527d4c0
BLAKE2b-256 d7e61d14f09ddce22b7505b850d338592278f536e912ce2ee7178ba0e6bcd0a3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5563fed0b201fc06f8d5b95fe64c6e3b0cbd836d910ee8e0735bcb143cf7535
MD5 49854a49eafd02da4d8ca1c816e34e5c
BLAKE2b-256 0f624cb7df6098c00d565478a2119a17fb72c6c8d9d30910985d7ad799813db5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ade0115dd73cb615a7988b0a3055bf814c8eb65bd41b045106ab207dd434cc17
MD5 fde4c98c6e6a994ccdf90bfedb18676e
BLAKE2b-256 294aa941dca464d693cd31cf4cab907a20981d052c37e7fdaf3c2902cbef7231

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e6c07923240152c7d20756df1f66b7f360bacfcdcf415ea292d8c6a785839a38
MD5 225af73563987dac5a3abe1c730b064d
BLAKE2b-256 c3a21c36a119dd3cb24be810e1e8b2baaeecf9079da1b9e915aa8cda2134baa4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 211aa3c9d5221dcfa803a709aca4070f13f5ad3776bd39e161534c6ca692b32f
MD5 e04f3299f882506b6d86c4936d9de277
BLAKE2b-256 b41bade0972ff8efc6fae496047864cecbe71e0fafb967310eeb0defaf9e2e17

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bbec9ac3ff6af21c91e1144740bcaf1ec5df33769e5faa2fb1d0b097ddeeb3bd
MD5 35c0869b5318788adc252d94b8d34ab7
BLAKE2b-256 c5ee4b1f0343b809569825e9c536d8a33eb0262f23e2d719fb8696d77e93458b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b8c161542ab1be90e7ac75e73728e0b7c275a2743eb8ff341851111b19b8b7a6
MD5 e0349ba83bc048580c2e3947d328241b
BLAKE2b-256 348610c90a5c1d66dec3598381122f4c9ddd93d5e19db1651bb46db74bbccc5c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 756513f8da4cab81289df695a869c7d0b07cdeea7712e3b5ebb382d9eea188bf
MD5 f6f5d395731be10030db12abd66608e6
BLAKE2b-256 c3bde46ccf505b7fbcf4c4009991e1f67913b4d7e2e122a01a8582c7ba2912d0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 beaaf6de4641b216fb6da4a9ff62a8ac9aa4dd48115625adcbfa1a8b8d4be057
MD5 a3eb5c8c8884851965b886e8c2bbb3ff
BLAKE2b-256 641002f477c239faf98ae93e30998222d2d70a855d14f06c8fde2e678c9a6b47

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac357d7387c4c4e7950ab71ca648cf1c9d1abe1c61651869c777944071a3a499
MD5 c3aa692c76c4df255dcf3d02c52edc2f
BLAKE2b-256 85237dfed99d991d62ac3596468462c8e2957f307f7b6038f2c954f02f6cb5da

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2841998ab816b2013827bc18f41d25e62343c080d88122efed8483d6cb6ee389
MD5 60b44bb08fa686caf998eeac4177c341
BLAKE2b-256 47ee4def81074cc80b5b85920c69d077b4351cdc345323828e9843732deccc80

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 87d499ea510005b81c163baadcdb956de0d1d43a00d15e57bfd5a2a268d0d623
MD5 455efb3e8ae31b307d116b274e8b12ce
BLAKE2b-256 11d5a54b4df5e407158481ee38f6778199504c8ef831495af603d909450cebcd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3528e385483f3fb8fb9ee15a98dcc536e0976c060741360346e1f841ff3e7232
MD5 d0a97307cc1c06d12ce33e364469b732
BLAKE2b-256 a4d43b310a102286a3b3b1ee2221722ef4c1fe61f427a4883b675993e8a8d7d2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 45b18f802265852522adce38371b2a0fc2fdec8d02ae1d98de65f0725cb46382
MD5 0289edf157a310bdbdf520fec5771f7a
BLAKE2b-256 d30f8926431c55f2bbd9548ba661298268b75bf8790ebf7408a6053e39469f23

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 81946791d04daf4e8ec41db36d1d18a2c731e062e4e6f7ebf870f128972a41b5
MD5 453a7a2a455f03eb7ca01b8c7784e43d
BLAKE2b-256 98b4f9be5e83c197493c40acec4f202214104411443b65b298ddef5c9be9ad78

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for secantusdb-0.5.2b1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 214c2e43b2b771b781a6d7779c2edb05027138a4afe437121bd049f944c7ee60
MD5 2f42b9da2e1359ac9c4da72863e7de07
BLAKE2b-256 4c0433ec8ad9be4a4f1d8f4b27dca405d1693f4c423fe0acaac0843078c8439e

See more details on using hashes here.

Provenance

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