TileDB-Py is the official Python interface to the TileDB Storage Engine, an efficient multi-dimensional array management system. It provides a Pythonic API for storing and accessing dense and sparse array data, featuring fast updates, reads, excellent compression, and efficient parallel I/O with high scalability. The library is actively maintained, with version 0.36.1 released on February 25, 2026, and regular updates.
pip install tiledbVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to create a TileDB dense array, write NumPy data to it, and read a slice of the data. The array is stored locally on disk.
Ensure your project's `pandas` dependency is pinned to `<3.0.0` or update TileDB-Py when compatibility with `pandas` 3.x is officially released.
Be patient during installation. For verbose output to monitor the build process, add the `-v` flag: `pip install -v tiledb`. Consider pre-installing `numpy` and `cython` if you anticipate issues, or using `conda` for a potentially faster installation via pre-built binaries (`conda install -c conda-forge tiledb-py`).
Verify that cloud storage credentials (e.g., `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `GOOGLE_APPLICATION_CREDENTIALS`) are correctly set in the environment where the Python script is run. Ensure the TileDB `Config` object is properly initialized with VFS-specific settings like `vfs.s3.region` or `vfs.gcs.project_id` if required.
For reads, try reading data in smaller chunks or slices rather than the entire array at once. For writes or consolidations, ensure adequate system memory (RAM) is available or optimize array schema parameters (e.g., tile capacity, compression) to reduce memory footprint. If processing very large datasets, consider distributed computing frameworks or memory-mapping options if applicable.
Double-check the array URI for correctness, including any file system paths or cloud storage bucket/object prefixes. Verify that the current user/process has read/write permissions to the specified location. For cloud storage, ensure authentication (e.g., AWS credentials, GCP service account) is correctly configured and accessible to the TileDB process.
Access properties of `tiledb.Dim` using dot notation (e.g., `dim.name`, `dim.domain`, `dim.dtype`) instead of attempting to index into the object directly. The `tiledb.Domain` object, which contains dimensions, is subscriptable to access dimensions by index or name.