[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.sdist]
only-include = ["src/assess_gtfs", "data", "report", "utils"]
exclude = [
  "/.github",
  "/data",
  "htmlcov",
  "outputs",
  "_quarto.yml",
  ".coverage",
  ".flake8",
  "coverage.xml",
  "index.qmd",
]

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

[tool.hatch.build.targets.wheel.sources]
"src" = ""
"data" = "assess_gtfs/data"
"report" = "assess_gtfs/report"
"utils" = "assess_gtfs/utils"

[project]
name = "assess-gtfs"
authors = [
    {name = "Data Science Campus", email = "datasciencecampus@ons.gov.uk"}
]
description = "Inspect & validate General Transit Feed Specification"
readme = "README.md"
classifiers = [
    "Development Status :: 1 - Planning",
    "Programming Language :: Python :: 3",
    "License :: OSI Approved :: MIT License",
    "Operating System :: MacOS",
    "Topic :: Scientific/Engineering :: GIS",
]
requires-python = ">=3.9"
version = "0.0.6"

dependencies = [
    'beautifulsoup4',
    'folium',
    'geopandas',
    'gtfs_kit==5.2.7',
    'haversine',
    'kaleido',
    'numpy',
    'pandas',
    'plotly',
    'pretty_html_table',
    'pyprojroot',
    'requests',
    'tqdm',
]
[project.optional-dependencies]
test = [
    'coverage',
    'pre-commit',
    'pytest',
    'pytest-mock',
]
dev = [
    'hatch',
]
docs = [
    'ipykernel==6.23.1',
    'jupyterlab',
    'mapclassify', # for gdf.explore() in tutorial
    'matplotlib', # for gdf.explore() in tutorial
    'nbformat>=4.2.0',
    'quartodoc',
]

[project.urls]
Repository = "https://github.com/datasciencecampus/assess_gtfs"
"Bug tracker" = "https://github.com/datasciencecampus/assess_gtfs/issues"

# `coverage` configurations
[tool.coverage.run]
source = [
    "./src"
]
omit = ["**/__init__.py"]

[tool.coverage.report]
exclude_lines = [
    "if __name__ == .__main__.:"
]

# `isort` configurations
[tool.isort]
profile = "black"
skip_glob = ["notebooks/*"]
line_length = 79

# `pytest` configurations
[tool.pytest.ini_options]
addopts = [
    "-vv",
    "--doctest-modules"
]
doctest_optionflags = "NORMALIZE_WHITESPACE"
testpaths = [
    "./tests"
]
