Skip to main content

FastCarto database bindings

Project description

fastdb

PyPI version npm version Run Tests

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.

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 columnar access and shared-memory IPC
  • fastdb4ts — TypeScript bindings via WebAssembly/Embind, focused on browser-friendly typed data access and schema-compatible table access

Core design goals:

  • Zero-copy columnar access — efficient field-oriented access for high-volume numerical workloads
  • 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 — Python and TypeScript bindings share the same native storage model and schema semantics
  • Schema-driven codegen — Python @feature classes can serve as the source of truth; the fdb codegen CLI generates equivalent TypeScript schemas automatically
  • Portable payload primitivesfastdb.schema.v1, shared binary buffers, and the fastdb4ts runtime let external RPC systems use FastDB as a schema-aware payload layer while those systems keep their own routing and execution semantics

Documentation map

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:

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.

Python ColumnEngine.truncate() with STR

fastdb4py ColumnEngine.truncate() now supports UTF-8 STR fields in two usage tiers:

  • Default high-level pathtbl.fill(..., name=[...]) now routes raw strings through the native batch string-column API
  • Advanced prepacked pathpack_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 ColumnEngine, Layout, F64, STR, feature, pack_utf8_column

@feature
class Point:
    x: F64
    y: F64
    name: STR

orm = ColumnEngine.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)

Python Call-DB Exact Export

For integrations that already own a generic call-db binding, try_export_call_db(binding, value) returns an existing buffer-protocol view when a value is already backed by an exact call-db-compatible single fixed Batch[Feature] table. Build such tables with the target table name up front, for example ColumnEngine.truncate([Layout(Point, n, name="return_0")]), then call encode_call_db(...) only when try_export_call_db(...) returns None. FastDB owns the exact-export decision; integrations such as C-Two should pass the generic binding and logical value rather than inspecting FastDB table internals.

Experimental Final-Backing Builds

build_call_db(binding, value, allocator, direct_required=True) is the experimental final-backing path for generic call-db payloads. FastDB computes one final DB byte length, asks the supplied allocator for one writable allocation, and writes the final backing without first publishing through WxMemoryStream().data().tobytes(). Fixed numeric call-db values use a mapped final-backing path that writes the initial C++ layout directly into the caller backing and fills columns there; prepacked string feature columns still use the C++ final writer. The allocator may be a native fdb.HeapFinalBackingResource, which returns a committed FinalBackingAllocation, or a Python allocator object that returns an allocation with .buffer, .commit(used_size), and .rollback(). Native final backing resources also work for fallback prepared plans, so callers can preserve fallback semantics when direct_required=False. prepare_call_db(..., direct_required=True) is stricter: it only accepts already-backed/importable layers and will not stage temporary call-db layers under a direct label.

Committed native FinalBackingAllocation objects can be passed directly to decode_call_db(...) or view_call_db(...). view_call_db(...) keeps the allocation owner alive while checked FastDB views are active; uncommitted or rolled-back allocations cannot be read.

FastDB also exposes experimental ScratchAllocator / HeapScratchAllocator names as the separate build-time scratch role. V1 keeps this role FastDB-owned and heap-backed; C-Two-style integrations should provide final backing first and should not assume dynamic builder scratch is transport memory.

For resource functions that author fixed-size columnar outputs with fdb.require(...), use call_db_build_context(binding, allocator) around the call. Inside the context, eligible fixed numeric Batch/Array slots are mapped directly over the caller allocation, and the later build_call_db(..., direct_required=True) commits that same allocation instead of allocating a second call-db buffer. The C++ fixed-layer builder writes the initial zero table section directly to the caller backing without retaining an equal-size table scratch vector. The allocator may be either a Python allocation protocol object or a native fdb.HeapFinalBackingResource; FastDB exposes only a context-scoped writable view for the native resource, while direct resource.allocate(...) remains hidden from Python.

allocator = fdb.HeapFinalBackingResource()
with fdb.call_db_build_context(binding, allocator):
    cells, residual = fdb.require(
        fdb.batch(Cell, rows=n),
        fdb.array(fdb.F32, rows=n),
    )
    cells.fill(row_id=ids, x=xs, y=ys)
    residual.fill(rs)
    payload = fdb.build_call_db(binding, (cells, residual), allocator, direct_required=True)

