FastCarto database bindings
Project description
fastdb (WIP)
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
U32fields 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d34729811f771e62d0ca2ef37947f5156a3defdaa9228dedf13f2de7145f85e6
|
|
| MD5 |
8f052b1f5b1d99412efd102b1cb23ada
|
|
| BLAKE2b-256 |
fd92efce07050582149c3df5deeae9a2a19ad6821f0b85e5e8b0984a7555cbbb
|
File details
Details for the file fastdb4py-0.1.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: fastdb4py-0.1.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 599.0 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91740599e0cd1cab37028c8acce0186c8ed562983136d6b1d600c265e0ec7939
|
|
| MD5 |
4434ff5063e2a210a93c3fb0490fd4e4
|
|
| BLAKE2b-256 |
ca447b93e461abdbbb63caba6528a410d30fae809ec6cfdea2c6d42efad6ff39
|
File details
Details for the file fastdb4py-0.1.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: fastdb4py-0.1.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 569.2 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41667918d91c0cf3e6e4ff0a778296d748c1229cc9b9561e0224e22921ddf6a6
|
|
| MD5 |
bd7b8a01272262188573fef32b8596ed
|
|
| BLAKE2b-256 |
e82e7c6f9fac2dc57e14a0f3eced0ebf7f93d962f1aec3f98daab174849a47c0
|
File details
Details for the file fastdb4py-0.1.9-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: fastdb4py-0.1.9-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 465.7 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18f22c4c58ffe6d7ff3860b8a2e02585de2e950c85f9b71e0e9c95767e171351
|
|
| MD5 |
d652360bbe2add2cf4e3850aedd1bbcf
|
|
| BLAKE2b-256 |
fc25ee25b749349a9922385bdc5670c0c089c8c5f11aa78b57444f1694698156
|
File details
Details for the file fastdb4py-0.1.9-cp313-cp313-macosx_10_13_x86_64.whl.
File metadata
- Download URL: fastdb4py-0.1.9-cp313-cp313-macosx_10_13_x86_64.whl
- Upload date:
- Size: 518.1 kB
- Tags: CPython 3.13, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80f5f977f21cc4a948fda8054fe416ab0115f1f274d25002bc7bd4df74938c3c
|
|
| MD5 |
31fb18305c52a8a9aab4125fb867d30c
|
|
| BLAKE2b-256 |
48a3ea03313c9b8daef3ceb56efa00478aedc5a541bf5802646a5e91d593ec9e
|
File details
Details for the file fastdb4py-0.1.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: fastdb4py-0.1.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 598.9 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df28d528c5d5622208081fff692ef6fbfbb8ecd6bc2f0b328eed0e7de990d1bd
|
|
| MD5 |
b34b83a6711fdd18860553ee75a62cc0
|
|
| BLAKE2b-256 |
397868e68fe52d291fa97d50618f230926bb49fb72403f3a1ec66a9a28f4e930
|
File details
Details for the file fastdb4py-0.1.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: fastdb4py-0.1.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 569.2 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
508df9c32999b82431e8669ee6b30e3628e97050fd39b9433ccc9b4f1c46d3de
|
|
| MD5 |
2aa0a020eee9f8925d7d5e1e357d249c
|
|
| BLAKE2b-256 |
e2a5803dc1b3c33f7d723159451016eb1aedc73797df3fd2c75e390811148645
|
File details
Details for the file fastdb4py-0.1.9-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: fastdb4py-0.1.9-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 466.2 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a57c4291391e93689614ffc6ad1f1b4a40a0e49c4a2095450ed663fcfe302cde
|
|
| MD5 |
4346b96eb68a1cd49a37ed251140ea7e
|
|
| BLAKE2b-256 |
793a1d6659c6d699b37ce2d174657edd2d9ccae5f3b804a2c3206a3cd5651301
|
File details
Details for the file fastdb4py-0.1.9-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: fastdb4py-0.1.9-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 518.5 kB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c433f707b37e89e4ad330aa14fd36adac621b1b5bb741d6ebcb511ee3877aa2d
|
|
| MD5 |
9aa1d40c08301cfd0ad8053d446c34b4
|
|
| BLAKE2b-256 |
26fc5071546a440b27ed8802619d2f3dd087a990d1ed1093c38d04fa456bd172
|
File details
Details for the file fastdb4py-0.1.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: fastdb4py-0.1.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 598.0 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef21750e0c0962401e687d3fa8de5e974a97bfe6e4f8cf03ea33eea9c0a3ff90
|
|
| MD5 |
ce4519c32c8ec1e36f3972ba2f46a99e
|
|
| BLAKE2b-256 |
4c75a993cf9a0151678e951ad1d41f5ca24d69806c00f2e0ab125015950ab0bb
|
File details
Details for the file fastdb4py-0.1.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: fastdb4py-0.1.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 568.9 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6beb7235ea4c60400ff9f6db70adfb14837e59e34c8f06a3cfd9b922157cf071
|
|
| MD5 |
6639a4762b78a05ef6ded13c2247e664
|
|
| BLAKE2b-256 |
622818cba882a7cf05d954320e621a7263c6dd316ae9d545e243aa7893dded0a
|
File details
Details for the file fastdb4py-0.1.9-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: fastdb4py-0.1.9-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 465.8 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60d5735a88bcaeacf06446a6ea7dbaaf4e02df0aac881a4e12916a3d1e29caaa
|
|
| MD5 |
246eb776e6c864d84530bd09b83f80ee
|
|
| BLAKE2b-256 |
108eb0d37ac0f9c0a3e42a1662e0b198120fabb8333fd01b89746b88aec9d92f
|
File details
Details for the file fastdb4py-0.1.9-cp311-cp311-macosx_10_9_x86_64.whl.
File metadata
- Download URL: fastdb4py-0.1.9-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 519.4 kB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba63f7554066409fc835a2769969ff2e23d29566c81b12ed982b99af69b2b48b
|
|
| MD5 |
9899bdcaef3ffae3504e50076f4f88e7
|
|
| BLAKE2b-256 |
b17bd15785e70ccd35a91c7769bea20e292ba25c0be667d3c2f78a649e3059e5
|
File details
Details for the file fastdb4py-0.1.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: fastdb4py-0.1.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 598.0 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e58200187efb687c80d3b13cf31df2f18066d8cb48672f681e6d0bb82d5144a1
|
|
| MD5 |
acc730454c3015d56c1f61d6cb62374f
|
|
| BLAKE2b-256 |
9818bdfce016951935a8cf7f953431c5c570b571f4495bc37c97dfba144151ea
|
File details
Details for the file fastdb4py-0.1.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: fastdb4py-0.1.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 568.9 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5398d4fa0124369e736668915a564ca7a7ee1664214b3b5e7b527abd13afb147
|
|
| MD5 |
34e227923dbda488d0fe30d901d1f2c0
|
|
| BLAKE2b-256 |
2fe1558167d2b498dfc9c3aacb5570369a0ef33f7f8bc341364d1fe21528ea66
|
File details
Details for the file fastdb4py-0.1.9-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: fastdb4py-0.1.9-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 465.8 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
759fe3fe1b7ef46e5622564aa611697253dcd2d86b4a3e24fc7b9dcb3b278584
|
|
| MD5 |
c9d803a74dcfc3ccc8bc10d18353e270
|
|
| BLAKE2b-256 |
8f8df88bc3973634456d058014708025eb94148c90eca764afb90f53a77518a1
|
File details
Details for the file fastdb4py-0.1.9-cp310-cp310-macosx_10_9_x86_64.whl.
File metadata
- Download URL: fastdb4py-0.1.9-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 519.4 kB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb6aedeb88c863721a6a48e1e17b104d188bcdb8d1e72a410ba4f6cc84703090
|
|
| MD5 |
088cc9f0f38b5a50bd037a7334b8c3c9
|
|
| BLAKE2b-256 |
83a602155230b22ee1cf8dcd26e4a3933b5cdfc359a5f65aab102e7358b0a0d3
|