Skip to main content

FastCarto database bindings

Project description

fastdb (WIP)

PyPI version Run Tests

Wait and hope for the best...

A C++ local database library with cross language bindings. Aiming to be a fast, lightweight, and easy-to-use data communication solution for RPC and coupled modeling in scientific computing.

What's new

  • 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

You can install the Python package of fastdb via pip:

pip install fastdb4py

Note: Pre-compiled binary wheels are provided for major platforms (macOS, Linux). For other systems (including Windows), the package will build from source, requiring a C++ compiler and CMake.

Development Environment

This project uses DevContainer for development environment. Please refer to the .devcontainer/devcontainer.example.json file for configuration details.

For setting up the development environment, ensure you have Docker / Podman and VSCode DevContainer extension installed. Open the project in VSCode and create the .devcontainer/devcontainer.json file based on the example provided.

After connecting to the DevContainer, you can develop and test the project within the containerized environment.

Python-Related Development

The py_utils.sh script is provided to facilitate common development tasks related to the Python bindings of fastdb. When first launching the DevContainer, py_utils.sh will automatically set up a Python virtual environment and install the necessary dependencies.

Cleaning Builds

# This operation will remove C++ build artifacts and the core Python bindings (fastdb.core, auto-generated by SWIG) within the Python package.
./py_utils.sh --clean

Building

# This operation will build the C++ core library and the Python bindings.
./py_utils.sh --build

Testing