V1 direct builds are intentionally narrow. The build_call_db final-writer path supports fixed columnar scalar payloads and backed Batch[Feature] values whose STR columns already have prepacked UTF-8 offsets/data. The call_db_build_context path is stricter and currently supports fixed numeric columnar slots only, because its final byte length must be known before user code fills the returned views. Object graph payloads, non-columnar BatchRequirement profiles, REF/list/bytes fields, dynamic push, scalar string arrays, and unknown-size string values use fallback, or raise FastdbUnsupportedDirectBuildError when direct_required=True.

CLI tools

fastdb4py ships a CLI named fdb for cross-language tooling. Currently it provides the codegen subcommand.

fdb codegen — Python → TypeScript schema generator

Generate TypeScript Feature classes from a directory of Python feature definitions:

fdb codegen --ts ./python_features/ ./ts_features/

This mirrors the input directory structure, generating one .ts file per .py file. Each Python Feature subclass becomes a TypeScript class with defineSchema(...) and declare fields.

Features:

  • All scalar types (U8F64, STR, WSTR, BYTES, BOOL) and native Python types (int, float, str, bool) are mapped automatically
  • Feature references → ref(ClassName), lists of Features → listOf(ref(ClassName))
  • Circular/self-referential types → lazy refs ref(() => ClassName) detected automatically
  • Cross-file dependencies → relative import statements in the generated TypeScript
  • Topological ordering ensures dependency classes are emitted before dependents
  • Same class name in different files is legal — each file is an independent module, all are generated

Example input (geometry.py):

from fastdb4py import feature, F64, STR


@feature
class Point:
    x: F64
    y: F64
    label: STR

Generated output (geometry.ts):

import { F64, Feature, STR, defineSchema } from 'fastdb4ts';

export class Point extends Feature {
  static schema = defineSchema({
    x: F64,
    y: F64,
    label: STR,
  });
  declare x: number;
  declare y: number;
  declare label: string;
}

C-Two Integration Boundary

