diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 73dc1ee..f43d836 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -72,12 +72,21 @@ jobs: # that is how v0.2.0 shipped with the umbrella still resolving 0.1.0, # and the only symptom was mkdocstrings failing to collect a class that # the API page documents. Say so here instead. + # sweep-tasks is not on PyPI and depends on companions that are not + # public yet (sweep-io, sweep-nn), so install it from git WITHOUT deps + # plus the few its API pages import. mkdocstrings only renders + # runner / yaml_io / schemas, which import none of the companions. + # sweep-loss has no API page, so it is not installed at all. + pip install pydantic PyYAML scipy matplotlib + pip install --no-deps "sweep-tasks @ git+https://github.com/DeepWave-KAUST/sweep-tasks@main" python - <<'PY' import importlib, sys from importlib.metadata import version - print("sweep-solver", version("sweep-solver"), "| sweep-agent", version("sweep-agent")) + print("sweep-solver", version("sweep-solver"), "| sweep-agent", version("sweep-agent"), + "| sweep-tasks", version("sweep-tasks")) print("sweep imported from", importlib.import_module("sweep").__file__) - for mod in ("sweep", "sweep.parallel", "sweep_agent"): + for mod in ("sweep", "sweep.parallel", "sweep_agent", + "sweep_tasks.runner", "sweep_tasks.yaml_io", "sweep_tasks.schemas"): try: importlib.import_module(mod) except Exception as exc: @@ -85,12 +94,6 @@ jobs: f"reference it, so a resolver downgrade would fail later " f"with an unreadable mkdocstrings error") PY - # NOTE: sweep-tasks is still a PRIVATE repo, so neither pip nor - # multirepo can reach it from CI. Its Tasks tab is commented out in - # mkdocs.yml — re-enable both (here and there) once sweep-tasks is - # public or on PyPI. Until then: - # pip install sweep-tasks # when on PyPI, or - # pip install "git+https://x-access-token:${GH_TOKEN}@github.com/DeepWave-KAUST/sweep-tasks@main" - name: Build site (multirepo pulls the package docs) run: mkdocs build diff --git a/docs/getting-started.md b/docs/getting-started.md index 9c56d9f..6979c54 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -79,6 +79,18 @@ sweep-agent chat Equations, propagators, backends, boundary-saving — and 26 runnable notebooks under [Examples](../solver/examples/). +- :material-cog-play-outline: __[Tasks](tasks/index.md)__ + + --- + + Production FWI / LSRTM from one YAML file: specs, CLI, multi-GPU, data IO. + +- :material-chart-bell-curve: __[Loss](loss/index.md)__ + + --- + + Misfit functions for inversion — L2 to envelope, phase and optimal transport. + - :material-message-processing-outline: __[Agent](agent/index.md)__ --- diff --git a/docs/index.md b/docs/index.md index bfdc27e..62d8646 100644 --- a/docs/index.md +++ b/docs/index.md @@ -30,9 +30,9 @@ hide:
COMPANIONS · GROWING

…and the family

- sweep-tasks (production FWI/LSRTM runner), sweep-loss, - sweep-nn, sweep-tomo — each an independent package, - added to sweepx as it ships. + sweep-tasks (production FWI/LSRTM runner) and + sweep-loss are documented here; sweep-nn + and sweep-tomo follow — each an independent package.

Browse the org @@ -45,6 +45,12 @@ hide:

The latest user-visible additions across the stack. The badge says where each one lives: a released version you get from pip install, or dev for what is merged but not yet on PyPI — these docs are built from the development branch.

+ +
docs2026-10
+
Tasks and Loss, now open
+
sweep-tasks, the YAML-driven production FWI/LSRTM runner, and sweep-loss, two dozen FWI misfits from L2 to optimal transport, are public and documented on this site.
+
+
v0.3.52026-10
Velocity from reflections
@@ -75,12 +81,6 @@ hide:
A model too big for one GPU splits across several — one tile per rank, a halo per step, and a gradient bit-identical to the single-GPU one. 0.3.0 made it faster: up to 3.99× on 2-D elastic and 1.56× on 3-D elastic.
- -
agent 0.0.32026-08
-
Natural-language control
-
Natural-language control on a plain pip install: forward modelling (acoustic and elastic) plus benchmark models, no sweep-tasks needed.
-
-
@@ -127,13 +127,13 @@ from sweep.equations import Acoustic, ElasticTTI # nine equation families
COMPANION
sweep-tasks
-
coming
+
import sweep_tasks · docs
Production FWI/LSRTM runner — specs, YAML, multi-GPU, IO.
COMPANION
sweep-loss
-
coming
+
import sweep_loss · docs
Misfit / loss functions for inversion.
diff --git a/mkdocs.yml b/mkdocs.yml index 8795b5b..f6ac4b1 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -63,6 +63,8 @@ extra: # not listed falls back to repo_url/repo_name above (the umbrella). section_repos: solver: DeepWave-KAUST/sweep + tasks: DeepWave-KAUST/sweep-tasks + loss: DeepWave-KAUST/sweep-loss agent: DeepWave-KAUST/sweep-agent social: - icon: fontawesome/brands/github @@ -116,10 +118,8 @@ nav: - Home: index.md - Getting started: getting-started.md - Solver: '!import https://github.com/DeepWave-KAUST/sweep?branch=dev&docs_dir=docs/*' - # Tasks is ready (docs live in the sweep-tasks repo) but that repo is still - # PRIVATE, so CI can't clone it. Uncomment this line — and the sweep-tasks - # pip install in .github/workflows/docs.yml — once it is public / on PyPI. - # - Tasks: '!import https://github.com/DeepWave-KAUST/sweep-tasks?branch=main&docs_dir=docs/*' + - Tasks: '!import https://github.com/DeepWave-KAUST/sweep-tasks?branch=main&docs_dir=docs/*' + - Loss: '!import https://github.com/DeepWave-KAUST/sweep-loss?branch=master&docs_dir=docs/*' - Agent: '!import https://github.com/DeepWave-KAUST/sweep-agent?branch=main&docs_dir=docs/*' markdown_extensions: diff --git a/overrides/main.html b/overrides/main.html index 34018f1..74850eb 100644 --- a/overrides/main.html +++ b/overrides/main.html @@ -64,6 +64,8 @@
Documentation
@@ -73,6 +75,8 @@
Packages