[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "impakt" version = "0.1.0" description = "Crash test data analysis, visualization, and reporting" readme = "README.md" license = "MIT" requires-python = ">=3.11" authors = [ { name = "Ben" }, ] keywords = ["crash-test", "automotive", "mme", "iso13499", "ncap", "iihs", "safety"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Scientific/Engineering", ] dependencies = [ "numpy>=1.24", "scipy>=1.10", "plotly>=5.18", "dash>=2.14", "dash-bootstrap-components>=1.5", "pandas>=2.0", "pyyaml>=6.0", "jinja2>=3.1", "weasyprint>=60.0", "pydantic>=2.0", ] [project.optional-dependencies] tdms = [ "nptdms>=1.7", ] [dependency-groups] dev = [ "pytest>=7.0", "pytest-cov>=4.0", "ruff>=0.1", "mypy>=1.5", ] [project.entry-points."impakt.readers"] mme = "impakt.io.mme:MMEReader" [project.scripts] impakt = "impakt.script.cli:main" [tool.hatch.build.targets.wheel] packages = ["src/impakt"] [tool.pytest.ini_options] testpaths = ["tests"] pythonpath = ["src"] addopts = "--cov=impakt --cov-report=term-missing:skip-covered --cov-fail-under=60" filterwarnings = [ "ignore::pytest.PytestCollectionWarning", ] [tool.ruff] target-version = "py311" line-length = 100 [tool.ruff.lint] select = ["E", "F", "I", "N", "W", "UP"] [tool.mypy] python_version = "3.11" strict = true