FastDB owns storage engines, schema export, binary database buffers, backed view lifetimes, and generic Python/TypeScript call-db runtime APIs. C-Two owns CRM method planning, call-db binding derivation from CRM annotations, TypeScript helper generation through c3 contract codegen typescript --fastdb-schema, route identity, relay behavior, scheduler policy, and memory lease semantics. The FastDB fdb CLI now only generates generic TypeScript feature schemas; use the C-Two repository for C-Two-specific contract and client helper generation.

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 rowstable.column.x (columnar, zero-copy)
  • Bulk fill fixed-size tablesColumnEngine.truncate + table.fill(...)
  • Bulk fill pre-encoded UTF-8 bufferstable.column.name.fill_utf8(...)
  • Iterate and process all fields per rowtable.iter_reuse() + feat.read_all_scalars()
  • Sparse random accesstable[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
ColumnEngine / 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 ColumnEngine, Layout, feature, F64


@feature
class Point:
    x: F64

# ✅ Good: each thread owns its own truncate view
def worker():
    orm = ColumnEngine.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 = ColumnEngine.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 --build   # build C++ core + Python bindings
./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 --ts <input_dir> <output_dir>  # generate TypeScript schemas from Python features

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.

Project details


Download files

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

Source Distribution

fastdb4py-0.1.22.tar.gz (681.5 kB view details)

Uploaded Source

Built Distributions

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

fastdb4py-0.1.22-cp314-cp314t-win_amd64.whl (303.2 kB view details)

Uploaded CPython 3.14tWindows x86-64

fastdb4py-0.1.22-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (759.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastdb4py-0.1.22-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (735.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastdb4py-0.1.22-cp314-cp314t-macosx_11_0_arm64.whl (611.2 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

fastdb4py-0.1.22-cp314-cp314t-macosx_10_15_x86_64.whl (672.6 kB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

fastdb4py-0.1.22-cp314-cp314-win_amd64.whl (294.5 kB view details)

Uploaded CPython 3.14Windows x86-64

fastdb4py-0.1.22-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (766.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastdb4py-0.1.22-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (738.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastdb4py-0.1.22-cp314-cp314-macosx_11_0_arm64.whl (608.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

fastdb4py-0.1.22-cp314-cp314-macosx_10_15_x86_64.whl (668.1 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

fastdb4py-0.1.22-cp313-cp313-win_amd64.whl (288.9 kB view details)

Uploaded CPython 3.13Windows x86-64

fastdb4py-0.1.22-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (766.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastdb4py-0.1.22-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (737.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastdb4py-0.1.22-cp313-cp313-macosx_11_0_arm64.whl (608.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fastdb4py-0.1.22-cp313-cp313-macosx_10_13_x86_64.whl (667.3 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

fastdb4py-0.1.22-cp312-cp312-win_amd64.whl (289.4 kB view details)

Uploaded CPython 3.12Windows x86-64

fastdb4py-0.1.22-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (767.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastdb4py-0.1.22-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (737.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastdb4py-0.1.22-cp312-cp312-macosx_11_0_arm64.whl (608.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fastdb4py-0.1.22-cp312-cp312-macosx_10_13_x86_64.whl (667.7 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

fastdb4py-0.1.22-cp311-cp311-win_amd64.whl (288.2 kB view details)

Uploaded CPython 3.11Windows x86-64

fastdb4py-0.1.22-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (765.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastdb4py-0.1.22-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (737.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastdb4py-0.1.22-cp311-cp311-macosx_11_0_arm64.whl (607.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fastdb4py-0.1.22-cp311-cp311-macosx_10_9_x86_64.whl (670.1 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

fastdb4py-0.1.22-cp310-cp310-win_amd64.whl (288.4 kB view details)

Uploaded CPython 3.10Windows x86-64

fastdb4py-0.1.22-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (765.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

fastdb4py-0.1.22-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (737.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

fastdb4py-0.1.22-cp310-cp310-macosx_11_0_arm64.whl (607.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fastdb4py-0.1.22-cp310-cp310-macosx_10_9_x86_64.whl (670.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file fastdb4py-0.1.22.tar.gz.

File metadata

  • Download URL: fastdb4py-0.1.22.tar.gz
  • Upload date:
  • Size: 681.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fastdb4py-0.1.22.tar.gz
Algorithm Hash digest
SHA256 68c41b035dd2750e10c0c65f8ba8d0d6353f50a2e819ab1188594bcf9cf13100
MD5 49d675358b45c7e91de2612d7c0cf27e
BLAKE2b-256 133985e41fde03b68a51974b1d12ca99d1c98a7706b76aa50383e3c547a7c84e

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: fastdb4py-0.1.22-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 303.2 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fastdb4py-0.1.22-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 d40f86d1348bda23b64809541dfba94a6b38022dea474721659db7336b7104fd
MD5 02ee1abc619c6c357ac4ab095dcbaec3
BLAKE2b-256 1d8e3d4ace99ca63c41e022a338766b0e9317633ba9ee9826434712b4eab36c9

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6ea9ac05b769675dbfc8028c14933564ce6929dca2397cf4a915e733340db8b3
MD5 e2c8f509fc10a43227607a5caddfd141
BLAKE2b-256 6dd61e0101f65f5eeb3cab08d2f7647f1e84f108f7a704441b60e10e145a7db1

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ab097a01248086b2a7a04ff5c7e25e9219fda7f4771e44e06ff50f5c6a4fa089
MD5 5cd13a51aed3ce5b797dfe5739e1013e
BLAKE2b-256 ca0b86a077bae890dbbab63240d61fb46ac0d1a77eeda67d846b7d1f77eb3204

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 64aca6a7dbd9432b5655bc6d61c1a94411b93babc95d2c74ece7825fedd6e587
MD5 9d90332d823731d70cf24d30ac8d9a93
BLAKE2b-256 df3d5522cbc9592107dbf8e490bb6067a9ba35f3f7b0d34244ad72e7a116934d

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 74fd6140b734e1b2139d729a032695da1e527275452e68574b6c1bdc62bd8406
MD5 1005d3e89573aeac20893f7a687f438c
BLAKE2b-256 aca5770c75b5e46339078138d53a3f652c7907d75685aeec72cecea5e286d696

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: fastdb4py-0.1.22-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 294.5 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fastdb4py-0.1.22-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5711f778f9d3ba9eab5697bf197f7a5a1b63cf5e0bac7ead788e3f83d94f13ae
MD5 741daa4f0c91ca39f399dfd9206fe96e
BLAKE2b-256 4b2046ee35a895f173fbcd01727e20e47ccf1060e557326f9162024486155f58

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bd3d3d1ce2131bc09c44012ccfdc5ff51ed76cb7c3380b269ac2c08495d66ad5
MD5 12701fa2225b002d9f771447fa3d8873
BLAKE2b-256 faab9829aa20ac5628fccffeda56b6e592b04ca4701a3ed43fc8ca9ac62d6cf5

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c0fcedafe54bd64ec9e4578fd1460d15cbdfcc705daaecae61e10b11b710b1b5
MD5 712be10d83c8df057923bf4a6f9e0e4f
BLAKE2b-256 70946c7f5ace9aa31d222f9ee7a51efecc0cf94c2373da589b846211db9f837d

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bf0d4cea1dc7d2ff87fff7e7b5baaed0eedc13a5376a9ade17b7193bd508fac4
MD5 b901b55a796e8e61fafc081eee5acc29
BLAKE2b-256 e756e14fc083bf24b837b16f624c08140dbbc28fdd9b1870aae3128fc26a2bab

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 0004eed504515bab4fbca2722e2aeb46c13db5823114756911ab09bacc0915bb
MD5 e13c8fd63e7770aeac9295fbea36f7f0
BLAKE2b-256 16f7e727c0d93a8ce3d9c1949d7ddb5d0177034bb4a0d032d1cf375d41dde49a

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: fastdb4py-0.1.22-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 288.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fastdb4py-0.1.22-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f30feab3ad01a128a96bf21c11b30539b5169860533d8aaff8e384cdb64115e0
MD5 bfc8bd0f1cb98a755315f54728e374d9
BLAKE2b-256 5ae7ffb59e58b9ae68cb693c27d990d18ca5d35d08c302582cea69d65e13e8cf

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5cd3500fcc6a59ed243e0c29d57574a3529d1a9a54ae1c6a74219816aa6d0bc5
MD5 8919869fcf57a78efbfeee63ad1fc94d
BLAKE2b-256 e6c64d4a4a0557e5b32e8e5649388a4092481d33fcca953ceaf2b583feb095ac

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 700af70cefe4e3053d60a8ed59855660f8a765d32a0046277109c25bb078641b
MD5 a7e1f301708a86bca7acce15c581850d
BLAKE2b-256 b9590d9eb2ecd101d30502ac8853e57b9d3111be35a0b4d5bc596c29ed7e9e4d

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6182aab4960a4e7bb6b86276bed9ec7fb92883ed1a24d3aea287fc16c74c73a1
MD5 183ff0d8727a918ed945e107565f08b4
BLAKE2b-256 081eac37b7c0b849bc776fecbbc224007ac138cc259d8c22f57f5b457db7fa32

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 e6dc0d9c3f364e2a07cb487286b343893afbc6563862160bb61f0622e756a458
MD5 e917842b389ac7b35f3c255d634d66cd
BLAKE2b-256 29d7b0255acbb8244e040342afc54f9a26ee17585fb85b2f0543b06a930030f9

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: fastdb4py-0.1.22-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 289.4 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fastdb4py-0.1.22-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5b17de0740c155496ec8c7bfc577bf89a67ee07e997049568fe6667a340d64d1
MD5 7c93cf5660946237e04eb74cc5430af8
BLAKE2b-256 ac8f62e33b6fe1e0d9ec4adaa5ed54ff8d59953e10942ad113b3fcd9b3bc71e6

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4da536dcbbec5bf00c1172dfc499f4905b62932c57dbe3f7002c22c4deffba98
MD5 7c8334440ba01dab103413a3078e1b8e
BLAKE2b-256 b07e3755d80ed669c06c1ae10d61c3dfa86e3db0914858a9ca8d7da63e128f1c

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cc604d685505e5b43ff8c45ea5511ede4c0d18f0c057a174b831572e52debff5
MD5 b5174b342d6015fcb9a3497d79345486
BLAKE2b-256 2eb015c723523fa00fad3f70d740b10681a290627462fb2a0e2270bcc74a0810

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1aa896d7cbdff20b794114df9b326c91ff9bfbc2afa10e84c4f47e659db49614
MD5 88a9ed555207d7df2b72cecd3e50dcc9
BLAKE2b-256 0250d113aa74b1c9237ac5fffbc97d22551661f775d0a8b3de0b664b9d1ec125

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a878d37fcbcef6cf346090d282cf752c2b907da0462ed5629f0c74d793704edf
MD5 5f036a6d1bd1243fd47b20a2a257da90
BLAKE2b-256 5bee8cdb8f90df8495df6b1fc481cbe570861788e6c53c3d4488523598139e2c

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: fastdb4py-0.1.22-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 288.2 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fastdb4py-0.1.22-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f9c4fd567012147f288e7200317239ff6b995618a601adcec72e4645f0414633
MD5 adb1fe99cb6f538c5dd4ce75617ba778
BLAKE2b-256 133f726a0d66cda8a8bbcc7eb6179d26af7a35fb767e2a3d18361def92b7077f

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 70833b3a280fe8f0a99e6065ffa23ec7957a53c5470a74524318aebcb9d16e75
MD5 3cbb225f53585c1a8d40949ebc63d51a
BLAKE2b-256 7d2d72708a0eba05e35beabd080f492d6bec19c1178d67bfa412d06f4522f6de

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bc33c476194e66bb5929ff54489276278c2d8473e99e22e0f6e6cb529c485918
MD5 74eccf3629117925c71a875afb44eb2c
BLAKE2b-256 53773f4a326f0f0a6f07b90dc376f70ea14c87bde46cf5ac09d02c41076e9f67

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d6e09ded759fa6f05a51b0a22510bcf8aab5b9372339dc59a14a746c15b5581d
MD5 55c346500fc4fe2adb44d69ec8a1b32c
BLAKE2b-256 34319cf08bbb19c88a7b471260f0f4bb046b9979967178d36eaecedc57ac72d4

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4cea40ece98c6b50bacc428e8ffe784354fedc96a15b548396c9c2b14479397d
MD5 cc391ce0360cf2b15f5646a4d88c8955
BLAKE2b-256 94f070d7028842e7729b1c33713ef4040e0617b04364019dedb6416987de724b

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: fastdb4py-0.1.22-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 288.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fastdb4py-0.1.22-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 29ebe5eb73747120a509eef48e9f5fe302c8feffa4435f2241c36da0c17f5656
MD5 5580419602332cbfa45b287a73fc04f5
BLAKE2b-256 6a40abe6866c4ca3ce59fb01b8c6ad637a6c62cbfa0320fa78576174f6d59058

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 671d49faeb52eaa64960188f39c771ac89d1bde4485fea5f801b43dfc974114b
MD5 82302c8638bede1f83e53c7af6eaaf39
BLAKE2b-256 16c51d123cc72c384eb8330858bb4e933ba9542f4bc51e45f7206bce15488699

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 860c05b9c40a0b4652e4c16e769d4f23a8ffc46c7b13370f15debbd2468297d9
MD5 634d5f261e79e3b0b20291ed58c442c5
BLAKE2b-256 9e4ff02dc298e5d8a234a58b0c8e1df0f1e880a3c6e384efe0be064ce26ef817

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 95115372f70fd72d4cf5c5cb4e4984223af9dbc7f8d214c25af0c854bcfeb2e2
MD5 e9cb27306640402d63e66d1b9e40b796
BLAKE2b-256 7912b87584633c5a3011df29016c58f949ffdd05edf95a02977d569ffc8f6ba7

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.22-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.22-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ecf4bf6efac3c41c3483a506acccfd06fe3edc83f8dca026ce9fc1326e41c616
MD5 645e6df03d435d404f5309a39b5eaf4e
BLAKE2b-256 5b7688756c727fbd9f909c89979dd9bfaffb1151d9b7ebe9025b6857df5c355d

See more details on using hashes here.

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