Skip to main content

From PyPI

Or with uv:
Prebuilt wheels bundle the compiled Rust extension, so no toolchain is needed on the supported platforms: Wheels are published for CPython 3.10 through 3.14.

Verify the install

The _lib import is the meaningful part: it confirms the native extension loaded, since generation runs in Rust with no Python fallback.

Runtime dependencies

pip install synforecast pulls in narwhals, numpy, pandas, polars, and pydantic. There are no optional extras — both pandas and polars are required, because output is materialized through narwhals rather than one fixed backend.

Optional dataframe engines

engine="pandas" (the default) and engine="polars" work out of the box. Three further engines are accepted but not installed by default:
engine="cudf" requires a RAPIDS cuDF build and a CUDA GPU; install it from the RAPIDS channel for your CUDA version.

Building from source

Installing from the source distribution compiles the Rust extension, which needs a stable Rust toolchain (install via rustup):

From a git checkout

For development, clone the repository and use the devenv target, which runs uv sync --dev and installs the pre-commit hooks:
See CONTRIBUTING for the test and lint workflow.
Alpha versioning SynForecast is in alpha. APIs and seed-identical outputs may change between releases, so pin a version if you depend on exact generated values.

Next

  • Quick start — generate a panel and control the generators.
  • Balanced pool — what generate_series draws from by default.