[project] name = "TempoPFN" version = "0.1.0" description = "Univariate Time Series Forecasting Using Linear RNNs" authors = [ { name = "Vladyslav Moroshan" }, { name = "Julien Siems" }, ] readme = "README.md" license = { file = "LICENSE" } requires-python = ">=3.10,<3.13" dependencies = [ "torch>=2.5.0", "torchmetrics", "triton==3.2.0", "numpy", "pandas", "matplotlib", "gpytorch", "flash-linear-attention @ git+https://github.com/fla-org/flash-linear-attention@main", "scikit-learn", "gluonts", "notebook", "datasets", "ujson", ] classifiers = [ "Intended Audience :: Science/Research", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Topic :: Software Development", "Topic :: Scientific/Engineering", "Operating System :: POSIX", "Operating System :: Unix", "Operating System :: MacOS", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", ] [project.optional-dependencies] dev = [ "wandb", "build", "pre-commit", "ruff", "mypy", "commitizen", "black", "cupy-cuda12x", "statsmodels", "pyo", # Requires portaudio ] [build-system] requires = ["setuptools>=68.2.2", "wheel>=0.41.2"] build-backend = "setuptools.build_meta" package-dir = {"" = "src"} [tool.ruff] line-length = 120 # Set the minimum Python version to target. target-version = "py312" # Define the source directories. This matches your project structure. src = ["src"] [tool.ruff.lint] # Select the rules to enable. This is a great starting set. # E = pycodestyle errors # F = Pyflakes (e.g., unused imports, undefined names) # I = isort (import sorting) # UP = pyupgrade (modernize Python syntax) # B = flake8-bugbear (common bugs and bad practices) # C4 = flake8-comprehensions (more efficient comprehensions) select = ["E", "F", "I", "UP", "B", "C4"] # You can ignore specific rules here. For example, if you # don't want to enforce docstrings, uncomment the line below: # ignore = ["D100", "D101", "D102", "D103"] [tool.ruff.format] # Use "black-compatible" formatting. quote-style = "double" indent-style = "space" skip-magic-trailing-comma = false line-ending = "auto"