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-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.8.tar.gz (588.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.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (598.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

fastdb4py-0.1.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (568.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

fastdb4py-0.1.8-cp313-cp313-macosx_11_0_arm64.whl (465.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fastdb4py-0.1.8-cp313-cp313-macosx_10_13_x86_64.whl (517.8 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

fastdb4py-0.1.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (598.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

fastdb4py-0.1.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (568.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

fastdb4py-0.1.8-cp312-cp312-macosx_11_0_arm64.whl (465.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fastdb4py-0.1.8-cp312-cp312-macosx_10_13_x86_64.whl (518.3 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

fastdb4py-0.1.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (597.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

fastdb4py-0.1.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (568.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

fastdb4py-0.1.8-cp311-cp311-macosx_11_0_arm64.whl (465.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fastdb4py-0.1.8-cp311-cp311-macosx_10_9_x86_64.whl (519.2 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

fastdb4py-0.1.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (597.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

fastdb4py-0.1.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (568.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

fastdb4py-0.1.8-cp310-cp310-macosx_11_0_arm64.whl (465.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fastdb4py-0.1.8-cp310-cp310-macosx_10_9_x86_64.whl (519.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: fastdb4py-0.1.8.tar.gz
  • Upload date:
  • Size: 588.5 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.8.tar.gz
Algorithm Hash digest
SHA256 f740cdf31d6e8e8e35dcf6f2644af6d22773ea715463162b8b93c0ee88cabb7f
MD5 a6e54c22904b6656b3eb53f5bf6e6cb9
BLAKE2b-256 bd4504af181753120907e293e7913661a3bb8d5228c15a205834ac9df7665c05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 350d20fb19beba91f8beb5269ce22d5206970dc14ebf32de0357f3c513556ded
MD5 523b2eb07471aa129f38b4163ab98e43
BLAKE2b-256 efdf1985d6d763689aa48af9f91f540edb8cd3cd6f764d8725c768f748574b9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6b070b68248873d31cc2d249a6fb9e0f074b60bbf55f4199a7af9e95189d64a0
MD5 f6d22bc0c4b358977e1ea99704ac6898
BLAKE2b-256 c722a0a8c66b5f817834ac2f805bde212d48965e1a80645148cfd0d5ea398f13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7ae7cf2746ceb1bd69579313b9bf86d8a1dd41a37b4fd8b7771a438ece1d9421
MD5 26189c0e79e23ed1692fe83bb5764024
BLAKE2b-256 401779676a45fd21c7d8f9f866a3855f5d5f056326991e4951bf177e6995b2a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.8-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 2b5f5f4c06e884419c8416b5b1b7599af872a9e94d619b22a7b321550cfb8164
MD5 ebdd13245d24015b9280246fd926c0f8
BLAKE2b-256 91158119a754d87947a9acdb25f6da6154bb52d834cd318ba99a3963c14924ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 23d94f75ef3a05581e5c40dac18b88a34cd61f1c00f8dd8c7e4a610e22aaae80
MD5 eb29a38d3ca0b4f632fed79d7c975832
BLAKE2b-256 688aa6e3af5ad000c5e0a4c0bf3b6b784193a9e82ec11e06a7d5d3a9547b8b77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bc7df6fcb383cea887f5304e0eb2a69f2d24885aba4bcd63ac60bafe7278995d
MD5 bdd5bc438b79113f83b97cb1634ff012
BLAKE2b-256 0cd87b12ad06c7de8d00530007faa16f75588977dec92d99823b44afea013a30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 81745959128f6e7eaa0e60ee1149e79ab98178067e62c481982a8f3014176247
MD5 f49dd35c85cbb931a057232d2ee5248d
BLAKE2b-256 16f9897d156e764c7a33899ded2c950ea92357f4855621ad0910ce6d41f89957

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.8-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0557ea7a9b2ad892c1c1bf99fc691bc0a214da942aaf59d1d9f3db38f073c6b3
MD5 07d59eeec161a82703b46ce4e4018046
BLAKE2b-256 d04a5c7d251870bd3e7e93f24881ab7bf3e30593db17a8bca90b86a9c4239653

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4c467157a1370b4a4c87d840d36d87b26c32bb8a2cbda06329c8252fc91966d9
MD5 0c9669b2c82250a9e2ca214b0bb72d97
BLAKE2b-256 0127c23e404f592668d626d5130f544bb40ec73edd75932ead921a22888f6810

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c9021d02fea362cc93e066d5f43999d8e9efd6640c1c241247bc4c8362058ad7
MD5 deca29597a4d58ffa8fa6fa6c2d37544
BLAKE2b-256 ff8a6959efd1504796ae67f2a6abf1fa2ec328f29cff2edfef0119d127264e57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 825d05ec1b85b84246c177216d761c5e92cbcbd33a01fc87e7a6e1981079823f
MD5 81a6ee61b7bb9962bef27b439c6c243e
BLAKE2b-256 d7ac6cabc3611d8b0b8eb69728a451689418a95a21e77c8cf9223e8b231ba607

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.8-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 03090290e323b8fd50c062ce6735209f7a71dc7be8e7cecc73c9e5b45a2f7e38
MD5 307edb501e01d1613fb0c51bc464ddd5
BLAKE2b-256 ceab6f014f27d91fb315a60e946276a967f785390c77b10ec2b42889e499a44a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6cd99b09f67dcb3ca1f991e761df3f500c564dc8c7922b94b5df6135c62a3edf
MD5 45f633b82ceac059e8d9093d4a40408b
BLAKE2b-256 0fa8826a45b82c3773763a2c3e17e9b5bc98a1412bf5d3aec480a4060946d951

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d2acede0fa501072c0a4a881629e46bd9f14214dc9a5a652d4a31c20a71f9615
MD5 b39c0ecab4ee74e73eca274ec5b348f0
BLAKE2b-256 fe79b4c4534cda261575c0afaa736adbe40ce0e8925960782c7314037abc8db9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0fed0fc6f6e7ce3f96c82177512243e4c568c075f28b3dd53cb43918c6579a38
MD5 79c84405c2246216bdea5b341d87d3b8
BLAKE2b-256 2cf413b6ae7d91310e2411d892ba22c10dfd9a678b38ac8dd9bad024cf2ee984

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.8-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f95851c5c98201ec985c71374fcf2e2d7425159a3e8b94a4cafa722658aeea84
MD5 e5f1e374cd11e9b97961ce831cb1643b
BLAKE2b-256 b26b56641f65c63b60d633a818aa6fd71f6bc5b32180e2353be9bab8d9d7dbe9

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