Installation#
Requirements#
Python 3.10 to 3.12
A working pip installation
NOADS depends on GEMSEO-JAX (multidisciplinary optimization with automatic differentiation), JAX (numerical computing and auto-diff), and diffrax (differential equation solvers). These are installed automatically.
Install from PyPI#
pip install noads
Install from source (development)#
Clone the repository and install in editable mode:
git clone https://github.com/iancostalves/noads.git
cd noads
pip install -e ".[test,doc]"
This installs NOADS with all development dependencies (testing, documentation).
Verify the installation#
import noads
from noads.application.scenario_setup import single_scenario_setup
print("NOADS is ready.")
Optional: JAX GPU support#
By default, JAX runs on CPU. For GPU acceleration (useful for large-scale optimizations), follow the JAX installation guide to install the CUDA-enabled version of JAX before installing NOADS.
Development tools#
NOADS uses tox for automation. After installing from source:
# Run the test suite
tox -e test
# Build the documentation locally (or tox -e doc-serve for live reload)
tox -e doc
# Run the linter (ruff, via pre-commit)
tox -e check
Pre-commit hooks are configured for code quality. To activate them:
pip install pre-commit
pre-commit install