[project]
name = "asimpy"
dynamic = ["version"]
requires-python = ">=3.12"
authors = [
    {name = "Greg Wilson", email = "gvwilson@third-bit.com"},
]
maintainers = [
    {name = "Greg Wilson", email = "gvwilson@third-bit.com"},
]
description = "A simple discrete event simulator using async/await"
keywords = ["open source", "discrete event simulation"]
readme = "README.md"
classifiers = [
    "Programming Language :: Python :: 3",
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent",
]
dependencies = []

[project.urls]
Repository = "https://github.com/gvwilson/asimpy"
Documentation = "https://asimpy.readthedocs.io"

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

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

[tool.hatch.version]
path = "src/asimpy/__init__.py"

[tool.coverage.report]
exclude_lines = [
    "@abstractmethod",
    "if TYPE_CHECKING:",
]

[dependency-groups]
dev = [
    "altair>=6.0.0",
    "build>=1.4.0",
    "coverage>=7.13.2",
    "marimo>=0.20.4",
    "markdown-include>=0.8.1",
    "mkdocs>=1.6.1",
    "mkdocs-material>=9.7.1",
    "mkdocstrings[python]>=1.0.0",
    "polars>=1.0.0",
    "pytest>=9.0.2",
    "ruff>=0.14.10",
    "twine>=6.2.0",
    "ty>=0.0.11",
]
