The library interface is currently in an experimental stage. There might
be some smaller adjustments to the public interface until the next version.
- The library also misses a proper installation routine, so some manipulation
- of the PYTHONPATH is required. At the moment, use is only recommended for
- developers with some experience in Python.
-
## Installation
To use the Nominatim library, you need access to a local Nominatim database.
Follow the [installation](../admin/Installation.md) and
[import](../admin/Import.md) instructions to set up your database.
-It is not yet possible to install it in the usual way via pip or inside a
-virtualenv. To get access to the library you need to set an appropriate
-`PYTHONPATH`. With the default installation, the python library can be found
-under `/usr/local/share/nominatim/lib-python`. If you have installed
-Nominatim under a different prefix, adapt the `/usr/local/` part accordingly.
-You can also point the `PYTHONPATH` to the Nominatim source code.
+The Nominatim frontend library is contained in the Python package `nominatim-api`.
+To install the package from the source tree directly, run:
+
+ pip install packaging/nominatim-api
+
+Usually you would want to run this in a virtual environment.
### A simple search example
from pathlib import Path
import asyncio
- import nominatim.api as napi
+ import nominatim_api as napi
async def search(query):
api = napi.NominatimAPIAsync(Path('.'))
``` python
from pathlib import Path
- import nominatim.api as napi
+ import nominatim_api as napi
api = napi.NominatimAPI(Path('.'))
Any configuration found in the `.env` file in this directory will automatically
used.
-Yo may also configure Nominatim be setting environment variables.
+You may also configure Nominatim by setting environment variables.
Normally, Nominatim will check the operating system environment. This can be
overwritten by giving the constructor a dictionary of configuration parameters.
from pathlib import Path
import asyncio
- import nominatim.api as napi
+ import nominatim_api as napi
config_params = {
'NOMINATIM_DATABASE_DSN': 'pgsql:dbname=belgium'
``` python
from pathlib import Path
- import nominatim.api as napi
+ import nominatim_api as napi
config_params = {
'NOMINATIM_DATABASE_DSN': 'pgsql:dbname=belgium'
from pathlib import Path
import asyncio
- import nominatim.api as napi
+ import nominatim_api as napi
async def search(query):
api = napi.NominatimAPIAsync(Path('.'))
``` python
from pathlib import Path
- import nominatim.api as napi
+ import nominatim_api as napi
api = napi.NominatimAPI(Path('.'))