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

  • 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

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.10.tar.gz (595.9 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.10-cp313-cp313-win_amd64.whl (182.9 kB view details)

Uploaded CPython 3.13Windows x86-64

fastdb4py-0.1.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (606.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

fastdb4py-0.1.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (576.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

fastdb4py-0.1.10-cp313-cp313-macosx_11_0_arm64.whl (473.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fastdb4py-0.1.10-cp313-cp313-macosx_10_13_x86_64.whl (525.5 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

fastdb4py-0.1.10-cp312-cp312-win_amd64.whl (183.1 kB view details)

Uploaded CPython 3.12Windows x86-64

fastdb4py-0.1.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (606.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

fastdb4py-0.1.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (576.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

fastdb4py-0.1.10-cp312-cp312-macosx_11_0_arm64.whl (473.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fastdb4py-0.1.10-cp312-cp312-macosx_10_13_x86_64.whl (526.0 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

fastdb4py-0.1.10-cp311-cp311-win_amd64.whl (182.1 kB view details)

Uploaded CPython 3.11Windows x86-64

fastdb4py-0.1.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (605.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

fastdb4py-0.1.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (576.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

fastdb4py-0.1.10-cp311-cp311-macosx_11_0_arm64.whl (473.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fastdb4py-0.1.10-cp311-cp311-macosx_10_9_x86_64.whl (526.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

fastdb4py-0.1.10-cp310-cp310-win_amd64.whl (182.0 kB view details)

Uploaded CPython 3.10Windows x86-64

fastdb4py-0.1.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (605.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

fastdb4py-0.1.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (576.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

fastdb4py-0.1.10-cp310-cp310-macosx_11_0_arm64.whl (473.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fastdb4py-0.1.10-cp310-cp310-macosx_10_9_x86_64.whl (526.9 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: fastdb4py-0.1.10.tar.gz
  • Upload date:
  • Size: 595.9 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.10.tar.gz
Algorithm Hash digest
SHA256 7716457bb126f7fc11b40801a0e970a80acaf86afd15f7812d66031904158efb
MD5 02398212fac20e033c1ce51ed3f479b6
BLAKE2b-256 1cf9e1e90f86930e1a2c0462850cf3c2cd41b5af1fd03bdc934fa82515d68b98

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastdb4py-0.1.10-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 182.9 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.10-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 42a91dbfbc67b532db03fc516f4ac2a0b99a3d8cfbab24b96b2615d42738fd0b
MD5 8e51898d5b9d01d1e08a3ef7703a87ae
BLAKE2b-256 aa7781e6b3cf91f4d6f55b15f78b8c021b97d21732e5831f7efc22b6d8981a87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 162be96b0391f218942827b4449fa0ec7f863813b996b936aab59bf72646f966
MD5 9d438c6d50affcdcb7846c02cd103716
BLAKE2b-256 957b0198521ba803da5edb7f30592481e8cbea2c927df692f18dafe92d838415

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8737899bde99865733b2cce915aff33f2e6a11c4130274a399d17e4e9aceb3d4
MD5 d98abf7017ac191a390d71936639d737
BLAKE2b-256 1e9e6c2a3aaa4afb79eb6991bb28fc2c30d2142f3137ca743862e49ef3e7f0fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.10-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 df2571cf6b59b0d8004df630961507d3736cefd5130cdd052c19f15e770bed3e
MD5 df2a694a20b9c210c09dbb13d1d73b3d
BLAKE2b-256 cbbc23ac1e4eac5896b706ffae03a7ef62f2f3ec94c73fd6b83039412a0343dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.10-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7ee28d2eec67b5ab847586243f64e579ea7938296dd2260ddc68e7f93c1791c1
MD5 3019bbdacd2a7ea531b6db4380fd5d0d
BLAKE2b-256 a8de80dd1ba8eec8513aecb336619468699dcfe5274508c3370a52e78873e843

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastdb4py-0.1.10-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 183.1 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.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5d51744e3fd5016a4067baf38fb8f91b10001f42e746b4de3d3fc0609b18578f
MD5 53256efb0e11055debb1a78def9c54f4
BLAKE2b-256 eb12e580fd45c48ed7af0b970f7772ee743795969397e22f8fa7b0f48b9fa4b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4642f3236cf99af2cca02092a6e19b2335f932e4965db4e790d2b5ee19a123fe
MD5 f6af27fc04feb4e8eaeea0e115eb9afa
BLAKE2b-256 930f19a76a15961c0de122c7e34b7bcd50035c99cc68cf7e597bb5883732c118

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dc50bb223959a3d94568a25fa74cf3eef903cadfd17a0f728d19bf991f808afb
MD5 7a0e851e1cf753445f3e501deabfe98f
BLAKE2b-256 696d67cc425f625fa0fac6df18824bed2ddf34034e9858043ee53719f9cf0d35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.10-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3470a2c12b34f404207ff428eda6949dea5ebeb72f1a6392af1d971d4cea45d3
MD5 d26a42c12940fc26232e85260518b2be
BLAKE2b-256 5353bd1a43fd76904de274c8113ff602e42457474b7af6db8ab2ad28d4817744

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.10-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 6701c403a911bf4988aefadf42ee47f1f0b95019c05f582a42d6b020b759bdf2
MD5 1ed2db5ce6f524173529ead118423d01
BLAKE2b-256 b97d47a464313bc0d7e180732bf9c1d66d10b4f10831eb8a8069e96cb315620a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastdb4py-0.1.10-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 182.1 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.10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7e1cf400610dacbfdd9ea11f682fddce7f182a7d755c203e1e05c932836eac79
MD5 b2bbbec235def2e9a21947e7f1c57edd
BLAKE2b-256 9085fdfa9cbc3a9e10b71ca53bf6f70f6c560d13233e765faa7144778becd6b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5f831b8719f3b74998077c31669fd60dea65cd6683d21d5b7d72fa681f9106f5
MD5 26127bc136374be7afe0f26d38e7666a
BLAKE2b-256 0875dcadbeb86e3ef8151e53f61546778f46531e141715e37831937c3b559414

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 513868ab9d034b2c833a2bf6d892d489445bac3c23940e53eea32c9b0f15dda6
MD5 094fa041c31ec7e0ebdffbd32e3a72d3
BLAKE2b-256 39b9d9720f416020a8c4f4d679a8df9d155369adb6d70aaf7d8fe27b496435e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.10-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 db7e24959dfedacf6836919d295e4e88ca71fc5ad8b3b9cd27bcd75f48b3c64f
MD5 e7500fd2786ef399c1c74eed11a2b63b
BLAKE2b-256 32630dd90b987d222a56e283dabbfd6bc54f5326e4c1809befc1aef9c19832a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.10-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6c23877958fe61fd6319fe88d4dd312ea0cc4a38a9d181199503dd4fa3e6d185
MD5 b904ac5714806533f7e9b83c9fde2251
BLAKE2b-256 883a7f58f2f05b69f028339b8dbdc647e58b5d32306d326e0de298d6dd3fb7a4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastdb4py-0.1.10-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 182.0 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.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 59ea88503a81ad92693677cf8707350e40e7a84c7cc45f84289e7c60fcc7558a
MD5 56ee889970bfb768efc9fec2ed82a2ad
BLAKE2b-256 3d62249da88aa5d6314ba22864dd0d208515c537ba828f3b4d43e40577a77ade

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e81a92be5310f1fb9b8f5e9884b05f3824134bbaba98fb6fae1f82d90b39d6e5
MD5 a763388bd2cf3e5c63370ff4608c83a8
BLAKE2b-256 4faaae27e0293ba9d027164275099d8a0dade3ebfba373c3dc5352c2b6a3196c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fc4719038dd816eb6b02939a3ad732dd0ab2b24c98b9d7b77ecd48dd2c56bfd6
MD5 5ce630c3e8aebab0f349a11507b293c5
BLAKE2b-256 c52cd01015629b2aa5b8d6694d7b5baac039cf842039f88e836a40897bb3c0d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.10-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b2df87af616eb91000866a15c05d5e69f2d117bb44b0a374cac4f76e8f27f016
MD5 203d91357660a281a6f4e0d858f7f148
BLAKE2b-256 38962872d548db860629c7bae85a6dde5d6e492a812815f7891c7b230b6f8e8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastdb4py-0.1.10-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f9c332a6055f593853dfbf6453b0151edb25fc92965fc80969b7548c44abfc9f
MD5 9733a831079537d42286b324b24b98ff
BLAKE2b-256 668f3fa8a4f6e8994c39b04148d32cba662b538c815d37a6124c189920bbd282

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