diff --git a/pyproject.toml b/pyproject.toml index 29f0ad8..40667a9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,11 +16,13 @@ classifiers = [ ] dependencies = [ + "numpy", + "xarray", "pandas", "plotly", "matplotlib", "ruamel.yaml", - "pyarrow" + "pyarrow", ] [build-system] @@ -38,14 +40,20 @@ Homepage = "https://github.com/ACCESS-NRI/esmf-trace" [project.optional-dependencies] devel = [ - "ruff", "pre-commit", ] + test = [ "pytest", "pytest-cov", ] +# Not required for the package but useful for users running notebooks +interactive = [ + "jupyter", + "ipykernel", +] + [tool.pytest.ini_options] addopts = [ "--cov=esmf_trace", @@ -53,6 +61,7 @@ addopts = [ "--cov-report=html", "--cov-report=xml" ] + testpaths = ["tests"] [tool.coverage.run] diff --git a/requirements-access.txt b/requirements-access.txt new file mode 100644 index 0000000..82c1c2b --- /dev/null +++ b/requirements-access.txt @@ -0,0 +1,15 @@ +# Workspace environment for ACCESS profiling and scaling workflows. +# +# This file installs multiple ACCESS repos into a single virtual +# environment for convenient imports and interactive development. +# +# It is not intended to represent the runtime requirements of any single +# repo. Instead, it defines a curated workspace environment that +# allows multiple tools to be used together. + +git+https://github.com/ACCESS-NRI/access-experiment-generator.git@main +git+https://github.com/ACCESS-NRI/access-experiment-runner.git@main + +# Feature branches required for profiling work (not yet merged) +-e git+https://github.com/ACCESS-NRI/access-profiling.git@47-om3-profiling_temporary#egg=access-profiling +-e git+https://github.com/ACCESS-NRI/access-config-utils.git@32-accessom3-layout#egg=access-config-utils diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index a8e78ee..0000000 --- a/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -pandas -pyarrow -numpy -xarray -matplotlib -jupyter diff --git a/setup.sh b/setup.sh deleted file mode 100755 index 1a49a57..0000000 --- a/setup.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -# Gadi setup for esmf-trace -module load python3/3.11.7 -module use /g/data/vk83/modules -module load model-tools/babeltrace2/2.1.2 - -# Create venv and install -python3 -m venv .venv -. .venv/bin/activate -pip install -r requirements.txt -pip install -e . diff --git a/setup_gadi.sh b/setup_gadi.sh new file mode 100755 index 0000000..f40d96d --- /dev/null +++ b/setup_gadi.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Gadi setup for esmf-trace +module use /g/data/vk83/modules +module load model-tools/babeltrace2/2.1.2 + +# Create venv and install +python3 -m venv .venv +. .venv/bin/activate + +pip install --upgrade pip setuptools wheel + +# Install the package in editable mode for development +pip install -e ".[devel]" + +# Install the interactive tooling for the notebooks +pip install -e ".[interactive]" + +# Workspace bundle: install other ACCESS repos into the same venv for workflow convenience +pip install -r requirements-access.txt