XLB is a differentiable, massively parallel Lattice Boltzmann Method (LBM) library written in Python, designed for physics-based machine learning and computational fluid dynamics (CFD). It provides a modular operator-based architecture with abstract base classes and backend-specific implementations for JAX (CPU/GPU/TPU), NVIDIA Warp (single-GPU CUDA), and Autodesk Neon (multi-GPU, multi-resolution). The library supports 2D and 3D simulations with multiple velocity sets (D2Q9, D3Q19, D3Q27), collision models (BGK, KBC, Smagorinsky LES), boundary conditions (equilibrium, bounce-back, regularized, Zou-He, hybrid, extrapolation outflow), and immersed boundary method (IBM) for fluid-structure interaction. A key differentiator is its native differentiability via JAX and Warp autodiff, enabling gradient-based optimization of initial conditions, geometry, or control parameters. The codebase also includes experimental out-of-core support for simulations exceeding GPU memory, multi-resolution grid refinement, and distributed computation across multiple devices. While primarily a software library for CFD practitioners and ML researchers, it is accompanied by research validation data and academic publications, giving it a hybrid application/research character.