[tool.poetry]
name = "timesfm"
packages = [
    { include = "timesfm", from = "src" },
    { include = "finetuning", from = "src" },
]
description = "Open weights time-series foundation model from Google Research."
version = "1.3.0"
authors = [
    "Rajat Sen <senrajat@google.com>",
    "Yichen Zhou <yichenzhou@google.com>",
    "Abhimanyu Das <abhidas@google.com>",
    "Petros Mol <pmol@google.com>",
    "Justin Güse <guese.justin@gmail.com>",
    "Michael Chertushkin <chertushkinmichael@gmail.com>"
]
readme = "README.md"
keywords = ["time series", "timesfm", "forecast", "time series model"]
homepage = "https://github.com/google-research/timesfm"
repository = "https://github.com/google-research/timesfm"
classifiers = [
    "Environment :: Console",
    "Framework :: Flake8",
    "Operating System :: OS Independent",
    "Topic :: Software Development :: Documentation",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Topic :: Software Development :: Quality Assurance",
]
include = ["LICENSE"]

[tool.poetry.dependencies]
python = ">=3.10,<3.12"
einshape = ">=1.0.0"
numpy = ">=1.26.4"
pandas = ">=2.0.0"
utilsforecast = ">=0.1.10"
huggingface_hub = { version = ">=0.23.0", extras = ["cli"] }
scikit-learn = ">=1.2.2"
typer = ">=0.12.3"
wandb = ">=0.17.5"
absl-py = ">=1.4.0"
safetensors = "^0.5.3"

[tool.poetry.extras]
# Note: `lingvo` is an optional Google-internal dependency with strict Python
# version and packaging constraints that cause install failures on some
# environments (Colab etc.). We omit it from the pax extra here so users can
# opt-in explicitly if they need it and have a compatible environment.
pax = ["paxml", "jax", "jaxlib"]
torch = ["torch"] 

[tool.poetry.dependencies.paxml]
version = ">=1.4.0"
python = ">=3.10,<3.11"



[tool.poetry.dependencies.jax]
version = ">=0.4.26"
extras = ["cuda12"]
python = ">=3.10,<3.12"  # Support both python versions

[tool.poetry.dependencies.jaxlib]
version = ">=0.4.26"
python = ">=3.10,<3.12"  # Support both python versions

[tool.poetry.dependencies.torch]
version = ">=2.0.0"
extras = ["cuda"]
python = ">=3.11,<3.12"

[tool.poetry.group.dev.dependencies]
pytest = ">=8.3.2"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
