# Advect > Automatic differentiation for the NumPy code you already write Advect has two explicit execution lifetimes. Dynamic transforms trace one concrete call, while stage() compiles one immutable, serializable input signature. Use the public advect namespace and the API reference; do not infer support from an underlying NumPy, Array API, or SciPy function alone. The compatibility pages state separate dynamic, staged, and serialized support claims. Linked Markdown files are generated from this same documentation build and include expanded API docstrings. ## Start here - [Home](https://yaugenst.github.io/advect/0.1.0/index.md): Project overview, installation, and first gradient - [Tutorials](https://yaugenst.github.io/advect/0.1.0/tutorials/index.md): Guided learning path - [Architecture](https://yaugenst.github.io/advect/0.1.0/architecture/index.md): Dynamic tracing, staging, and extension boundaries - [Overview](https://yaugenst.github.io/advect/0.1.0/api/index.md): Public API contract and shared semantics ## Tutorials - [Gradients and Pytrees](https://yaugenst.github.io/advect/0.1.0/tutorials/gradients/index.md) - [Dynamic Control Flow and Mutation](https://yaugenst.github.io/advect/0.1.0/tutorials/control-flow/index.md) - [JVPs, VJPs, and Linear Maps](https://yaugenst.github.io/advect/0.1.0/tutorials/linear-maps/index.md) - [Higher-Order Differentiation](https://yaugenst.github.io/advect/0.1.0/tutorials/advanced-differentiation/index.md) - [Implicit Differentiation](https://yaugenst.github.io/advect/0.1.0/tutorials/implicit-differentiation/index.md) - [Staging and Serialization](https://yaugenst.github.io/advect/0.1.0/tutorials/staging/index.md) - [Arrays and Scientific Python](https://yaugenst.github.io/advect/0.1.0/tutorials/scientific-python/index.md) - [Host Autodiff Frameworks](https://yaugenst.github.io/advect/0.1.0/tutorials/host-frameworks/index.md) - [Custom Primitives](https://yaugenst.github.io/advect/0.1.0/tutorials/primitives/index.md) - [Troubleshooting](https://yaugenst.github.io/advect/0.1.0/tutorials/debugging/index.md) ## API reference - [Transforms](https://yaugenst.github.io/advect/0.1.0/api/transforms/index.md): Dynamic differentiation transforms - [Staging](https://yaugenst.github.io/advect/0.1.0/api/staging/index.md): Immutable programs and serialization - [Primitives](https://yaugenst.github.io/advect/0.1.0/api/primitives/index.md): Public custom-operation authoring - [Arrays](https://yaugenst.github.io/advect/0.1.0/api/arrays/index.md): Provider-preserving array boundaries - [Pytrees](https://yaugenst.github.io/advect/0.1.0/api/pytree/index.md): Structured inputs and custom nodes - [Testing Utilities](https://yaugenst.github.io/advect/0.1.0/api/testing/index.md): Numerical checks for extension authors - [Support Catalog](https://yaugenst.github.io/advect/0.1.0/api/support/index.md): Machine-readable support and lifetime claims - [Errors](https://yaugenst.github.io/advect/0.1.0/api/errors/index.md): Public diagnostics and exceptions - [NumPy Frontend](https://yaugenst.github.io/advect/0.1.0/api/numpy/index.md): NumPy frontend and explicit constructors - [SciPy Overview](https://yaugenst.github.io/advect/0.1.0/api/scipy/index.md): SciPy frontend boundaries and module routing - [Special Functions](https://yaugenst.github.io/advect/0.1.0/api/scipy/special/index.md): Differentiable scipy.special counterparts - [Image Processing](https://yaugenst.github.io/advect/0.1.0/api/scipy/ndimage/index.md): Differentiable scipy.ndimage processing - [Solver Callbacks](https://yaugenst.github.io/advect/0.1.0/api/scipy/solvers/index.md): Root and GMRES callbacks for implicit differentiation - [xarray](https://yaugenst.github.io/advect/0.1.0/api/xarray/index.md): Optional labeled-container pytrees - [Host Interop Overview](https://yaugenst.github.io/advect/0.1.0/api/interop/index.md): Shared host-autodiff bridge contract - [PyTorch](https://yaugenst.github.io/advect/0.1.0/api/interop/torch/index.md): PyTorch reverse-mode bridge - [JAX](https://yaugenst.github.io/advect/0.1.0/api/interop/jax/index.md): JAX eager and callback bridge - [HIPS Autograd](https://yaugenst.github.io/advect/0.1.0/api/interop/autograd/index.md): HIPS Autograd reverse-mode bridge ## Compatibility - [Compatibility](https://yaugenst.github.io/advect/0.1.0/compatibility/index.md) - [NumPy](https://yaugenst.github.io/advect/0.1.0/compatibility/numpy/index.md) - [Array API](https://yaugenst.github.io/advect/0.1.0/compatibility/array-api/index.md) - [CuPy](https://yaugenst.github.io/advect/0.1.0/compatibility/cupy/index.md) - [SciPy](https://yaugenst.github.io/advect/0.1.0/compatibility/scipy/index.md) - [xarray](https://yaugenst.github.io/advect/0.1.0/compatibility/xarray/index.md) ## Optional - [Playground](https://yaugenst.github.io/advect/0.1.0/playground/index.md): In-browser expression and derivative-graph explorer ## Development - [Overview](https://yaugenst.github.io/advect/0.1.0/development/index.md): Contributor entry point and task routing - [Codebase Map](https://yaugenst.github.io/advect/0.1.0/development/codebase/index.md): Module ownership and dependency direction - [Adding Operations](https://yaugenst.github.io/advect/0.1.0/development/adding-operations/index.md): Built-in operations and frontend forms - [Testing](https://yaugenst.github.io/advect/0.1.0/development/testing/index.md): Test-suite ownership and direct gates - [Documentation](https://yaugenst.github.io/advect/0.1.0/development/documentation/index.md): Public docs, docstrings, and repository guidance