Installing with ``pip``
=======================
The quickest way to get a working Galacticus for running models is to install
the ``galacticus`` package from `PyPI `_::
pip install galacticus
This installs a small launcher (the ``galacticus`` command). The first time you
run a model, the launcher downloads the pre-built executable, the run-time
``datasets``, and the pre-built ``tools`` for your platform, and sets the
required environment variables for you — so there is nothing else to configure.
Pre-built binaries are available for Linux (x86-64), macOS (Intel x86-64), and
macOS (Apple Silicon). On other platforms — including native Windows — there is
no pre-built binary; build :doc:`from source ` instead (on Windows,
use WSL 2 and the Linux build).
.. note::
The pre-built macOS binaries are compiled on a recent macOS and will only run
on that version or newer. The launcher checks this before running: if your
macOS is too old it stops with a clear message (rather than a cryptic
``dyld`` error) telling you to upgrade macOS or build from source.
Running a model
---------------
.. code-block:: bash
galacticus run parameters/quickTest.xml
On first use you will see the launcher fetch the executable, datasets, and tools,
with a progress bar for each download; subsequent runs reuse the cached copies.
``galacticus run`` validates the parameter file before dispatching it; pass
``--no-validate`` to skip that, and any other arguments (e.g. ``--dry-run``) are
passed straight through to the executable. ``galacticus `` is shorthand for
``galacticus run ``.
The bundled example parameter files (such as ``parameters/quickTest.xml``)
resolve against the install, so the command above works from any directory --
you do not need to ``cd`` into the install tree. A relative path that exists
in your current directory always takes precedence, so your own parameter files
are found first.
The model writes its output (by default ``galacticus.hdf5``) to the current
directory, exactly as the executable does when run directly. See
:doc:`../running` for what to do with the output.
Commands
--------
``galacticus install``
Download (or complete) the install without running a model.
``galacticus update``
Re-download the install for the current package version.
``galacticus validate [change files...]``
Validate a parameter file without running it. Validation is performed on the
*resolved* tree (XInclude, any change files, and ``active=`` conditionals are
applied first), so it checks the structure Galacticus will actually build.
``galacticus resolve [change files...] -o