mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-11-22 12:06:27 +03:00
add packaging for the different subprojects
This commit is contained in:
parent
75abf237a6
commit
6511821001
32
Makefile
Normal file
32
Makefile
Normal file
@ -0,0 +1,32 @@
|
||||
all:
|
||||
|
||||
# Building of wheels
|
||||
|
||||
build: build-core build-db build-api
|
||||
|
||||
build-core:
|
||||
cd packaging/nominatim-core; python3 -m build . --outdir ../dist/
|
||||
|
||||
build-db:
|
||||
cd packaging/nominatim-db; python3 -m build . --outdir ../dist/
|
||||
|
||||
build-api:
|
||||
cd packaging/nominatim-api; python3 -m build . --outdir ../dist/
|
||||
|
||||
# Tests
|
||||
|
||||
tests: mypy lint pytest
|
||||
|
||||
mypy:
|
||||
python3 -m mypy --strict src
|
||||
|
||||
pytest:
|
||||
python3 -m pytest test/python
|
||||
|
||||
lint:
|
||||
python3 -m pylint src
|
||||
|
||||
bdd:
|
||||
cd test/bdd; behave -DREMOVE_TEMPLATE=1
|
||||
|
||||
.PHONY: tests mypy pytest lint bdd build build-core build-db build-api
|
21
packaging/nominatim-api/README.md
Normal file
21
packaging/nominatim-api/README.md
Normal file
@ -0,0 +1,21 @@
|
||||
Nominatim - frontend library
|
||||
=========
|
||||
|
||||
Nominatim is a tool to search OpenStreetMap data
|
||||
by name and address (geocoding) and to generate synthetic addresses of
|
||||
OSM points (reverse geocoding).
|
||||
|
||||
This module implements the library for searching in a Nominatim database
|
||||
imported with the `nominatim-db` package.
|
||||
|
||||
Documentation
|
||||
=============
|
||||
|
||||
The documentation of the latest development version is in the
|
||||
`docs/` subdirectory. A HTML version can be found at
|
||||
https://nominatim.org/release-docs/develop/ .
|
||||
|
||||
License
|
||||
=======
|
||||
|
||||
The source code is available under a GPLv3 license.
|
45
packaging/nominatim-api/pyproject.toml
Normal file
45
packaging/nominatim-api/pyproject.toml
Normal file
@ -0,0 +1,45 @@
|
||||
[project]
|
||||
name = "nominatim-api"
|
||||
description = "A tool for building a database of OpenStreetMap for geocoding and for searching the database. Search library."
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.7"
|
||||
license = 'GPL-3.0-or-later'
|
||||
maintainers = [
|
||||
{ name = "Sarah Hoffmann", email = "lonvia@denofr.de" }
|
||||
]
|
||||
keywords = [ "geocoding", "OpenStreetMap", "search" ]
|
||||
classifiers = [
|
||||
"Programming Language :: Python :: 3",
|
||||
"License :: OSI Approved :: GNU General Public License (GPL)",
|
||||
"Operating System :: OS Independent",
|
||||
]
|
||||
dependencies = [
|
||||
"nominatim-core",
|
||||
"SQLAlchemy>=1.4.31",
|
||||
"psycopg",
|
||||
"PyICU"
|
||||
]
|
||||
dynamic = ["version"]
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://nominatim.org"
|
||||
Issues = "https://github.com/osm-search/Nominatim/issues"
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
[tool.hatch.version]
|
||||
source = "code"
|
||||
path = "../../src/nominatim_api/version.py"
|
||||
expression = "NOMINATIM_API_VERSION"
|
||||
|
||||
[tool.hatch.build.targets.sdist.force-include]
|
||||
"../../src/nominatim_db" = "nominatim_api"
|
||||
|
||||
[tool.hatch.build.targets.sdist.sources]
|
||||
"src/nominatim_core" = "nominatim_api"
|
||||
|
||||
[tool.hatch.build.targets.wheel]
|
||||
packages = ["nominatim_api"]
|
||||
|
22
packaging/nominatim-core/README.md
Normal file
22
packaging/nominatim-core/README.md
Normal file
@ -0,0 +1,22 @@
|
||||
Nominatim - Core Package
|
||||
=========
|
||||
|
||||
Nominatim is a tool to search OpenStreetMap data
|
||||
by name and address (geocoding) and to generate synthetic addresses of
|
||||
OSM points (reverse geocoding).
|
||||
|
||||
This is the core pacakage containing resources and code shared by
|
||||
Nominatim's frontend `nominatim_api` and backend `nominatim_db`. You
|
||||
usually don't want to install this package directly.
|
||||
|
||||
Documentation
|
||||
=============
|
||||
|
||||
The documentation of the latest development version is in the
|
||||
`docs/` subdirectory. A HTML version can be found at
|
||||
https://nominatim.org/release-docs/develop/ .
|
||||
|
||||
License
|
||||
=======
|
||||
|
||||
The source code is available under a GPLv2 license.
|
49
packaging/nominatim-core/pyproject.toml
Normal file
49
packaging/nominatim-core/pyproject.toml
Normal file
@ -0,0 +1,49 @@
|
||||
[project]
|
||||
name = "nominatim-core"
|
||||
description = "A tool for building a database of OpenStreetMap for geocoding and for searching the database. Base package for common resources for the project."
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.7"
|
||||
license = 'GPL-3.0-or-later'
|
||||
maintainers = [
|
||||
{ name = "Sarah Hoffmann", email = "lonvia@denofr.de" }
|
||||
]
|
||||
keywords = [ "geocoding", "OpenStreetMap", "search" ]
|
||||
classifiers = [
|
||||
"Programming Language :: Python :: 3",
|
||||
"License :: OSI Approved :: GNU General Public License (GPL)",
|
||||
"Operating System :: OS Independent",
|
||||
]
|
||||
dependencies = [
|
||||
"python-dotenv",
|
||||
"jinja2",
|
||||
"pyYAML>=5.1",
|
||||
"datrie"
|
||||
]
|
||||
dynamic = ["version"]
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://nominatim.org"
|
||||
Issues = "https://github.com/osm-search/Nominatim/issues"
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
[tool.hatch.version]
|
||||
source = "code"
|
||||
path = "../../src/nominatim_core/version.py"
|
||||
expression = "NOMINATIM_CORE_VERSION"
|
||||
|
||||
[tool.hatch.build.targets.sdist.force-include]
|
||||
"../../src/nominatim_core" = "nominatim_core"
|
||||
"../../lib-sql" = "nominatim_core/resources/lib-sql"
|
||||
"../../settings" = "nominatim_core/resources/settings"
|
||||
"../../data/country_osm_grid.sql.gz" = "nominatim_core/resources/country_osm_grid.sql.gz"
|
||||
"../../data/words.sql" = "nominatim_core/resources/words.sql"
|
||||
"src/nominatim_core/paths.py" = "nominatim_core/paths.py"
|
||||
|
||||
[tool.hatch.build.targets.sdist.sources]
|
||||
"src/nominatim_core" = "nominatim_core"
|
||||
|
||||
[tool.hatch.build.targets.wheel]
|
||||
packages = ["nominatim_core"]
|
21
packaging/nominatim-db/README.md
Normal file
21
packaging/nominatim-db/README.md
Normal file
@ -0,0 +1,21 @@
|
||||
Nominatim - DB Backend
|
||||
=========
|
||||
|
||||
Nominatim is a tool to search OpenStreetMap data
|
||||
by name and address (geocoding) and to generate synthetic addresses of
|
||||
OSM points (reverse geocoding).
|
||||
|
||||
This module implements the database backend for Nominatim and the
|
||||
command-line tool for importing and maintaining the database.
|
||||
|
||||
Documentation
|
||||
=============
|
||||
|
||||
The documentation of the latest development version is in the
|
||||
`docs/` subdirectory. A HTML version can be found at
|
||||
https://nominatim.org/release-docs/develop/ .
|
||||
|
||||
License
|
||||
=======
|
||||
|
||||
The source code is available under a GPLv3 license.
|
49
packaging/nominatim-db/pyproject.toml
Normal file
49
packaging/nominatim-db/pyproject.toml
Normal file
@ -0,0 +1,49 @@
|
||||
[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.7"
|
||||
license = 'GPL-3.0-or-later'
|
||||
maintainers = [
|
||||
{ name = "Sarah Hoffmann", email = "lonvia@denofr.de" }
|
||||
]
|
||||
keywords = [ "geocoding", "OpenStreetMap", "search" ]
|
||||
classifiers = [
|
||||
"Programming Language :: Python :: 3",
|
||||
"License :: OSI Approved :: GNU General Public License (GPL)",
|
||||
"Operating System :: OS Independent",
|
||||
]
|
||||
dependencies = [
|
||||
"nominatim-core",
|
||||
"psycopg2",
|
||||
"psutil",
|
||||
"PyICU"
|
||||
]
|
||||
dynamic = ["version"]
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://nominatim.org"
|
||||
Issues = "https://github.com/osm-search/Nominatim/issues"
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
[tool.hatch.version]
|
||||
source = "code"
|
||||
path = "../../src/nominatim_db/version.py"
|
||||
expression = "NOMINATIM_VERSION.release_version()"
|
||||
|
||||
[tool.hatch.build.targets.sdist.force-include]
|
||||
"../../src/nominatim_db" = "nominatim_db"
|
||||
|
||||
[tool.hatch.build.targets.sdist.sources]
|
||||
"src/nominatim_core" = "nominatim_db"
|
||||
"scripts" = "scripts"
|
||||
|
||||
[tool.hatch.build.targets.wheel]
|
||||
packages = ["nominatim_db"]
|
||||
|
||||
[tool.hatch.build.targets.wheel.shared-scripts]
|
||||
"scripts" = "/"
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!python3
|
||||
|
||||
from nominatim import cli
|
||||
from nominatim_db import cli
|
||||
|
||||
exit(cli.nominatim(module_dir=None, osm2pgsql_path=None))
|
@ -1,61 +0,0 @@
|
||||
[project]
|
||||
name = "nominatim"
|
||||
description = "A tool for building a database of OpenStreetMap for geocoding and for searching the database."
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.7"
|
||||
license = 'GPL-3.0-or-later'
|
||||
maintainers = [
|
||||
{ name = "Sarah Hoffmann", email = "lonvia@denofr.de" }
|
||||
]
|
||||
keywords = [ "geocoding", "OpenStreetMap", "search" ]
|
||||
classifiers = [
|
||||
"Programming Language :: Python :: 3",
|
||||
"License :: OSI Approved :: GNU General Public License (GPL)",
|
||||
"Operating System :: OS Independent",
|
||||
]
|
||||
dependencies = [
|
||||
"psycopg2",
|
||||
"python-dotenv",
|
||||
"psutil",
|
||||
"jinja2",
|
||||
"SQLAlchemy>=1.4.31",
|
||||
"asyncpg>=0.8",
|
||||
"PyICU",
|
||||
"pyYAML>=5.1",
|
||||
"datrie"
|
||||
]
|
||||
dynamic = ["version"]
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://nominatim.org"
|
||||
Issues = "https://github.com/osm-search/Nominatim/issues"
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
[tool.hatch.version]
|
||||
source = "code"
|
||||
path = "nominatim/version.py"
|
||||
expression = "NOMINATIM_VERSION.release_version()"
|
||||
|
||||
[tool.hatch.build.targets.sdist]
|
||||
only-include = ["nominatim", "lib-sql", "settings",
|
||||
"docs", "man", "data", "munin",
|
||||
"test/python", "test/bdd", "test/testdata", "test/testdb"]
|
||||
artifacts = ["data/country_osm_grid.sql.gz"]
|
||||
|
||||
[tool.hatch.build.targets.wheel]
|
||||
only-include = ["nominatim", "lib-sql", "settings",
|
||||
"data/words.sql", "data/country_osm_grid.sql.gz",
|
||||
"wheel_build/nominatim"]
|
||||
exclude = ["nominatim/paths.py"]
|
||||
|
||||
[tool.hatch.build.targets.wheel.shared-scripts]
|
||||
"wheel_build/shared/scripts" = "/"
|
||||
|
||||
[tool.hatch.build.targets.wheel.sources]
|
||||
"wheel_build/nominatim" = "nominatim"
|
||||
"lib-sql" = "nominatim/resources/lib-sql"
|
||||
"settings" = "nominatim/resources/settings"
|
||||
"data" = "nominatim/resources"
|
Loading…
Reference in New Issue
Block a user