[build-system] requires = ["setuptools>=64"] build-backend = "setuptools.build_meta" [project] name = "kronos-fusion-ml" version = "0.3.0" description = "KODEX — the Kronos Family of Codes: a benchmarked AI/ML surrogate suite for fusion, with calibrated uncertainty and an abstention gate on every model." readme = "README.md" requires-python = ">=3.10" license = { text = "Apache-2.0" } authors = [{ name = "Kronos Fusion Energy" }] keywords = ["fusion", "surrogate", "machine-learning", "uncertainty-quantification", "gyrokinetic", "cgyro"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering :: Physics", "Topic :: Scientific/Engineering :: Artificial Intelligence", ] # core stays light; the family plugs into the published physics engine dependencies = ["numpy>=1.21", "scipy>=1.7", "kronos-toolkit"] [project.optional-dependencies] nn = ["torch>=2"] # neural members (KFLOW GNN, KORE FNO retrain) ml = ["scikit-learn>=1.1"] # GP + ensemble heads (KHALO, KYRO, KWARD) data = ["pandas>=1.3", "pyarrow"] # on-disk result loaders plot = ["matplotlib>=3.4"] dev = ["pytest>=7"] [project.urls] Homepage = "https://www.kronosfusionenergy.com/kodex" Repository = "https://github.com/KronosFE/kronos-ml" [tool.setuptools] packages = ["kronos_ml", "kronos_ml.members"]