[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "insurance-frequency-severity"
version = "0.2.7"
description = "Sarmanov copula joint frequency-severity modelling for UK personal lines insurance, with neural two-part dependent model"
readme = "README.md"
license = "MIT"
authors = [
    {name = "Burning Cost", email = "pricing.frontier@gmail.com"}
]
keywords = [
    "insurance",
    "actuarial",
    "frequency-severity",
    "copula",
    "sarmanov",
    "glm",
    "pricing",
    "neural-network",
    "multi-task-learning",
]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Financial and Insurance Industry",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Topic :: Scientific/Engineering :: Mathematics",
    "Topic :: Scientific/Engineering :: Artificial Intelligence",

    "Intended Audience :: Science/Research",
    "Topic :: Office/Business :: Financial",
]
requires-python = ">=3.9"
dependencies = [
    "numpy>=1.24",
    "pandas>=2.0",
    "scipy>=1.10",
    "statsmodels>=0.14.5",
    "matplotlib>=3.6",
    "scikit-learn>=1.3.0",
]

[project.optional-dependencies]
neural = [
    "torch>=2.0.0",
]
dev = [
    "pytest>=7.0.0",
    "torch>=2.0.0",
]

[project.urls]
Homepage = "https://github.com/burning-cost/insurance-frequency-severity"
Repository = "https://github.com/burning-cost/insurance-frequency-severity"

[tool.hatch.build.targets.wheel]
packages = ["src/insurance_frequency_severity"]

[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-v"
