# pyLabHub Python environment requirements
#
# These packages are NOT installed during the build. After building or
# installing pylabhub, use the pylabhub-pyenv tool to install them into
# the bundled Python runtime:
#
#   pylabhub-pyenv install                           # base environment
#   pylabhub-pyenv install --venv my-env             # named venv
#   pylabhub-pyenv install -r custom-requirements.txt
#
# For offline builds, pre-download wheels and set:
#   pylabhub-pyenv install --wheels-dir /path/to/wheels
#
# --- Data structures and arrays ---
numpy>=2.0
# --- Data storage ---
zarr>=3.0           # primary array storage (Blosc+Zstd compression)
h5py>=3.10          # HDF5 export and legacy data access
pyarrow>=17.0       # Parquet (events/metadata) and Arrow IPC
# --- Scientific data model ---
xarray>=2024.10     # N-D labelled arrays over zarr/h5py/netCDF4
pandas>=2.0         # tabular metadata, event logs
# --- Communication ---
pyzmq>=26.0         # ZeroMQ bindings (admin shell client, hub inter-process)
# --- Compression codecs for zarr ---
numcodecs>=0.13
# --- Terminal UI (used by the default hub dashboard script) ---
rich>=13.0
# --- Interactive use (not loaded by hubshell server; available locally) ---
ipython>=8.0