# This operation will run the Python unit tests for the fastdb package.
./py_utils.sh --test

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.9.tar.gz (588.8 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.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (599.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

fastdb4py-0.1.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (569.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

fastdb4py-0.1.9-cp313-cp313-macosx_11_0_arm64.whl (465.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fastdb4py-0.1.9-cp313-cp313-macosx_10_13_x86_64.whl (518.1 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

fastdb4py-0.1.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (598.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

fastdb4py-0.1.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (569.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

fastdb4py-0.1.9-cp312-cp312-macosx_11_0_arm64.whl (466.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fastdb4py-0.1.9-cp312-cp312-macosx_10_13_x86_64.whl (518.5 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

fastdb4py-0.1.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (598.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

fastdb4py-0.1.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (568.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

fastdb4py-0.1.9-cp311-cp311-macosx_11_0_arm64.whl (465.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fastdb4py-0.1.9-cp311-cp311-macosx_10_9_x86_64.whl (519.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

fastdb4py-0.1.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (598.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

fastdb4py-0.1.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (568.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

fastdb4py-0.1.9-cp310-cp310-macosx_11_0_arm64.whl (465.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fastdb4py-0.1.9-cp310-cp310-macosx_10_9_x86_64.whl (519.4 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: fastdb4py-0.1.9.tar.gz
  • Upload date:
  • Size: 588.8 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.9.tar.gz
Algorithm Hash digest
SHA256 d34729811f771e62d0ca2ef37947f5156a3defdaa9228dedf13f2de7145f85e6
MD5 8f052b1f5b1d99412efd102b1cb23ada
BLAKE2b-256 fd92efce07050582149c3df5deeae9a2a19ad6821f0b85e5e8b0984a7555cbbb

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 91740599e0cd1cab37028c8acce0186c8ed562983136d6b1d600c265e0ec7939
MD5 4434ff5063e2a210a93c3fb0490fd4e4
BLAKE2b-256 ca447b93e461abdbbb63caba6528a410d30fae809ec6cfdea2c6d42efad6ff39

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 41667918d91c0cf3e6e4ff0a778296d748c1229cc9b9561e0224e22921ddf6a6
MD5 bd7b8a01272262188573fef32b8596ed
BLAKE2b-256 e82e7c6f9fac2dc57e14a0f3eced0ebf7f93d962f1aec3f98daab174849a47c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.9-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 18f22c4c58ffe6d7ff3860b8a2e02585de2e950c85f9b71e0e9c95767e171351
MD5 d652360bbe2add2cf4e3850aedd1bbcf
BLAKE2b-256 fc25ee25b749349a9922385bdc5670c0c089c8c5f11aa78b57444f1694698156

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.9-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 80f5f977f21cc4a948fda8054fe416ab0115f1f274d25002bc7bd4df74938c3c
MD5 31fb18305c52a8a9aab4125fb867d30c
BLAKE2b-256 48a3ea03313c9b8daef3ceb56efa00478aedc5a541bf5802646a5e91d593ec9e

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 df28d528c5d5622208081fff692ef6fbfbb8ecd6bc2f0b328eed0e7de990d1bd
MD5 b34b83a6711fdd18860553ee75a62cc0
BLAKE2b-256 397868e68fe52d291fa97d50618f230926bb49fb72403f3a1ec66a9a28f4e930

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 508df9c32999b82431e8669ee6b30e3628e97050fd39b9433ccc9b4f1c46d3de
MD5 2aa0a020eee9f8925d7d5e1e357d249c
BLAKE2b-256 e2a5803dc1b3c33f7d723159451016eb1aedc73797df3fd2c75e390811148645

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a57c4291391e93689614ffc6ad1f1b4a40a0e49c4a2095450ed663fcfe302cde
MD5 4346b96eb68a1cd49a37ed251140ea7e
BLAKE2b-256 793a1d6659c6d699b37ce2d174657edd2d9ccae5f3b804a2c3206a3cd5651301

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.9-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c433f707b37e89e4ad330aa14fd36adac621b1b5bb741d6ebcb511ee3877aa2d
MD5 9aa1d40c08301cfd0ad8053d446c34b4
BLAKE2b-256 26fc5071546a440b27ed8802619d2f3dd087a990d1ed1093c38d04fa456bd172

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ef21750e0c0962401e687d3fa8de5e974a97bfe6e4f8cf03ea33eea9c0a3ff90
MD5 ce4519c32c8ec1e36f3972ba2f46a99e
BLAKE2b-256 4c75a993cf9a0151678e951ad1d41f5ca24d69806c00f2e0ab125015950ab0bb

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6beb7235ea4c60400ff9f6db70adfb14837e59e34c8f06a3cfd9b922157cf071
MD5 6639a4762b78a05ef6ded13c2247e664
BLAKE2b-256 622818cba882a7cf05d954320e621a7263c6dd316ae9d545e243aa7893dded0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 60d5735a88bcaeacf06446a6ea7dbaaf4e02df0aac881a4e12916a3d1e29caaa
MD5 246eb776e6c864d84530bd09b83f80ee
BLAKE2b-256 108eb0d37ac0f9c0a3e42a1662e0b198120fabb8333fd01b89746b88aec9d92f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.9-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ba63f7554066409fc835a2769969ff2e23d29566c81b12ed982b99af69b2b48b
MD5 9899bdcaef3ffae3504e50076f4f88e7
BLAKE2b-256 b17bd15785e70ccd35a91c7769bea20e292ba25c0be667d3c2f78a649e3059e5

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e58200187efb687c80d3b13cf31df2f18066d8cb48672f681e6d0bb82d5144a1
MD5 acc730454c3015d56c1f61d6cb62374f
BLAKE2b-256 9818bdfce016951935a8cf7f953431c5c570b571f4495bc37c97dfba144151ea

See more details on using hashes here.

File details

Details for the file fastdb4py-0.1.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fastdb4py-0.1.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5398d4fa0124369e736668915a564ca7a7ee1664214b3b5e7b527abd13afb147
MD5 34e227923dbda488d0fe30d901d1f2c0
BLAKE2b-256 2fe1558167d2b498dfc9c3aacb5570369a0ef33f7f8bc341364d1fe21528ea66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.9-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 759fe3fe1b7ef46e5622564aa611697253dcd2d86b4a3e24fc7b9dcb3b278584
MD5 c9d803a74dcfc3ccc8bc10d18353e270
BLAKE2b-256 8f8df88bc3973634456d058014708025eb94148c90eca764afb90f53a77518a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.9-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fb6aedeb88c863721a6a48e1e17b104d188bcdb8d1e72a410ba4f6cc84703090
MD5 088cc9f0f38b5a50bd037a7334b8c3c9
BLAKE2b-256 83a602155230b22ee1cf8dcd26e4a3933b5cdfc359a5f65aab102e7358b0a0d3

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