Getting Started with Scalable ============================= This guide covers installation, baseline host requirements, and the bootstrap flow used to prepare local and HPC environments. Installation ------------ Install from PyPI using `pip `_. .. code-block:: bash pip install scalable For development or local source installs, clone the repository and install it from the checkout. .. code-block:: bash git clone https://github.com/JGCRI/scalable.git pip install ./scalable If installation reports that the scripts directory is not in ``PATH``, add the reported directory to your shell profile. .. code-block:: bash WARNING: The script scalable_bootstrap.exe is installed in '/path/to/python/scripts' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. For example: .. code-block:: bash echo "export PATH=\$PATH:/path/to/python/scripts" >> source This only needs to be done once per environment. Compatibility Requirements -------------------------- Required and supported tooling: * Local host: `Docker `_ * HPC scheduler: Slurm * HPC container runtime: Apptainer Bootstrapping is designed for POSIX-like shells. On Windows, `Git Bash `_ is recommended. Work Directory Setup -------------------- A dedicated work directory on the HPC host keeps dependencies, runtime assets, and outputs in a consistent layout. The ``scalable_bootstrap`` script prepares that directory and builds required worker containers. Using key-based SSH authentication is strongly recommended because bootstrap may open multiple remote sessions. A setup guide is available `on this website `_. From a local working directory, run: .. code-block:: bash cd scalable_bootstrap Follow the interactive prompts. Bootstrap downloads and builds dependencies on both local and HPC systems, then opens an SSH session into the configured HPC work directory. Inside the prepared environment, ``python3`` starts an interactive session with Scalable dependencies available. You can also execute scripts directly. Only files under the configured HPC work directory (and its subdirectories) are available in this execution model. .. code-block:: bash python3 python3 .py If bootstrap is interrupted, rerun ``scalable_bootstrap``. It resumes from the last valid step and skips completed setup where possible. Next Steps ---------- After setup: * Review the :ref:`api_section` for worker, caching, and function interfaces. * Run examples from :ref:`demos_section`. * Use :ref:`how_tos_section` for targeted implementation guidance. Report issues at `https://github.com/JGCRI/scalable/issues `_.