content: [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [project]
  name = "nomenklatura"
  version = "4.1.9"
  description = "Make record linkages in followthemoney data."
  readme = "README.md"
  license = { file = "LICENSE" }
  authors = [{ name = "OpenSanctions", email = "info@opensanctions.org" }]
  classifiers = [
      "Intended Audience :: Developers",
      "Operating System :: OS Independent",
      "License :: OSI Approved :: MIT License",
      "Programming Language :: Python :: 3.11",
      "Programming Language :: Python :: 3.12",
  ]
  requires-python = ">= 3.11"
  dependencies = [
      "followthemoney >= 4.1.1, < 5.0.0",
      "rigour >= 1.3.8, < 2.0.0",
      "fingerprints >= 1.3.1, < 2.0.0",
      "shortuuid >= 1.0.11, < 2.0.0",
      "rich >= 13.0.0, < 15.0.0",
      "textual >= 3.0.0, < 5.0.0",
      "sqlalchemy >= 2.0.0",
      "scikit-learn == 1.7.2",
      "pydantic > 2.0.0, < 3.0.0",
      "click < 9.0.0",
      "lxml > 4.0.0, < 7.0.0",
  ]
  
  [project.urls]
  Documentation = "https://github.com/opensanctions/nomenklatura/"
  Repository = "https://github.com/opensanctions/nomenklatura.git"
  Issues = "https://github.com/opensanctions/nomenklatura/issues"
  
  [project.scripts]
  nk = "nomenklatura.cli:cli"
  nomenklatura = "nomenklatura.cli:cli"
  
  [project.optional-dependencies]
  dev = [
      "wheel>=0.29.0",
      "twine",
      "mypy",
      "build",
      "flake8>=2.6.0",
      "pytest",
      "pytest-cov",
      "coverage>=4.1",
      "types-setuptools",
      "types-requests",
      "types-redis",
      "types-PyYAML",
      "lxml-stubs",
      "requests-mock",
      "fakeredis",
      "plyvel < 2.0.0",
      "redis > 5.0.0, < 7.0.0",
      "psycopg2-binary",
      "bump2version",
  ]
  leveldb = ["plyvel < 2.0.0"]
  redis = ["redis > 5.0.0, < 7.0.0"]
  
  [tool.hatch.build.targets.sdist]
  only-include = ["nomenklatura", "LICENSE", "README.md"]
  
  [tool.distutils.bdist_wheel]
  universal = true
  
  [tool.coverage.run]
  branch = true
  
  [tool.pytest.ini_options]
  # Log a stack trace when a test takes longer than 300 seconds
  faulthandler_timeout = 300
  