Installation Guide#

Requirements#

rojak currently only supports Python >=3.12. This is mainly due to the type hinting syntax that has been used

    "crick", # necessary for dask.percentile method
    "dask",
    "distributed",
    "h5netcdf",
    "pydantic",
    "pyproj",
    "pyyaml",
    "scipy",
    "sparse",
    "xarray",

Installation#

There are a few way which rojak can be installed. The easiest is through pip

$ pip install rojak-cat
$ uv add rojak # if you use uv as your package manager

This installs rojak as a library which can be imported. It only installs the minimum number of dependencies for the library to work. To use rojak as a CLI tool, you’ll need to install some additional dependencies using,

$ pip install rojak-cat[cli]
$ uv add rojak[cli] # if you use uv as your package manager

If you’d like the latest changes, rojak can be installed from source

$ git clone git@github.com:ImperialCollegeLondon/rojak.git
$ cd rojak
$ pip install -e .

If you intend to run the tests and build the documentation, you will need to install git lfs.

To use rojak as a CLI tool that’s installed from source, the final command will need to be modified to,

$ pip install -e .[cli]

If you use uv as your package manager and have cloned the repo, the core dependencies can be installed through,

$ uv sync

If you’d like all the dependencies,

$ uv sync --all-groups --all-extras

If you do not require the docs, dev and test dependencies,

$ uv sync --all-groups --no-group test --no-group dev --no-group docs --all-extras