[project]
name = "nominatim-db"
description = "A tool for building a database of OpenStreetMap for geocoding and for searching the database. Database backend."
readme = "README.md"
requires-python = ">=3.9"
license = 'GPL-3.0-or-later'
maintainers = [
  { name = "Sarah Hoffmann", email = "lonvia@denofr.de" },
  { name = "Marc Tobias", email = "mtmail-cpan@gmx.net" }
]
keywords = [ "geocoding", "OpenStreetMap", "search" ]
classifiers = [
    "Programming Language :: Python :: 3",
    "License :: OSI Approved :: GNU General Public License (GPL)",
    "Operating System :: OS Independent",
]
dependencies = [
    "psycopg",
    "python-dotenv",
    "jinja2",
    "pyYAML>=5.1",
    "psutil",
    "PyICU"
]
dynamic = ["version"]

[project.urls]
Homepage = "https://nominatim.org"
Documentation = "https://nominatim.org/release-docs/latest/"
Issues = "https://github.com/osm-search/Nominatim/issues"
Repository = "https://github.com/osm-search/Nominatim"

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

[tool.hatch.version]
path = "src/nominatim_db/version.py"
pattern = "NOMINATIM_VERSION = parse_version.'(?P<version>[^-]+)"

[tool.hatch.build.targets.sdist]
include = [
    "src/nominatim_db",
    "scripts",
    "lib-sql/**/*.sql",
    "lib-lua/**/*.lua",
    "settings",
    "data/words.sql",
    "extra_src/nominatim_db/paths.py"
]

artifacts = [
  "data/country_osm_grid.sql.gz"
]

exclude = [
  "src/nominatim_db/paths.py"
]

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

[tool.hatch.build.targets.wheel.shared-scripts]
"scripts" = "/"

[tool.hatch.build.targets.wheel.force-include]
"lib-sql" = "nominatim_db/resources/lib-sql"
"lib-lua" = "nominatim_db/resources/lib-lua"
"settings" = "nominatim_db/resources/settings"
"data/country_osm_grid.sql.gz" = "nominatim_db/resources/country_osm_grid.sql.gz"
"data/words.sql" = "nominatim_db/resources/words.sql"
"extra_src/nominatim_db/paths.py" = "nominatim_db/paths.py"
