X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/6e89310a9285f1ad15d8002bf68f578eada367a0..ab746eebaf2489f4966bfffded647e33ea1c7d4b:/src/nominatim_db/version.py?ds=inline diff --git a/src/nominatim_db/version.py b/src/nominatim_db/version.py index ca383c85..34e3b432 100644 --- a/src/nominatim_db/version.py +++ b/src/nominatim_db/version.py @@ -7,40 +7,15 @@ """ Version information for Nominatim. """ -from typing import Optional, NamedTuple +from typing import Optional -class NominatimVersion(NamedTuple): - """ Version information for Nominatim. We follow semantic versioning. +# See also https://github.com/PyCQA/pylint/issues/6006 +# pylint: disable=useless-import-alias,unused-import - Major, minor and patch_level refer to the last released version. - The database patch level tracks important changes between releases - and must always be increased when there is a change to the database or code - that requires a migration. +from nominatim_core.version import (NominatimVersion as NominatimVersion, + parse_version as parse_version) - When adding a migration on the development branch, raise the patch level - to 99 to make sure that the migration is applied when updating from a - patch release to the next minor version. Patch releases usually shouldn't - have migrations in them. When they are needed, then make sure that the - migration can be reapplied and set the migration version to the appropriate - patch level when cherry-picking the commit with the migration. - """ - - major: int - minor: int - patch_level: int - db_patch_level: int - - def __str__(self) -> str: - return f"{self.major}.{self.minor}.{self.patch_level}-{self.db_patch_level}" - - def release_version(self) -> str: - """ Return the release version in semantic versioning format. - - The release version does not include the database patch version. - """ - return f"{self.major}.{self.minor}.{self.patch_level}" - -NOMINATIM_VERSION = NominatimVersion(4, 4, 99, 1) +NOMINATIM_VERSION = parse_version('4.4.99-1') POSTGRESQL_REQUIRED_VERSION = (9, 6) POSTGIS_REQUIRED_VERSION = (2, 2) @@ -50,13 +25,3 @@ POSTGIS_REQUIRED_VERSION = (2, 2) # cmake/tool-installed.tmpl is used to build the binary 'nominatim'. Inside # there is a call to set the variable value below. GIT_COMMIT_HASH : Optional[str] = None - - -def parse_version(version: str) -> NominatimVersion: - """ Parse a version string into a version consisting of a tuple of - four ints: major, minor, patch level, database patch level - - This is the reverse operation of `version_str()`. - """ - parts = version.split('.') - return NominatimVersion(*[int(x) for x in parts[:2] + parts[2].split('-')])