tiledb
Pythonic interface to the TileDB array storage manager
What it is and what it does
TileDB-Py is a Python binding to the TileDB array storage engine, a columnar array database designed for efficient storage and retrieval of multi-dimensional data. It abstracts away the complexity of managing dense and sparse arrays, offering a NumPy-like interface for reading, writing, and querying array data. The package depends on numpy for numerical operations and packaging for version handling.
Typical workflows involve creating arrays with defined schemas, populating them with data via numpy arrays or Pandas DataFrames, and then querying slices or ranges efficiently. It targets scientific computing, geospatial analysis, and time-series workloads where traditional row-oriented databases are inefficient. The library is actively maintained, supports Python 3.9 through 3.13, and offers prebuilt wheels for major platforms.
Use it for:
- Store and query large geospatial raster datasets with efficient spatial indexing.
- Manage time-series data from sensors or financial markets with fast range queries.
- Build scientific computing pipelines that work with multi-dimensional arrays.
- Replace row-oriented storage when you need better compression and query performance.
- Integrate array data into machine learning workflows via Pandas DataFrames.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
TileDB-Py provides a Python interface to the TileDB array storage engine, enabling you to read, write, and query multi-dimensional arrays with support for both dense and sparse data.
Yes, if you work with multi-dimensional array data and need efficient storage and querying. The active maintenance, permissive MIT license, and broad platform support make it a solid choice. Medium install friction is acceptable for the performance gains it offers. No known vulnerabilities as of the fact sheet date.
Install
tiledb on PyPI
pip
pip install tiledbuv
uv add tiledbpoetry
poetry add tiledbInstalling tiledb
Before you install
Medium install friction: prebuilt wheels cover Python 3.10–3.13 on macOS (both ARM and x86), Linux (glibc 2.28+), and Windows, but the underlying TileDB C++ library must be present or bundled. Active maintenance with a recent release 170 days ago.
License in practice
MIT license is permissive; you may use, modify, and distribute tiledb freely in commercial and private projects with minimal restrictions.
Quickstart
pip install tiledb
import tiledb
import numpy as np
# Create and write to an array
with tiledb.open('my_array.tdb', mode='w') as A:
A[:] = np.arange(10)
Requires numpy and packaging at runtime; optional Pandas and PyArrow for dataframe functionality.
Verify before relying
- Whether the prebuilt wheels include the full TileDB C++ runtime or require a separate system installation.
- Performance characteristics and scalability limits for typical array sizes and query patterns.
- Cloud storage backend support and any authentication requirements.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 2 — numpy, packaging |
| Maintenance | actively maintained — 170 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 89,107/month — #13,680 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tiledb-0.36.1-cp310-cp310-macosx_11_0_arm64.whl; tiledb-0.36.1-cp310-cp310-macosx_11_0_x86_64.whl; tiledb-0.36.1-cp310-cp310-manylinux_2_28_aarch64.whl; tiledb-0.36.1-cp310-cp310-manylinux_2_28_x86_64.whl; tiledb-0.36.1-cp310-cp310-win_amd64.whl; tiledb-0.36.1-cp311-cp311-macosx_11_0_arm64.whl; tiledb-0.36.1-cp311-cp311-macosx_11_0_x86_64.whl; tiledb-0.36.1-cp311-cp311-manylinux_2_28_aarch64.whl; tiledb-0.36.1-cp311-cp311-manylinux_2_28_x86_64.whl; tiledb-0.36.1-cp311-cp311-win_amd64.whl; tiledb-0.36.1-cp312-cp312-macosx_11_0_arm64.whl; tiledb-0.36.1-cp312-cp312-macosx_11_0_x86_64.whl; tiledb-0.36.1-cp312-cp312-manylinux_2_28_aarch64.whl; tiledb-0.36.1-cp312-cp312-manylinux_2_28_x86_64.whl; tiledb-0.36.1-cp312-cp312-win_amd64.whl; tiledb-0.36.1-cp313-cp313-macosx_11_0_arm64.whl; tiledb-0.36.1-cp313-cp313-macosx_11_0_x86_64.whl; tiledb-0.36.1-cp313-cp313-manylinux_2_28_aarch64.whl; tiledb-0.36.1-cp313-cp313-manylinux_2_28_x86_64.whl; tiledb-0.36.1-cp313-cp313-win_amd64.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
sparseProvides multi-dimensional sparse array data…
permissive · top 5,000 on PyPI
tiledbsomaTileDB-SOMA is a Python implementation of the…
permissive · top 15,000 on PyPI
awkward0Manipulates complex, non-rectangular data…
permissive · top 15,000 on PyPI
tensorstoreTensorStore reads and writes large…
permissive · top 5,000 on PyPI
fast-array-utilsConverts and computes statistics across sparse,…
copyleft · top 15,000 on PyPI
tablesPyTables provides an object-oriented interface…
permissive · top 5,000 on PyPI
awkward-pandasExtends pandas DataFrames to store and…
permissive · top 15,000 on PyPI
storageProvides Python classes and functions to…
unclear · top 15,000 on PyPI
pylibraft-cu12pylibraft-cu12 provides Python bindings to…
permissive · top 15,000 on PyPI
array-api-compatProvides a unified wrapper around NumPy, CuPy,…
permissive · top 5,000 on PyPI