Skip to main content

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

Project description

SecantusDB — the SQLite of document databases

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

[!WARNING] Alpha software.

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

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

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

from pymongo import MongoClient
from secantus import SecantusDBServer

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

Storage engine

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

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

What's in scope

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

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

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

Installation

pip install SecantusDB

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

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

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

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

Building from source (unsupported platforms only)

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

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

See Installation for dev-install instructions.

Standalone daemon (drop-in mongod replacement)

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

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

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

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

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

Examples

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

from pymongo import MongoClient
from secantus import SecantusDBServer

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

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

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

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

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

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

Documentation

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

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

Development

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

Common workflows:

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

License

SecantusDB is dual-licensed:

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

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

secantusdb-0.3.0a65.tar.gz (5.8 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

secantusdb-0.3.0a65-cp313-cp313-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.13Windows x86-64

secantusdb-0.3.0a65-cp313-cp313-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a65-cp313-cp313-musllinux_1_2_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a65-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a65-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a65-cp313-cp313-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

secantusdb-0.3.0a65-cp312-cp312-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.12Windows x86-64

secantusdb-0.3.0a65-cp312-cp312-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a65-cp312-cp312-musllinux_1_2_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a65-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a65-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a65-cp312-cp312-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

secantusdb-0.3.0a65-cp311-cp311-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.11Windows x86-64

secantusdb-0.3.0a65-cp311-cp311-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a65-cp311-cp311-musllinux_1_2_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a65-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a65-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a65-cp311-cp311-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

secantusdb-0.3.0a65-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10Windows x86-64

secantusdb-0.3.0a65-cp310-cp310-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

secantusdb-0.3.0a65-cp310-cp310-musllinux_1_2_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

secantusdb-0.3.0a65-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

secantusdb-0.3.0a65-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

secantusdb-0.3.0a65-cp310-cp310-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for secantusdb-0.3.0a65.tar.gz
Algorithm Hash digest
SHA256 a106d6cd84352485ba0b960009fbd2d1116adca9ff6b78ba48178aad9adbd154
MD5 28a8fe1cec9646d5122e904dbd031c58
BLAKE2b-256 bbdfbfd84f848891043b0091318ccc88853c01a3bb7b5edc8afa69e509266935

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65.tar.gz:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 15c97cc562a58215a3a4d4ba3ac080e7575845caefce60887838205ac514c049
MD5 3198bc9896ede6618ca15758ceb2f148
BLAKE2b-256 63abef71c805e4a257c6c59d98f1195632cada432daa049f80580ce2552a9747

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dc40aaccf4bd9dde4cfa5f9a3d91575f5c03b3dcfda8c7822d90f89378d6d1ab
MD5 76c10fc2d44f8c994922044436b812d8
BLAKE2b-256 b4cbbb278b9e629be87b7c9a066a5e0294ab91207b5c52e119dc5709b983efb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f4617b5154056f4548baac07fe025285585fa6d3352e76a8ae135516d2f373b9
MD5 8f1ba1059b4bc0e13b99c90ab79a87a9
BLAKE2b-256 f2976571f61cd73ea70a0dd5b52bf915ed940c31582aba30dd46d777bd169afb

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 266f9546f420c9346395fa29a209867cb38f3161cd299d187805ba0a11cd8c20
MD5 796df2acdf90eeb8a65dc5856a6ed03d
BLAKE2b-256 85e9d62d89704808dd191b8af4a1e926672e028dd2e1b8546f0ddeea85e7d622

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 584f4babd5d33ef30d96c7e120ac3e8409037e57f68d431db8bb901f6b067438
MD5 4a27a23d85029318960148e887f1fcd2
BLAKE2b-256 28da28633f01156bd38f52db47c3d616c861b4b32e54091ff394d79581438917

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4036869aaa8c7609c7010ccf20df2b72f374d514d36df9fc98ecf6ecf8b11807
MD5 18f5e1e254999e3a6319e31e3e37101a
BLAKE2b-256 753d41ef547573c4f1df92c5904e940938e9e8ff1c8fa7aa7f49d0e9250e3bc7

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5772382d0dbb02b193b383827cdfd37de5e9f0459e73b6469df13628cc0228af
MD5 07578db5f098826ec55f4ec1d9bc0463
BLAKE2b-256 1cde0dde2f6f19e3f7d2a789e961a46fa3d92adef53a609a9c555d5a00f3c9eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6c61cb053db3b1e1d828d950d37530fbdba9c0f6e7f2b3c117639294a07a0c92
MD5 fab333e8bdc9eefa5025d135fed4bfde
BLAKE2b-256 ee11bf270cb413211ddefe88c6a08546afbc492fa110eda5174dbf822d5f7f82

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c41d2673aedb5344611e7277ee26a73a657152d6bd1e59f7facc64acf9c0c199
MD5 1ae1c06d969f226c2ca691cb4dad31e2
BLAKE2b-256 3517288ab25ba0fccc1119d7c4081b18b8427083c8a90f7dfa4134abddc58452

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aaa920d930e7751eed5cbc3f21fc416931bed7b0846a595e64bef85d166ff475
MD5 066716734f40267f3419071f668d37d1
BLAKE2b-256 fb50a946b5ca1e1abdf371fd53c8fe5b5652a16b6f674e3db3d5e77d9970c043

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7f9eb93840c10021e47114b87c9b1771a0925a5cb73a3a7fa827b725cb0dfaa6
MD5 283f3cb1cc1b748871ae03c0d9131a56
BLAKE2b-256 578384472c85c80e710b97ae8fb9dac8715442096ccea219b42f2d9428d0821c

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c5b17d99100a7367cf372d80efc304ddf6130970be61486aa3799ed244775b32
MD5 2c4b23e68fa94b3fef2c86c8e404e9ba
BLAKE2b-256 071717fac203a36fdd36a0d1c71bc499ca5aebeac5af8f2a6ed338e1577395a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0a5651d4f6e5b13a9ede82d8734e3d661a761ab4018e5635256445a74bec46da
MD5 01d575b2f80525fc43ca59fbf8444ddc
BLAKE2b-256 02614101d01e93928c5f43059db6d4cc3dac26c498275d2705cc417dcfedba3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0380e1c5973a485f410698ef67d7a2571491b2758b994f474f7bfc23ee1addff
MD5 6337d724404ae55dc221055172223d68
BLAKE2b-256 4e87f97c7c25fbca2bae3507b7ddadfc13c32c761e9c96ac6ad57596a8a44120

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e3d47f29958ea3eeaf333a910be9fb1bbefeefcd237511df88abf84cbdab38f9
MD5 783cc9bae24006e5b195314ee414c1d7
BLAKE2b-256 a09f2d9488bf8a8667f295a753bcfbc0f386e85cb661d55dd26cacd5b7bd44e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 238ea89e2375440770404b32c466165cddbf93e2d7f59e1759924932995c286f
MD5 f181eaa4745c48ba3fb6aa149dedf6a3
BLAKE2b-256 9d208f7051ce9db57ce9e122b4793973eff719a9bcc206069c04fb072579b618

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2a7fbc915593eda2d1df7191dc16b2d1a37897ed2e626d23bdf6c2c70721d7c4
MD5 9bf9d8a57d549aec429be879ef3677a8
BLAKE2b-256 3615b0d43eb8d646f82fd81b5702e3fa52d540d7345b601f9459f5a541283e3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5cb2bd5e73eecea550983626e1cb530a85e8300c17bd273ab8900331f02e9f67
MD5 1bc5067a4862319956f3d2815d95ca98
BLAKE2b-256 76568147d39811984297edbdc4b2c4f6ddfb533413121dc35a7b773fccb85c2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7a5146669b97932a7deb25bcdcaa59cfa386f77959d32f9f4a5666943aeae4d8
MD5 c6008addf50415990352910a7a56e81a
BLAKE2b-256 acce42f65c71faaa62a3549c88163dee926d04e2c12d66be91e95a924f1d2c07

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 256da4b45e3593a0a7554a9a1704c5bb59b2aaa762ff6d8f965b0be1af21beef
MD5 7e4625cd3f6616eb35ce53a6c3db0e07
BLAKE2b-256 a02ccd636fdd57cc10f7a2e90ff542d0c36916f3ab46b60b5de30ca3407244a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9e1085b3f39a8522b25285d30f3e04a92da496108de533bf5050b18e74e4026c
MD5 40765fab54ed0cd851d7717e1586b8a6
BLAKE2b-256 6cb50e1f52f22687e6c35633d87c7c31f34f876eb47d29cbd753d2ddffdfddbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9ef42e2a317b744c835f34770b4e445cbecb110caf9f7d3bc586a003dbe1ead5
MD5 420ad940e8bc043358786a018e91ff19
BLAKE2b-256 0307ca9a241148683f60b7b1534a5adaa50281441605b4ddc2ac2981e53eb44e

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9694ccd5c245efbd16d3d6e8a2851b104225f9a41a7bc472e4282838c1ee834f
MD5 178cb81bcfa88ace7e19b0990e0e01a7
BLAKE2b-256 80dc3b5a218af86ddad68e1021c3540d9bda820bb4925b02fbe66c30777931a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for secantusdb-0.3.0a65-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on jdrumgoole/SecantusDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file secantusdb-0.3.0a65-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for secantusdb-0.3.0a65-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e5f942fcbf33a553b0daaf471bb3378760876c601e8f3035ec15a9c279ed9f06
MD5 34f7c801c351a9dc509a0ba6ee0aaf0f
BLAKE2b-256 bb98b1bf2ad60105d6ea4c5f0a8ab6759c7baf08871e4eb12ac0826a6446fa9c

See more details on using hashes here.

Provenance

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