restructure library documentation

This commit is contained in:
Sarah Hoffmann 2023-08-22 21:46:10 +02:00
parent 399b04596e
commit 309ac46b98
9 changed files with 154 additions and 3 deletions

View File

@ -1,10 +1,12 @@
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

View File

@ -0,0 +1,11 @@
# Configuration class
::: nominatim.config.Configuration
options:
members:
- get_bool
- get_int
- get_str_list
- get_path
heading_level: 6
show_signature_annotations: True

View File

@ -0,0 +1,28 @@
# 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.

View File

@ -0,0 +1,33 @@
# 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

View File

@ -0,0 +1,12 @@
# 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.

View File

@ -0,0 +1,5 @@
# Low-level connections
::: nominatim.api.SearchConnection
options:
heading_level: 6

View File

@ -0,0 +1,38 @@
# 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

View File

@ -0,0 +1,19 @@
# 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

View File

@ -36,9 +36,12 @@ nav:
- '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'