]> git.openstreetmap.org Git - nominatim.git/commitdiff
docs: extend dependency documentation
authorSarah Hoffmann <lonvia@denofr.de>
Tue, 6 Dec 2022 11:00:39 +0000 (12:00 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Tue, 3 Jan 2023 09:03:00 +0000 (10:03 +0100)
docs/admin/Installation.md
docs/develop/Development-Environment.md
docs/develop/Testing.md

index 73fb3daebc89f4f57cc61d947f231812f2484ab9..4d78fd1b67c9ca4ae339e4aa3a88276173445870 100644 (file)
@@ -61,6 +61,15 @@ For running continuous updates:
 
   * [pyosmium](https://osmcode.org/pyosmium/)
 
+For running the experimental Python frontend:
+
+  * [SQLAlchemy](https://www.sqlalchemy.org/) (1.4+ with greenlet support)
+  * one of the following web frameworks:
+    * [falcon](https://falconframework.org/) (3.0+)
+    * [sanic](https://sanic.dev)
+    * [starlette](https://www.starlette.io/)
+  * [uvicorn](https://www.uvicorn.org/) (only with falcon and starlette framworks)
+
 For dependencies for running tests and building documentation, see
 the [Development section](../develop/Development-Environment.md).
 
index c6515d2c5aabef56ecc61c35e5fd52a86b9efd87..0e1bbf612279a6060c763feabc68c46692fade04 100644 (file)
@@ -37,6 +37,13 @@ It has the following additional requirements:
 * [Python Typing Extensions](https://github.com/python/typing_extensions) (for Python < 3.9)
 * [pytest](https://pytest.org)
 
+For testing the Python search frontend, you need to install extra dependencies
+depending on your choice of webserver framework:
+
+* [sanic-testing](https://sanic.dev/en/plugins/sanic-testing/getting-started.html) (sanic only)
+* [httpx](https://www.python-httpx.org/) (starlette only)
+* [asgi-lifespan](https://github.com/florimondmanca/asgi-lifespan) (starlette only)
+
 The documentation is built with mkdocs:
 
 * [mkdocs](https://www.mkdocs.org/) >= 1.1.2
@@ -56,7 +63,8 @@ sudo apt install php-cgi phpunit php-codesniffer \
                  python3-pip python3-setuptools python3-dev
 
 pip3 install --user behave mkdocs mkdocstrings pytest pylint \
-                    mypy types-PyYAML types-jinja2 types-psycopg2 types-psutil
+                    mypy types-PyYAML types-jinja2 types-psycopg2 types-psutil \
+                    sanic-testing httpx asgi-lifespan
 ```
 
 The `mkdocs` executable will be located in `.local/bin`. You may have to add
index 20c9d165214c74c0d7f4dae88eb625b8872a20bc..be13d94983c795865334d63e13e72eb785f281f1 100644 (file)
@@ -84,6 +84,8 @@ The tests can be configured with a set of environment variables (`behave -D key=
  * `TEST_DB` - name of test database (db tests)
  * `API_TEST_DB` - name of the database containing the API test data (api tests)
  * `API_TEST_FILE` - OSM file to be imported into the API test database (api tests)
+ * `API_ENGINE` - webframe to use for running search queries, same values as
+                  `nominatim serve --engine` parameter
  * `DB_HOST` - (optional) hostname of database host
  * `DB_PORT` - (optional) port of database on host
  * `DB_USER` - (optional) username of database login
@@ -120,7 +122,7 @@ and compromises the following data:
 API tests should only be testing the functionality of the website PHP code.
 Most tests should be formulated as BDD DB creation tests (see below) instead.
 
-#### Code Coverage
+#### Code Coverage (PHP engine only)
 
 The API tests also support code coverage tests. You need to install
 [PHP_CodeCoverage](https://github.com/sebastianbergmann/php-code-coverage).
@@ -153,7 +155,3 @@ needs superuser rights for postgres.
 
 These tests check that data is imported correctly into the place table. They
 use the same template database as the DB Creation tests, so the same remarks apply.
-
-Note that most testing of the gazetteer output of osm2pgsql is done in the tests
-of osm2pgsql itself. The BDD tests are just there to ensure compatibility of
-the osm2pgsql and Nominatim code.