Skip to main content

General Forecast

Predictors on tabular and time series foundation models. One manifest, gf.yaml, runs the same predictor on your machine and hosted.

pip install generalforecast

A predictor from a CSV

In a directory with a CSV, gf init asks for the target, the model, the id column, the inputs and which rows are queries, then writes gf.yaml.

$ cd churn && gf init
Target       churned
Model        general-forecast/tabicl-v2-classifier
Id           customer_id
Inputs       spend, plan, signups
Queries      212 rows with no target

 Initialized predictor churn in ./gf.yaml

gf check resolves the schema against the context and pins the model in gf.lock.

$ gf check
    Resolved churn  classification, 3 inputs, 1,840 context rows, 212 query rows
      Locked gf.lock in 0.21s

gf eval scores the held-out rows.

$ gf eval
    Resolved churn  classification, 1,840 context rows, 212 query rows
   Predicted 212 rows in 0.19s

             accuracy   0.934
             log loss   0.187
             auroc      0.961

gf serve runs the predictor on this machine. The first run pulls the model's weights into ~/.cache/huggingface.

$ gf serve
     Pulling general-forecast/tabicl-v2-classifier  (1.2 GB) to ~/.cache/huggingface
     Loading general-forecast/tabicl-v2-classifier (cached)
    Compiled 12 programs in 6.8s
     Serving churn at http://127.0.0.1:8000
curl -s http://127.0.0.1:8000/v1/projects/local/predictors/churn/predict \
  -H 'content-type: application/json' \
  -d '{
    "api_version": "gf/v1",
    "project": "local",
    "request_id": "r-1",
    "resource": {"kind": "predictor", "name": "churn"},
    "payload": {"queries": [{"customer_id": 9001, "spend": 42.0, "plan": "pro", "signups": 3}]}
  }'

The same predictor from Python:

import generalforecast as gf
import pandas as pd

df = pd.read_csv("new_customers.csv")
scored = gf.Predictor("./churn").predict(df)  # columns: customer_id, label, p_0, p_1

gf push deploys it. gf predict and gf.Predictor("churn") then score rows against the hosted revision.

$ gf push
   Uploading churn revision 7  snapshot, 1,840 rows, 3.1 kB
    Deployed churn revision 7 to production in 41s

Estimators

Classifier, Regressor and Forecaster have the sklearn shape and take a catalog model. Weights pull on first use; download=False or GF_OFFLINE=1 refuses the download and names the gf model pull command instead.

import generalforecast as gf

clf = gf.Classifier(model="general-forecast/tabicl-v2-classifier")
clf.fit(X_context, y_context)
clf.predict_proba(X_queries)

fc = gf.Forecaster(model="general-forecast/chronos-2", horizon=7)
fc.fit(history)  # columns: date, sku, units
fc.forecast()  # quantiles 0.1, 0.5, 0.9 per sku per step

gf model list prints the catalog with each model's limits on context rows, queries and inputs.

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.

If you use General Forecast, please cite our work:

@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}}
}

Metadata

Release files for generalforecast 0.1.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for generalforecast 0.1.9
File Interpreter ABI Platform
generalforecast-0.1.9-cp312-abi3-manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.28+ x86-64 Details
generalforecast-0.1.9-cp312-abi3-manylinux_2_28_aarch64.whl CPython 3.12 abi3 Linux glibc 2.28+ ARM64 Details
generalforecast-0.1.9-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details

Total release size: 67.3 MB

Release files / generalforecast-0.1.9-cp312-abi3-manylinux_2_28_x86_64.whl

Download URL generalforecast-0.1.9-cp312-abi3-manylinux_2_28_x86_64.whl
Size 24.0 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
1f08e2a9c520fd340354675580e430f5c10f68065ca26ddf7a15602be000668f
BLAKE2b-256 checksum
How to use checksums
f2c47c47fe44b1f6755f50b618db2f9f535274bc756e8ef345e8bdebca8de317
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Release files / generalforecast-0.1.9-cp312-abi3-manylinux_2_28_aarch64.whl

Download URL generalforecast-0.1.9-cp312-abi3-manylinux_2_28_aarch64.whl
Size 22.0 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
a2e7817f84d7d276161c9013ac6a32fbb98d7516f9a45f2d9a06a429d58ac2fd
BLAKE2b-256 checksum
How to use checksums
203ce38eecc886a0495e1998d6b370ad041d24e454701e9a7b146fb247e5eeb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Release files / generalforecast-0.1.9-cp312-abi3-macosx_11_0_arm64.whl

Download URL generalforecast-0.1.9-cp312-abi3-macosx_11_0_arm64.whl
Size 21.3 MB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1dc6ad6ee78312e513cd718c4fe711adfeb0718b391be85385f50a2bfd8eae39
BLAKE2b-256 checksum
How to use checksums
30353550f25e73701ea7db4ea2da1d29496c8630da19b6fff28f12eea931a4f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Security for generalforecast 0.1.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 3 files in this release have been uploaded with provenance metadata.

Select from 3 files

Attestation for generalforecast-0.1.9-cp312-abi3-manylinux_2_28_x86_64.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page