diff --git a/docs/howto/develop/setup.md b/docs/howto/develop/setup.md index 763b2d31dac8182416c15521368336e8bf1a2f43..1a22fcf5c0a2bf2332f94d19a277252fc0c4ab8b 100644 --- a/docs/howto/develop/setup.md +++ b/docs/howto/develop/setup.md @@ -159,24 +159,31 @@ and NOMAD itself. rm -rf site ``` - All the requirements needed for development (including submodule requirements) are installed: + We use [uv](https://docs.astral.sh/uv/) to install the packages. You can install uv using `pip install uv`. - ```shell - pip install --prefer-binary -r requirements-dev.txt - ``` Next we install the `nomad` package itself (including all extras). The `-e` option will install NOMAD with symbolic links that allow you to change the code without having to reinstall after each change. + The -c flag restricts the installation of dependencies to the versions specified in the provided requirements file, ensuring that only those versions are installed. + + ```shell + uv pip install -e .[parsing,infrastructure,dev] -c requirements-dev.txt + ``` + + Install "default" plugins. TODO: This can be removed once we have proper proper distribution ```shell - pip install -e .[parsing,infrastructure,dev] + uv pip install -r requirements-plugins.txt ``` - If pip tries to use and compile sources that create errors, it can be told to prefer the binary version: + Next we build the documentation. ```shell - pip install -e .[parsing,infrastructure,dev] --prefer-binary + sh scripts/generate_docs_artifacts.sh + mkdocs build + mkdir -p nomad/app/static/docs + cp -r site/* nomad/app/static/docs ``` The NOMAD GUI requires a static `.env` file, which can be generated with: