Metadata-Version: 2.1
Name: sweepx
Version: 0.1.0
Summary: Install handle for the sweep engine: `pip install sweepx`, then `import sweep`.
Author-email: Shaowen Wang <shaowen.wang@kaust.edu.sa>
License: MIT
Project-URL: Homepage, https://github.com/DeepWave-KAUST/sweepx
Project-URL: Issues, https://github.com/DeepWave-KAUST/sweepx/issues
Keywords: fwi,geophysics,seismic,wave-equation,meta-package
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: sweep-solver<0.2,>=0.1

# sweepx

**One-line install for the [sweep](https://github.com/DeepWave-KAUST/sweep) ecosystem.**

`sweepx` is an umbrella meta-package. It contains no code of its own — installing
it just pulls in the solver plus every companion package in one shot.

## Install

```bash
pip install sweepx
```

This drags in:

| Distribution    | Import name      | What it does                                              |
|-----------------|------------------|-----------------------------------------------------------|
| `sweep-solver`  | `sweep`          | Wave-equation engine: equations, propagators, operators   |
| `sweep-io`      | `sweep_io`       | SEG-Y / HDF5 / shot-gather datasets                       |
| `sweep-nn`      | `sweep_nn`       | Neural priors: SIREN, INRs, hash-encoding, reparam        |
| `sweep-opt`     | `sweep_opt`      | Optimizers, line search, preconditioners, parameterization|
| `sweep-loss`    | `sweep_loss`     | Misfit functionals (L2, W2, envelope, AWI, …)             |
| `sweep-viz`     | `sweep_viz`      | Plotting helpers for wavefields, gradients, models        |
| `sweep-preproc` | `sweep_preproc`  | Signal preprocessing                                      |
| `sweep-tasks`   | `sweep_tasks`    | Task-runner CLI for FWI/LSRTM pipelines                   |
| `sweep-runner`  | `sweep_runner`   | Job-submission helpers                                    |

## Import

After `pip install sweepx`, **import as `sweep`**, not `sweepx`:

```python
import sweep                                  # the wave-equation engine
from sweep import equations, propagator       # native submodules
from sweep import io, nn, opt, loss, viz      # companion namespace aliases
from sweep_io import SEGYReader               # or use the real names directly
```

The `sweep.io / sweep.nn / …` short aliases are provided by `sweep-solver`'s
top-level `__init__.py` and resolve lazily to the underlying companion
distributions.

> This is the same pattern as `pip install scikit-learn` followed by
> `import sklearn`. The PyPI distribution name and the Python module name
> deliberately differ — `sweep` (the import name) was taken on PyPI, so the
> umbrella is published as `sweepx`.

## CUDA

`sweep-solver` ships with optional CUDA kernels. To build them:

```bash
SWEEP_BUILD_CUDA=1 pip install sweepx
```

(Triggers a source build of the `sweep._C` extension. Requires PyTorch and the
CUDA toolkit on PATH.)

## License

MIT — see [LICENSE](LICENSE).
