fastdb
fastdb is a C++ local database library designed as a fast, lightweight, and easy-to-use data communication layer for RPC and coupled modeling in scientific computing.
Portable payload status and 0.2.0 direction
The current tree implements the P1 fastdb.payload.v1 compiler/query Core,
the P2 non-reference record.v1 runtime, the complete ordinary P3
object_graph.v1 Core/runtime, and the public P4 four-language artifact
generator. The pure-C boundary is now locally frozen at exactly 117
fdb_payload_v1_* exports: the historical P3 boundary remains exactly 105,
and P4 adds only the reviewed three provenance guards plus nine immutable
ArtifactSet/codegen functions. The frozen P2 sub-boundary remains exactly 99;
that is exactly 99 fdb_payload_v1_* exports, and neither P3 nor P4 rewrites
its meaning. The combined runtime surface covers all V1
values and nullability, graph roots/refs, sharing and cycles, immutable
repeatable plans, truthful direct/staged heap and external final backing,
hardened copy/external open, checked views and scoped access, detached
reachable-closure materialization, drain-before-release invalidation, and
stable owned errors. The header-only C++17 facade projects the same C ABI
rather than defining a second parser, topology, layout, graph runtime, or
lifetime model.
Native coverage-guided targets are a sanitizer configuration, not an isolated
executable toggle. FASTDB_BUILD_FUZZERS=ON requires BUILD_TESTING=ON and
Clang or AppleClang, and enables ASan+UBSan consistently for native libraries,
ordinary tests, and the libFuzzer executable.
The P3 quality boundary includes a reviewed 16-seed record/graph binary-open corpus, graph-aware deterministic/fuzz traversal, a 17-class executable proof map, exact Sections 4-21 and active Stage B traceability, full Core WebAssembly graph execution, and exact native/applicable-Wasm ABI-105 checks. D1 is closed by the large range-write-only direct test, allocation threshold, heap-reserve observation, staged byte-identity check, execution reports, and source audit. The complete local gate is green. The context-owning primary agent performed the final P3 review with no unresolved Critical, Important, or material Minor finding; by explicit user direction it was not delegated, so no independent/subagent review is claimed. WebAssembly pthread behavior is not inferred from the single-thread proof; native tests plus ThreadSanitizer remain the concurrency authority. Current hosted execution and publication are tracked in the 0.2.0 release record.
P4 is locally complete through Tasks 1-9. Those tasks provide safe Rust,
Python 3.10+, and official TypeScript/WASM portable projections over the
unchanged C ABI alongside the existing C++ facade. Their shared executable map
covers canonical identity,
record and graph binary bytes, complete logical values, five-field errors,
ownership/invalidation/materialization, and truthful direct/staged execution.
Rust source/system link seams, installed Python wheels, and the packed
browser-capable fastdb4ts/payload subpath are locally exercised. Core-owned four-language
code generation returns deterministic in-memory C++/Rust/Python/
TypeScript artifacts through every projection; a clean-tree harness compiles,
imports, type-checks, and executes all four against their official runtimes.
The closing four-shape hostile matrix covers all values, recursive lists,
keyword/generated-prefix collisions, and shared cyclic graphs. Native tests
also freeze exact per-target output ceilings and concurrent byte/path/SHA-256
determinism.
The C++ Core remains the only semantic authority; none of the bindings or
generated outputs contains a second parser, canonicalizer, digest, layout,
binary, graph, or materialization model.
P5 local clean cut is complete at exact ABI-117. Tasks 1-7 remove the duplicate
authority without aliases, expose the final RecordEngine name directly,
state the retained standalone boundaries, enforce the exact clean-cut policy
over tracked plus untracked/non-ignored files, and pass the fresh local
release-readiness matrix. FastDB implementation commit
7eb74734926bd8fe911229eee9744a6dd8172487 packages that frozen owner
boundary into a seven-artifact local candidate at unchanged ABI-117 and
unchanged package versions. Downstream isolated Rust, Python 3.10/current, and Node consumers exercised those exact artifact hashes. The retained
FastDB manifest has SHA-256
9a1c7c83dca16237257dcc50d5917f10d032e02ffceae1278ae331d101b69d32;
see the local-candidate evidence.
Hosted execution, versioning, publication, and official downstream package composition remain open. Those external facts are tracked in Issue 0002. No local result or workflow definition is represented as a hosted pass; the new projection jobs are definitions until an authorized hosted run exists.
The source package versions are now 0.2.0 for release preparation. Registry publication remains pending until the release record links the successful hosted run and verifies the registry artifact hashes. Previously published 0.1.x artifacts are migration inputs. This source tree exposes RecordEngine without a compatibility alias. Capabilities
deliberately deferred beyond 0.2.0 are tracked separately in Issue
0001.
- Accepted portable payload design
- ADR-0001: Core authority and clean cut
- Issue 0002: current implementation status
- Issue 0001: post-0.2 deferrals
This repository now contains three closely related layers:
- C++ core — native storage engine, binary layout, and serialization primitives
fastdb4py— Python bindings via SWIG, with NumPy-oriented strided field access and shared-memory IPCfastdb4ts— TypeScript bindings via WebAssembly/Embind, focused on browser-friendly typed data access and schema-compatible table access
Current storage strengths and accepted direction:
- Efficient strided field access — the existing AoS record engine exposes fast field-oriented access without claiming Arrow-like SoA storage
- Ref-graph support — Features can reference other Features across tables, forming typed object graphs
- Compact binary transport — save/load databases as binary buffers or files; shared-memory deserialization for zero-copy IPC
- Cross-binding consistency — the 0.2.0 target makes the C++ Core, rather than a language binding, the semantic authority
- Schema-driven codegen — the target Core returns deterministic C++/Rust/Python/TypeScript payload artifacts in memory
- Portable record, object-graph runtime, codegen, and clean cut — P1 provides canonical identity, P2 provides the frozen record path, P3 provides the C/C++ graph runtime, P4 provides equal language projections and four-target codegen at exact ABI-117, and P5 removes duplicate authority. Publication status is tracked separately in the release record.
Documentation map
- Python binding (
fastdb4py): seepython/README.md - TypeScript binding (
fastdb4ts): seets/README.md - C++ core (
fastcarto/fastdb): seefastcarto/README.md - Accepted portable payload target: see
docs/superpowers/specs/2026-07-16-portable-payload-foundation-design.md - Architecture decisions: see
docs/decisions/ - Known intentional limitations: see
docs/issues/ - TypeScript/WASM analysis docs: see
ts/analysis/ - Core-owned codegen CLI (
fdb codegen): see Core-owned codegen CLI below
Changelog
See CHANGELOG.md for per-binding unreleased changes. For historical release notes, see the GitHub Releases page.
Installation
Python binding (fastdb4py)
pip install fastdb4py
TypeScript binding (fastdb4ts)
npm install fastdb4ts
Quick start
For a minimal end-to-end example, start with:
python/README.mdforfastdb4pyts/README.mdforfastdb4ts
If you are working on native internals or storage layout, start with:
Python Backed View Lifetimes
fastdb4py distinguishes owned Python @feature objects from backed table views. Owned objects keep normal __dict__ read/write behavior. Backed rows, checked numeric columns, StringColumn, and BytesColumn can be tied to a FdbViewOwner; after fdb.invalidate(owner_or_view), later checked reads or writes raise FdbViewInvalidatedError. Standalone FastDB tables remain trusted and return raw NumPy numeric columns by default, while integrations with reusable memory leases should pass FdbViewOwner(checked=True, ...) and use fdb.materialize(...) or value.to_owned() before retaining data beyond the lease. See python/README.md#backed-view-lifetimes for the Python API details.
For safety-sensitive integrations, pass writeable=False to expose read-only backed rows and checked numeric columns. This blocks row field writes and column writes even when the owner itself is an unchecked trusted owner.
Standalone Python RecordEngine.truncate() with STR
This source tree uses the final
RecordEnginename directly and provides no alias for the pre-0.2 engine name.
fastdb4py RecordEngine.truncate() now supports UTF-8 STR fields in two usage tiers:
- Default high-level path —
tbl.fill(..., name=[...])now routes raw strings through the native batch string-column API - Advanced prepacked path —
pack_utf8_column([...]) + tbl.column.name.fill_utf8(...)
For fixed tables, the high-level Table.fill(...) path batches numeric columns and STR payloads together. Raw string inputs are packed inside the native batch API, scalar BOOL columns use the same explicit bool parser as mutable engine writes before bulk numeric storage, ordinary U8 columns remain numeric casts, numeric columns still remain NumPy-backed after publication, and string columns are exposed as StringColumn wrappers via table.column.<name>. If your input already starts as Python str objects, prefer this default raw path; use the prepacked path only when an upstream stage already produced UTF-8 offsets/data buffers.
import numpy as np
from fastdb4py import RecordEngine, Layout, F64, STR, feature, pack_utf8_column
@feature
class Point:
x: F64
y: F64
name: STR
orm = RecordEngine.truncate([Layout(Point, 3)])
tbl = orm.table(Point)
tbl.fill(
x=np.array([1.0, 2.0, 3.0], dtype=np.float64),
y=np.array([4.0, 5.0, 6.0], dtype=np.float64),
name=["a", "bb", "ccc"],
)
# If you already own pre-encoded UTF-8 buffers, use the advanced path directly:
offsets_u32, utf8_bytes_u8 = pack_utf8_column(["a", "bb", "ccc"])
tbl.column.name.fill_utf8(offsets_u32, utf8_bytes_u8)
Core-owned codegen CLI
fastdb4py ships fdb codegen as a thin filesystem facade over the
in-memory ArtifactSet returned by the C++ Core. The CLI accepts a portable
specification and one of the four official targets:
fdb codegen specification.json \
--target rust \
--output ./generated-fastdb
The output directory must not already exist. The CLI validates every Core-returned relative path, writes a private staging tree with exclusive file creation, and publishes the complete tree without replacement. It does not discover Python classes, parse or normalize the specification, calculate identity, render target source, or add downstream-domain artifacts.
Current 0.1.x Performance Notes
| Pattern | Throughput | Notes |
|---|---|---|
table.column.x[:] columnar read/write |
~100 ns for any N | Zero-copy NumPy view, 1 SWIG call |
Table.fill(**cols) |
~2 µs per column | 1 SWIG call + memcpy per written column |
feature.read_all_scalars() |
~200 ns for 3 fields | 1 SWIG call for all scalar fields |
table.iter_reuse() row access |
~350 ns/row | Reuses Feature wrapper, no allocation |
for feat in table row access |
~1.2 µs/row | Allocates Feature wrapper per row |
feat.x single field read (db-mapped) |
~420 ns | 1 SWIG call |
FastSerializer.dumps/loads (Python, legacy) |
~70 µs (complex graph) | Retained for compatibility; not the foundation for new external RPC integration work |
FastSerializer.dumps/loads (TypeScript, legacy) |
~75 µs (complex graph) | Retained for compatibility; not the foundation for new external RPC integration work |
Recommended patterns by use case:
- Bulk read/write of one field across all rows →
table.column.x(columnar, zero-copy) - Bulk fill fixed-size tables →
RecordEngine.truncate+table.fill(...) - Bulk fill pre-encoded UTF-8 buffers →
table.column.name.fill_utf8(...) - Iterate and process all fields per row →
table.iter_reuse()+feat.read_all_scalars() - Sparse random access →
table[i].field
Free-threaded Python (PEP 703)
fastdb4py includes preliminary support for Python 3.13+ free-threaded builds (python3.13t).
Thread-safety guarantees
| Component | Thread-safe? | Notes |
|---|---|---|
Module-level caches (get_class_schema, serializer schema) |
✅ Yes | Protected by threading.Lock; safe under both GIL and free-threaded builds |
ColumnAccessor column cache (table.column.x) |
✅ Yes | Cold path (first access) is lock-protected; hot path (cache hit) is lock-free |
Table row reads (table[i], iteration, iter_reuse(), fallback string lookup) |
✅ Yes | Per-table row materialization uses a read lock around native tryGetFeature(...) calls |
Feature instances |
❌ No | Instance-level _cache dict is not synchronized — use external locking or one instance per thread |
RecordEngine / ObjectEngine / Table mutation |
❌ No | Not designed for concurrent mutation — create separate engine instances per thread, or synchronize externally |
| SWIG C++ calls | ✅ Yes | Long-running pure C++ operations release the GIL via %feature("threadallow") |
Recommended patterns for multi-threaded code
import threading
import numpy as np
from fastdb4py import RecordEngine, Layout, feature, F64
@feature
class Point:
x: F64
# ✅ Good: each thread owns its own truncate view
def worker():
orm = RecordEngine.truncate([Layout(Point, 1000)])
tbl = orm.table(Point)
tbl.fill(x=np.arange(1000, dtype=np.float64))
# ✅ Good: shared truncate engine with read-only access after publication
shared_orm = RecordEngine.truncate([Layout(Point, N)])
# ... fill data ...
# Multiple threads can safely read table.column.x concurrently
# ⚠️ Caution: sharing Feature instances across threads
lock = threading.Lock()
feat = Point()
feat.x = 1.0
with lock: # external synchronization required
feat.x = 2.0
Build configuration
The CI tests against Python 3.13t (free-threaded) in addition to standard 3.12. The setup.py auto-detects Py_GIL_DISABLED and passes the flag to the C++ build.
Development
This project uses DevContainer for the development environment. See .devcontainer/devcontainer.example.json for configuration details. Requires Docker/Podman and the VSCode DevContainer extension.
Common development commands from the repository root:
./py_utils.sh --clean # remove C++ build artifacts and SWIG-generated bindings
./py_utils.sh --setup # initial Python environment and editable native binding
uv pip install --reinstall -e . # force a fresh editable native binding
uv sync # restore locked dependency versions after the rebuild
./py_utils.sh --test # run Python unit tests
uv run pytest tests/python -q # run the Python test suite directly
uv build # build the fastdb4py sdist + local wheel
bash ts/build-wasm.sh # build the WebAssembly module for fastdb4ts
npm run test:ts # run root TypeScript tests
fdb codegen specification.json --target typescript --output generated-fastdb
Build requirements depend on the layer you are working on:
- Python binding: C++17 compiler, CMake >= 3.16, SWIG >= 4.0, NumPy
- TypeScript/WASM binding: Emscripten, Node.js, npm
- Native core: C++17 compiler and CMake
Python release checklist
Before publishing fastdb4py, bump [project].version in pyproject.toml, refresh uv.lock, update the fastdb4py section in CHANGELOG.md, and verify that the release tag py/v<version> does not already exist. The PyPI workflow publishes only when pyproject.toml changes and the tag for that version is absent.
Release files for fastdb4py 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fastdb4py-0.2.0.tar.gz | 1.1 MB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| fastdb4py-0.2.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 free-threading | Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 | Details |
| fastdb4py-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl | CPython 3.14 | CPython 3.14 free-threading | macOS 11.0+ ARM64 | Details |
| fastdb4py-0.2.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 | Details |
| fastdb4py-0.2.0-cp314-cp314-macosx_11_0_arm64.whl | CPython 3.14 | CPython 3.14 | macOS 11.0+ ARM64 | Details |
| fastdb4py-0.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 | Details |
| fastdb4py-0.2.0-cp313-cp313-macosx_11_0_arm64.whl | CPython 3.13 | CPython 3.13 | macOS 11.0+ ARM64 | Details |
| fastdb4py-0.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| fastdb4py-0.2.0-cp312-cp312-macosx_11_0_arm64.whl | CPython 3.12 | CPython 3.12 | macOS 11.0+ ARM64 | Details |
| fastdb4py-0.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 | Details |
| fastdb4py-0.2.0-cp311-cp311-macosx_11_0_arm64.whl | CPython 3.11 | CPython 3.11 | macOS 11.0+ ARM64 | Details |
| fastdb4py-0.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 | Details |
| fastdb4py-0.2.0-cp310-cp310-macosx_11_0_arm64.whl | CPython 3.10 | CPython 3.10 | macOS 11.0+ ARM64 | Details |
Total release size: 17.9 MB
Release files / fastdb4py-0.2.0.tar.gz
| Download URL | fastdb4py-0.2.0.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
422eb5b7c23a3f42655b9ad826ed6ce84b253ad1bc474fcb6c2d64d2d1b8f09a
|
|
BLAKE2b-256 checksum How to use checksums |
97cf709e1335f4f15ca79c2d80f336598b2eed5314a514568290996188484832
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / fastdb4py-0.2.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastdb4py-0.2.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3d5f8d3b49d783b75b07b0f8d130dea867483995c002a65f63ae1691293a8437
|
|
BLAKE2b-256 checksum How to use checksums |
ea2ee569339b283361a9d48b92d33cdc0f4006aa0a2dace7afd812deac5b87fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / fastdb4py-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | fastdb4py-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b1d19a1fa717329f30c78bb31e0a3b4c662f4a263b4754515f373d39ef7304c4
|
|
BLAKE2b-256 checksum How to use checksums |
e7b69b0c3b435f7f18593528eee4e739eed7ae78035960e5ccc23cb571331ed0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / fastdb4py-0.2.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastdb4py-0.2.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3712be8129ab76d5b08e1b656e970c28f0e23cfdae078c9c512635c64373dd67
|
|
BLAKE2b-256 checksum How to use checksums |
daeb5e1c5c6af1f465136025be86078eed38ebdd61a258b8ed6676c2d2b43ea1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / fastdb4py-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | fastdb4py-0.2.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a93ee6811e48d06c252f6f30cdd1d2912a060e403c0baef9f660175ef82cd399
|
|
BLAKE2b-256 checksum How to use checksums |
3178d6a727ae1502471e686c5d60c37b5c6582d1eac4757e9ba34ab214b4ec53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / fastdb4py-0.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastdb4py-0.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
79d73091d5c214658813f97ef588819cc1e8980a7c90cb4a1af68721efda31fd
|
|
BLAKE2b-256 checksum How to use checksums |
97259e2a857cb6db41b1c3a31996a03de6e8ab52a0a307aaf4a57e63d619557f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / fastdb4py-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | fastdb4py-0.2.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
11e217627535527cc5c95878669ba0164274a6844f18d1cf5caad9e08bfd907f
|
|
BLAKE2b-256 checksum How to use checksums |
62abba5a6581b3a72ce7da7b70162bcdc2adfe4cf5d76b9a3b9793371d4c5f34
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / fastdb4py-0.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastdb4py-0.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
de31fb1b68dc04c78eda47cb1b8738c3b9069ac9d7ddbf96c1b0f105504eed5e
|
|
BLAKE2b-256 checksum How to use checksums |
89f307e01df07b7003fd0794d2251cc3da94c9e6802e6a8784f10babebee9813
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / fastdb4py-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | fastdb4py-0.2.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4c1cd4fe595e7d91fa094a5afd425d3c5b88b1f4ac9bafaa526bda0670bdd99e
|
|
BLAKE2b-256 checksum How to use checksums |
ef66b44b5dbd62caf2e44f26845ad105aa14747dd5de9d1ca9061e9fb5192125
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / fastdb4py-0.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastdb4py-0.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b37279a10e43d09708e212cd822a564354811180da95c6fcbfe642e9977fface
|
|
BLAKE2b-256 checksum How to use checksums |
f879c7f9e271a02a511ab186af59e4dd5547fa053b5be947fe47f2c492f9b88f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / fastdb4py-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | fastdb4py-0.2.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
99ff09b828811ca89812294ef3b196897e8db2883ee511c390e6c37d8aeb5577
|
|
BLAKE2b-256 checksum How to use checksums |
339d74601b9bebb1f8bcf6c358f2730d3844d6575b61fdc3ade6d7c4dbdb7f97
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / fastdb4py-0.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastdb4py-0.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
8bd8e8b15297e32d57e9a834564df410a106db4f0dce4bc7654b6e72fc63a618
|
|
BLAKE2b-256 checksum How to use checksums |
2fda37ceb112073d54a8f0e99022be97009b23786ddc2ff902095b971aa3475d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / fastdb4py-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | fastdb4py-0.2.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8bd7893ed1fe82ca3d95ce53bee811bd6270a6b8bf31137d8c4441f4744e710c
|
|
BLAKE2b-256 checksum How to use checksums |
cd58caf410e89a912d51ca6295aa9de3722ed4c631a679f8133a6df07959ae09
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|