Metadata-Version: 2.4
Name: generalforecast
Version: 0.1.1
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Rust
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Dist: cryptography>=46
Requires-Dist: httpx==0.28.1
Requires-Dist: huggingface-hub>=2.2.0
Requires-Dist: jax>=0.11.0
Requires-Dist: jaxtyping>=0.2.38
Requires-Dist: numpy>=2.5.3
Requires-Dist: pyarrow>=24
Requires-Dist: pyyaml>=6.0.2
Requires-Dist: safetensors>=0.8.0
Requires-Dist: jax[cuda13]>=0.11.0 ; extra == 'cuda'
Requires-Dist: pandas>=2.2 ; extra == 'dataframes'
Requires-Dist: polars>=1.30,<2 ; extra == 'dataframes'
Requires-Dist: scikit-learn>=1.9.1 ; extra == 'sklearn'
Provides-Extra: cuda
Provides-Extra: dataframes
Provides-Extra: sklearn
License-File: LICENSE
Summary: gf: tabular foundation models, inference and deployment clients
Author-email: General Forecast <tejas@generalforecast.com>
License-Expression: Apache-2.0
Requires-Python: >=3.12
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://generalforecast.com
Project-URL: Repository, https://github.com/generalforecast/gf

# General Forecast

General Forecast is a easy-to-use unified inference
and deployment engine for structured data foundation models (SDFMs).
It provides low-latency, high-throughput in-context
learning predictions for live tabular and time-series data
through high-level APIs and a Python SDK.

- Website: https://generalforecast.com
- Docs: https://docs.generalforecast.com/

## Quickstart

```python
uv venv --python 3.12
source .venv/bin/activate

uv pip install "generalforecast[sklearn]"
```

Predict locally in Python with the `scikit-learn` API:
```python
import generalforecast as gf
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split

X, y = load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

classifier = gf.Classifier(
    "general-forecast/tabicl-v2-classifier",
    allow_downloads=True,
).fit(X_train, y_train)

print("accuracy:", classifier.score(X_test, y_test))
print("probabilities:\n", classifier.predict_proba(X_test[:3]).round(3))
```

Serve models locally with a prediction package:
```python
# Create a classifier as shown above

# Creates a declarative package directory with gf.yaml, context.arrow, gf.lock
package = classifier.to_package("./breast-cancer-pkg", name="breast-cancer")
print("locked digest:", package.lock.package_digest)
```
```bash
gf serve ./breast-cancer-pkg --port 8000
```

## Contributing

We welcome and value any contributions and collaborations. For more
specific questions, please contact hello@generalforecast.com.

## License

Licensed under the [Apache License 2.0](LICENSE).

If you use General Forecast, please cite our work:
```bibtex
@misc{generalforecast2026,
    title={General Forecast: A unified high-throughput inference engine for structured data foundation models},
    author={Tejas Prabhune and Ayushi Batwara},
    year={2026},
    publisher={GitHub},
    howpublished={\url{https://github.com/generalforecast/gf}}
}
```

