[project]
name = "csv-metadata-quality"
version = "0.7.0"
description="A simple, but opinionated CSV quality checking and fixing pipeline for CSVs in the DSpace ecosystem."
authors = [
    { name = "Alan Orth", email = "alan.orth@gmail.com" }
]
license= { file = "LICENSE.txt" }
dependencies = [
    "pandas[feather,performance]~=2.2.3",
    "python-stdnum~=1.20",
    "requests~=2.32.3",
    "requests-cache~=1.2.1",
    "colorama~=0.4",
    "ftfy~=6.3.0",
    "country-converter~=1.3",
    "pycountry~=24.6.1",
    "py3langid~=0.3",
]
readme = "README.md"
requires-python = ">= 3.10"

classifiers = [
  "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
  "Natural Language :: English",
  "Operating System :: OS Independent",
  "Programming Language :: Python :: 3.10",
  "Programming Language :: Python :: 3.11",
  "Programming Language :: Python :: 3.12",
  "Programming Language :: Python :: 3.13",
  "Programming Language :: Python :: Implementation :: CPython",
]

[project.urls]
repository = "https://github.com/ilri/csv-metadata-quality"
homepage = "https://github.com/ilri/csv-metadata-quality"

[project.scripts]
csv-metadata-quality = 'csv_metadata_quality.__main__:main'

# So uv doesn't fall back to setuptools
# See: https://packaging.python.org/en/latest/tutorials/packaging-projects/#choosing-build-backend
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[dependency-groups]
dev = [
    "pytest~=8.3",
    "isort~=6.0",
    "csvkit~=2.0",
    "ipython~=8.31",
]

# So hatch doesn't try to build other top-level directories like "data"
[tool.hatch.build.targets.wheel]
packages = ["csv_metadata_quality"]

[tool.isort]
profile = "black"
line_length=88