Nominatim (from the Latin, 'by name') is a tool to search OSM data by name and address and to generate synthetic addresses of OSM points (reverse geocoding).
-This guide comes in four parts:
+This guide comes in five parts:
* __[API reference](api/Overview.md)__ for users of Nominatim
* __[Administration Guide](admin/Installation.md)__ for those who want
to install their own Nominatim server
* __[Customization Guide](customize/Overview.md)__ for those who want to
adapt their own installation to their special requirements
+ * __[Library Guide](library/Getting-Started.md)__ for Python developers who
+ want to use Nominatim as a library in their project
* __[Developer's Guide](develop/overview.md)__ for developers of the software
--- /dev/null
+# Configuration class
+
+::: nominatim.config.Configuration
+ options:
+ members:
+ - get_bool
+ - get_int
+ - get_str_list
+ - get_path
+ heading_level: 6
+ show_signature_annotations: True
--- /dev/null
+# Getting Started
+
+The Nominatim search frontend can directly be used as a Python library in
+scripts and applications. When you have imported your own Nominatim database,
+then it is no longer necessary to run a full web service for it and access
+the database through http requests. With the Nominatim library it is possible
+to access all search functionality directly from your Python code. There are
+also less constraints on the kinds of data that can be accessed. The library
+allows to get access to more detailed information about the objects saved
+in the database.
+
+## Installation
+
+To use the Nominatim library, you need access to a local Nominatim database.
+Follow the [installation and import instructions](../admin/) to set up your
+database.
+
+!!! warning
+ Access to the library is currently still experimental. 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.
+
+ A proper installation as a Python library will follow in the next
+ version.
--- /dev/null
+# Input parameters
+
+## Place identification
+
+::: nominatim.api.PlaceID
+ options:
+ heading_level: 6
+
+::: nominatim.api.OsmID
+ options:
+ heading_level: 6
+
+## Geometries
+
+::: nominatim.api.GeometryFormat
+ options:
+ heading_level: 6
+
+::: nominatim.api.Point
+ options:
+ heading_level: 6
+
+::: nominatim.api.Bbox
+ options:
+ heading_level: 6
+
+## Layers
+
+::: nominatim.api.DataLayer
+ options:
+ heading_level: 6
+
+
--- /dev/null
+# Nominatim Frontend as a Library
+
+The Nominatim search frontend can directly be used as a Python library in
+scripts and applications. When you have imported your own Nominatim database,
+then it is no longer necessary to run a full web service for it and access
+the database through http requests. With the Nominatim library it is possible
+to access all search functionality directly from your Python code. There are
+also less constraints on the kinds of data that can be accessed. The library
+allows to get access to more detailed information about the objects saved
+in the database.
+
+
--- /dev/null
+# Low-level connections
+
+::: nominatim.api.SearchConnection
+ options:
+ heading_level: 6
--- /dev/null
+# The Nominatim API classes
+
+The API classes are the core object of the search library. Always instantiate
+one of these classes first. The API classes are **not threadsafe**. You need
+to instantiate a separate instance for each thread.
+
+### NominatimAPI
+
+::: nominatim.api.NominatimAPI
+ options:
+ members:
+ - __init__
+ - config
+ - close
+ - status
+ - details
+ - lookup
+ - reverse
+ - search
+ - search_address
+ - search_category
+ heading_level: 6
+ group_by_category: False
+ show_signature_annotations: True
+
+
+### NominatimAPIAsync
+
+::: nominatim.api.NominatimAPIAsync
+ options:
+ members:
+ - __init__
+ - setup_database
+ - close
+ - begin
+ heading_level: 6
+ group_by_category: False
+ show_signature_annotations: True
--- /dev/null
+# Result handling
+
+::: nominatim.api.SourceTable
+ options:
+ heading_level: 6
+
+::: nominatim.api.AddressLine
+ options:
+ heading_level: 6
+
+::: nominatim.api.WordInfo
+ options:
+ heading_level: 6
+
+## Localization
+
+::: nominatim.api.Locales
+ options:
+ heading_level: 6
- 'External data: US housenumbers from TIGER': 'customize/Tiger.md'
- 'External data: Postcodes': 'customize/Postcodes.md'
- 'Library Guide':
- - 'Introduction': 'library/Introduction.md'
- 'Getting Started': 'library/Getting-Started.md'
- - 'Reference': 'library/Reference.md'
+ - 'Nominatim API class': 'library/NominatimAPI.md'
+ - 'Configuration': 'library/Configuration.md'
+ - 'Input Parameter Types': 'library/Input-Parameter-Types.md'
+ - 'Result Handling': 'library/Result-Handling.md'
+ - 'Low-level DB Access': 'library/Low-Level-DB-Access.md'
- 'Developers Guide':
- 'Architecture Overview' : 'develop/overview.md'
- 'Database Layout' : 'develop/Database-Layout.md'