Skip to main content

FastCarto database bindings

Project description

fastdb

PyPI version Run Tests

A C++ local database library with Python bindings (via SWIG). Designed as a fast, lightweight, and easy-to-use data communication layer for RPC and coupled modeling in scientific computing.

Core design goals:

  • Zero-copy columnar access — field data is exposed directly as NumPy arrays backed by C++ memory, no serialization overhead
  • Ref-graph support — Features can reference other Features across tables, forming typed object graphs
  • Shared memory IPC — publish a database to POSIX/Windows shared memory and read it from other processes with zero-copy
  • File persistence — save and load databases as compact binary files

What's new

  • 2026-03-17 (Release 0.1.13): Fixed two C++ correctness bugs in the batch field read/write API: (1) getFieldsAsDoubles now correctly handles U8/U16/U32/I32 fields (previously returned NAN); (2) set_field_value_t now correctly writes U16N normalized fields (missing memcpy caused silent data loss). Also added batch scalar field API (read_all_scalars / write_all_scalars) with up to 12× speedup over per-field access.
  • 2026-03-04 (Release 0.1.12): Fixed a critical issue where loading large database files (> 2GB) on Linux/Unix systems would fail to read the complete file, leading to missing tables or data corruption. The file reading logic has been improved to correctly handle partial reads for large files. (PR #23)
  • 2026-03-04 (Memory Overflow Improvement): Enhanced the MemoryStream implementation to handle large data sizes exceeding 4GB without causing size overflow in chunk_data_t.size (u32). This improvement allows for more robust handling of large datasets in memory. (PR #22)
  • 2026-02-28 (Release Improvement): Fix bugs related to build process in Windows. (PR #20)
  • 2025-12-31 (Bug Fix): Fixed an issue where shared memory segments were not being properly unregistered from the resource tracker upon closing, which could lead to resource leaks. (PR #17)
  • 2025-12-15 (Release Improvement): Enabled distribution of pre-compiled binary wheels for macOS (Intel/Apple Silicon) and Linux (x86_64/aarch64), eliminating the need for local compilation tools during installation. (PR #15)
  • 2025-12-10 (Bug Fix): Fixed the data type mapping for U32 fields in Python bindings to ensure correct representation as unsigned 32-bit integers in NumPy arrays. (PR #13)
  • 2025-12-10 (Bug Fix): Fixed an out-of-bounds access issue in FastVectorDbLayer::Impl::getFieldOffset() when the field index is equal to the field count. (PR #12)
  • 2025-12-10 (Performance Improvement): Modified ORM.truncate() to support directly allocating features without initializing them for performance consideration. Note that this change may have side effects; please test thoroughly. (PR #11)

Installation

pip install fastdb4py

Pre-compiled binary wheels are provided for major platforms (macOS Intel/Apple Silicon, Linux x86_64/aarch64, Windows AMD64). For other systems, the package builds from source and requires a C++ compiler, CMake, and SWIG.

Quick Start

import fastdb4py as fx
import numpy as np

# 1. Define schema
class Point(fx.Feature):
    x: fx.F64
    y: fx.F64
    z: fx.F64

# 2. Create a fixed-size table and fill via NumPy (fastest path)
N = 10_000
db = fx.ORM.truncate([fx.TableDefn(Point, N)])
tbl = db[Point][Point]

tbl.column.x[:] = np.linspace(0, 1, N)
tbl.column.y[:] = np.zeros(N)
tbl.column.z[:] = np.ones(N)

# 3. Read back as NumPy arrays (zero-copy)
xs = tbl.column.x   # numpy array backed by C++ memory
print(xs[:5])

# 4. Save and reload
db.save("my_data")
db2 = fx.ORM.load("my_data", from_file=True)

Field Types

Python type C++ storage Description
fx.U8 uint8_t Unsigned 8-bit integer
fx.U16 uint16_t Unsigned 16-bit integer
fx.U32 uint32_t Unsigned 32-bit integer
fx.I32 int32_t Signed 32-bit integer
fx.F32 float 32-bit float
fx.F64 double 64-bit float
fx.STR string table index Short ASCII string
fx.WSTR string table index Unicode string
fx.BYTES blob Raw bytes / geometry chunk
fx.U8N uint8_t Normalized float in [vmin, vmax], stored as u8
fx.U16N uint16_t Normalized float in [vmin, vmax], stored as u16
OtherFeature ref Cross-table reference to another Feature

Usage

Creating a Database

Fixed-size tables (ORM.truncate)

Use ORM.truncate when you know the number of rows up front. This pre-allocates the full table in one shot and enables the fastest columnar write path.

import fastdb4py as fx
import numpy as np

class Particle(fx.Feature):
    x: fx.F64
    y: fx.F64
    vx: fx.F64
    vy: fx.F64
    mass: fx.F32

N = 100_000
db = fx.ORM.truncate([fx.TableDefn(Particle, N)])
tbl = db[Particle][Particle]

# Vectorized write — 1 memcpy per column, ~1000× faster than row-wise push
tbl.column.x[:]    = np.random.uniform(-1, 1, N)
tbl.column.y[:]    = np.random.uniform(-1, 1, N)
tbl.column.vx[:]   = np.zeros(N)
tbl.column.vy[:]   = np.zeros(N)
tbl.column.mass[:] = np.ones(N, dtype=np.float32)

Multiple tables with different schemas can be created in one call:

class Cell(fx.Feature):
    id: fx.U32
    temperature: fx.F64

db = fx.ORM.truncate([
    fx.TableDefn(Particle, 50_000),
    fx.TableDefn(Cell, 1_000),
])

Dynamic tables (ORM.create + push)

Use ORM.create when the number of rows is not known in advance.

import fastdb4py as fx

class LogEntry(fx.Feature):
    level: fx.U8
    code: fx.U32
    message: fx.STR

db = fx.ORM.create()

db.push(LogEntry(level=1, code=200, message="ok"))
db.push(LogEntry(level=3, code=500, message="internal error"))

db._combine()   # finalize: serialize + reload as immutable db

Reading Data

Columnar access (zero-copy NumPy)

The fastest read path. table.column.field_name returns a NumPy array that is a direct view of the underlying C++ memory — no copy, no allocation.

db = fx.ORM.load("my_data", from_file=True)
tbl = db[Particle][Particle]

xs = tbl.column.x    # np.ndarray, dtype=float64, shape=(N,)
ys = tbl.column.y

# Vectorized operations in-place
xs += 0.01 * tbl.column.vx
ys += 0.01 * tbl.column.vy

# NumPy aggregations
print(f"Mean x: {xs.mean():.4f}")
print(f"Max speed: {np.sqrt(tbl.column.vx**2 + tbl.column.vy**2).max():.4f}")

Row-wise iteration

# Standard iterator — allocates a new Feature wrapper per row
for p in tbl:
    print(f"x={p.x:.3f}  y={p.y:.3f}")

# High-performance iterator — reuses the same wrapper (no per-row allocation)
# Do NOT hold references to the yielded object across loop iterations.
for p in tbl.iter_reuse():
    print(f"x={p.x:.3f}  y={p.y:.3f}")

Index access

first = tbl[0]
print(f"Particle 0: x={first.x}, mass={first.mass}")

Feature References (Object Graphs)

Features can store typed references to features in other tables. Assign a Feature instance to a ref field; cross-table links are resolved automatically on read.

import fastdb4py as fx

class Point(fx.Feature):
    x: fx.F64
    y: fx.F64
    z: fx.F64

class Triangle(fx.Feature):
    a: Point    # ref field — links to a Point feature
    b: Point
    c: Point

db = fx.ORM.truncate([
    fx.TableDefn(Point, 6),
    fx.TableDefn(Triangle, 2, 'TriA'),
    fx.TableDefn(Triangle, 2, 'TriB'),
])

points = db[Point][Point]
for i in range(6):
    points[i].x = float(i)
    points[i].y = float(i) * 0.5
    points[i].z = 0.0

tri = db[Triangle]['TriA'][0]
tri.a = points[0]
tri.b = points[1]
tri.c = points[2]

# Read back — ref is resolved transparently
print(tri.a.x, tri.b.x, tri.c.x)   # 0.0  1.0  2.0

File Persistence

# Save to disk
db.save("simulation_state")

# Load from disk
db = fx.ORM.load("simulation_state", from_file=True)
tbl = db[Particle][Particle]

# Access, modify, then save again
tbl.column.x[:] += 1.0
db.save("simulation_state")

Shared Memory IPC

Share a database across processes with zero-copy. The publisher writes once; all readers map the same physical memory.

# --- Process A: publisher ---
import fastdb4py as fx

class Signal(fx.Feature):
    t: fx.F64
    value: fx.F64

db = fx.ORM.create()
db.push(Signal(t=0.0, value=3.14))
db.push(Signal(t=0.1, value=2.71))

db.share("my_signals", close_after=True)  # publish and release local handle
# --- Process B: reader (runs concurrently) ---
import fastdb4py as fx

class Signal(fx.Feature):
    t: fx.F64
    value: fx.F64

db = fx.ORM.load("my_signals")   # load from shared memory
tbl = db[Signal][Signal]

for s in tbl:
    print(f"t={s.t}  value={s.value}")

db.unlink()   # release shared memory segment when done

Batch Scalar Access

For db-mapped Features (e.g. from table[i] or table.iter_reuse()), you can read or write all scalar fields in a single C++ call instead of one SWIG call per field. This is especially useful in tight loops or when building custom row-processing kernels.

import numpy as np

class Point(fx.Feature):
    x: fx.F64
    y: fx.F64
    z: fx.F64

# ... (db setup as above) ...
feat = tbl[0]

# Read all scalar fields into a float64 array (1 SWIG call)
out = np.empty(3, dtype=np.float64)
feat.read_all_scalars(out)   # fills out in-place; returns out
# out[0] = x, out[1] = y, out[2] = z

# Write all scalar fields from a float64 array (1 SWIG call)
feat.write_all_scalars(np.array([1.0, 2.0, 3.0]))

Field order in the array follows the order they are declared in the Feature class.

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(field, array) ~2 µs per column 1 SWIG call + memcpy
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

Recommended patterns by use case:

  • Bulk read/write of one field across all rowstable.column.x (columnar, zero-copy)
  • Bulk fill all fields from arraysORM.truncate + table.column.field[:] = array
  • Iterate and process all fields per rowtable.iter_reuse() + feat.read_all_scalars()
  • Sparse random accesstable[i].field

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.

The py_utils.sh script handles common development tasks:

./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

Build requirements: C++17 compiler, CMake >= 3.16, SWIG >= 4.0, NumPy.

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.13.tar.gz (605.7 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.13-cp314-cp314-win_amd64.whl (196.9 kB view details)

Uploaded CPython 3.14Windows x86-64

fastdb4py-0.1.13-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (628.0 kB view details)

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

fastdb4py-0.1.13-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (603.0 kB view details)

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

fastdb4py-0.1.13-cp314-cp314-macosx_11_0_arm64.whl (482.7 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

fastdb4py-0.1.13-cp314-cp314-macosx_10_15_x86_64.whl (536.6 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

fastdb4py-0.1.13-cp313-cp313-win_amd64.whl (191.6 kB view details)

Uploaded CPython 3.13Windows x86-64

fastdb4py-0.1.13-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (627.8 kB view details)

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

fastdb4py-0.1.13-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (602.7 kB view details)

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

fastdb4py-0.1.13-cp313-cp313-macosx_11_0_arm64.whl (482.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fastdb4py-0.1.13-cp313-cp313-macosx_10_13_x86_64.whl (535.9 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

fastdb4py-0.1.13-cp312-cp312-win_amd64.whl (192.2 kB view details)

Uploaded CPython 3.12Windows x86-64

fastdb4py-0.1.13-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (628.3 kB view details)

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

fastdb4py-0.1.13-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (603.0 kB view details)

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

fastdb4py-0.1.13-cp312-cp312-macosx_11_0_arm64.whl (483.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fastdb4py-0.1.13-cp312-cp312-macosx_10_13_x86_64.whl (536.5 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

fastdb4py-0.1.13-cp311-cp311-win_amd64.whl (191.2 kB view details)

Uploaded CPython 3.11Windows x86-64

fastdb4py-0.1.13-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (628.5 kB view details)

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

fastdb4py-0.1.13-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (603.0 kB view details)

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

fastdb4py-0.1.13-cp311-cp311-macosx_11_0_arm64.whl (482.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fastdb4py-0.1.13-cp311-cp311-macosx_10_9_x86_64.whl (537.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

fastdb4py-0.1.13-cp310-cp310-win_amd64.whl (190.9 kB view details)

Uploaded CPython 3.10Windows x86-64

fastdb4py-0.1.13-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (628.4 kB view details)

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

fastdb4py-0.1.13-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (603.0 kB view details)

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

fastdb4py-0.1.13-cp310-cp310-macosx_11_0_arm64.whl (482.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fastdb4py-0.1.13-cp310-cp310-macosx_10_9_x86_64.whl (537.0 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for fastdb4py-0.1.13.tar.gz
Algorithm Hash digest
SHA256 edb1244304636658090b6b48128600709d5bee8f98b8b65ecbd55eac7c28b401
MD5 ae462ade3fc829fc5a15cfc57c258b00
BLAKE2b-256 428663ecbf8c23b80d9032743416931ff7267f91f4f3917ce6811eb4ffed6471

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for fastdb4py-0.1.13-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3ea7c5013826e02973948d7cbb4b2c278e3ce32c4b479edb3362e6f12e59d49b
MD5 49e38432c3955cdc97b160d0ad63311c
BLAKE2b-256 9dd5f2427b7e0541c0290610e8c7a04414bdc641161ec98eb036a239c4ecac37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4c95f1fe0bb1c9210d1af29080bdaad54d4d516eabadec1ef02c367787d033c5
MD5 6362fb9ddf6dae1ffbb590126f80fcfd
BLAKE2b-256 a6ba53bf4fdb86b0d10628f9bf3fee6099edde9321457d200be9b846fdc52b6d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e93476a73fde629a09d5d695717374f14257c55394f5bc3369223c287f36a782
MD5 392d7e32ffab5f835ce318114d881847
BLAKE2b-256 a13ad07d24e45fb404b1e8ade0c460ffaf77db13e471c6dfea23469db677c728

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8c67ac0c971c2ec6d0b23d97b94c9872e4eb82260fd33e7362a78d40d0c0f9cc
MD5 b060b444783659d0bf69563cd2270b1f
BLAKE2b-256 4c9a22453462daf24fc22876d31eec8f5f337db3595ae8c70aeb6becfece12b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 8be916b4775c7d7f31e5cd61628c63c665bbd26c5b2f05bd71f1c883f40a0196
MD5 c417a9f47643933eb9cbf807e5d0baf5
BLAKE2b-256 32ae0131511e00e388447ca984e410434c1dd8e04fdf2c09ef119c22d68c3a4a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for fastdb4py-0.1.13-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f43e515b6735a5d1a8aa67bdbb3266062470e12c19b2b7fd00a4db34094a82fd
MD5 4d7ccbb9fe1d8c64bca9548a4a37120f
BLAKE2b-256 a464d30043d8b4bc1ade526acd6617103a76d87deac2174f9a5c641ecad9ea83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b64caa7b6dc81e73bb2b5978d3f156bfc6bd27326c5b7de932018b9917c90fd2
MD5 fbc428f6133ada2a95cd331d2ac232a5
BLAKE2b-256 289bc1537951ceccfaf88e29200cad2a491855ccb8013f60ae4a83e60754ad85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 26e8028e4cb98537624f606f331f6379accae3dcc5e47f112cfbc67cf3f21868
MD5 5cb60ebe08b6a7664f4228d4f34e82df
BLAKE2b-256 40d65dc97e0f010fa91aae498b1b74fc04b6f0536928eee5fd6584cd8edfe7b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 490344523e2951581604eb54c023ab6dccb21a1347ef3410d3b5d16ee5811d40
MD5 bbed2e0edcac55aa8795e3a34001786a
BLAKE2b-256 0725b47471f54885efc8faff1481ef8994062e61b8ae27c6f4d64b99a2a2e48e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0c897d133bfe8fbc61f2418243e0dd02b730ade69260738bff03123c7e948303
MD5 8f59c2dd1e9d73d50503d83363cfc72b
BLAKE2b-256 4a1c2ace37285c97d3290687efe6cf4bddd54e55cd6a8816925f0b10fa1938ee

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for fastdb4py-0.1.13-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d18f9dd0c881e8486495206113832b1e215c17d9ad52e791d83de618d0cc073c
MD5 7c4d17153cf30f2760df55e7bc5e71be
BLAKE2b-256 6a30ab76e7f684a92e97fdb97f833f4fb7fa61ccf7f3b0265c2baee407a7827c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 05e55e324d4ee6806296d316f75d8c0930eb9c0743c6f4473f861ab06fc363ad
MD5 686092803f799d6f5bd718b2932c7b37
BLAKE2b-256 95ada774712552729d0b73cf008d87845083cc56dd1eb1194d8d6bc11affd0f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0d1b90a14c526c75c1e5a7679fa569e1b5b6de3b98cdb039affa82b1f5d7112d
MD5 b2bf941c689d1ddbca0f83f439a6b2c3
BLAKE2b-256 11e5a2ed2fbf9a37849ac351bdc35d56de6f7cd9b4a956f238044f4d4e35b0ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f0689f96eb624b87a4e6abbdb1b3a0ec9bf6b6115a3e4fd21d2a72e5ba12ebcb
MD5 b3aedb61fba9544231fab664b99796f6
BLAKE2b-256 76d6eb82252ba4ebf6043cde20bc6adbe529de398e56653c1d9a9705bfd6f777

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 2d85b9527a7335454a57c450a5125deb1a56bfce428dfa51be5a071f1dfc31c2
MD5 50439db53451196bec167463b0c46753
BLAKE2b-256 172bc9f59944f4526e377445f87126ba721532228f5aaf753aab079bb2f08ae6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for fastdb4py-0.1.13-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 90a23c5e6342863acc05f85c3392413d598f0593c74461220e28539676b779ff
MD5 c3908b6eb3694861d19d1eb6e9382c19
BLAKE2b-256 b9728fcd506588d73f4800a6cf300993b81582f58b24279e02c12ea694898447

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f03f45f8402432cfd2da357bbf0d15a885025e0dc46ce86a18fbf75c36f9a825
MD5 6ad8cd74257f00d7f2ada944468b6ce2
BLAKE2b-256 ee58bb208d27934150b9f98ca3b8e934515f4d5f9937f2fb4fc0eaace0de1eca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7c05592fd0f73e5fc9c05fd05304a8a0a473fd8511f9dacd4ad160133c55cdf8
MD5 74ab51fa272623c75f2594bf6723d926
BLAKE2b-256 40001c9cdc52018e7b6b3755a8010c99eee3937e05d8507cc53ede833f25fe35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 24967a7e5733c7dec4cd30ed9e13a9037eb3879eb2c9fd15f6ca025cbb7fe4b0
MD5 93568a451a7ac06da7cd2f90a98af62d
BLAKE2b-256 d32712b8d84bfeeef010390e61a0a1a62bec6a4ea953c8feb3a53de1480c9268

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a06c150106075efb97d7f8f9111a859b4c0a31401e75c5d81b637ae8c8e3e52d
MD5 b9ed119b9be5316f75f7c363c187eda1
BLAKE2b-256 53c7749fad39ac928c34e2bad5b3d67be28dd3459d254bc717f0b619fa04ebf1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for fastdb4py-0.1.13-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 482a76af8bc9e0d65fcd76e9c9e3cb07b73269fd6ece3f4592b525655c8287c9
MD5 08b1cf4818dfbce6d94735fba74598c5
BLAKE2b-256 07b04ed666a21098ceef00bc3c72e382fb22a3450b4f3aa03849865ddf5dd229

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5648d56b21d2033a46c8a92280c452be13b7c1bdd87d83725c1fe367b7a2ce2d
MD5 737bede64151f596f9064f55d18c145d
BLAKE2b-256 2e40278d6c18d9c788fba32ac25ad18d8651f1344729b90629de5aedc71468b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 53794d23db325be29ad7266c546980d452737ccdced15a654b35756cf7b36cd7
MD5 fd72d32a99166cc8ad683385acec919d
BLAKE2b-256 c6d501fd72aff7c2b1b8e3d996ad89c7e4c387e954139be9c5c602b7a8043a0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e4b54fb4c68a11b83653041db9d59ce9d82ee3dfd260adf9f44b10d62a5d0dac
MD5 efeb942b0e12991a0078f3130f56c545
BLAKE2b-256 7403557a9396ac94fa3ece340e3ffb877b2cc819f516daa461e972d82c7ed934

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.13-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9e607b2ebec6672b40412ff9e157831da066c9f630f495166e4b3580e9a8ec5b
MD5 afe4ed5a1896101713ccb171b34eeecc
BLAKE2b-256 994930b35de98e4bdb58fac1c238f6e9ddadf35a95c1ed44e5e0c7d0340538f0

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