patroni package

Subpackages

Submodules

Module contents

Define general variables and functions for patroni.

var PATRONI_ENV_PREFIX:

prefix for Patroni related configuration environment variables.

var KUBERNETES_ENV_PREFIX:

prefix for Kubernetes related configuration environment variables.

var MIN_PSYCOPG2:

minimum version of psycopg2 required by Patroni to work.

patroni.check_psycopg(_min_psycopg2: ~typing.Tuple[int, ...] = (2, 5, 4), _parse_version: ~typing.Callable[[str], ~typing.Tuple[int, ...]] = <function parse_version>) None

Ensure at least one among psycopg2 or psycopg libraries are available in the environment.

Note

We pass MIN_PSYCOPG2 and parse_version() as arguments to simplify usage of check_psycopg() from the setup.py.

Note

Patroni chooses psycopg2 over psycopg, if possible.

If nothing meeting the requirements is found, then exit with a fatal message.

Parameters:
  • _min_psycopg2 – minimum required version in case psycopg2 is chosen.

  • _parse_version – function used to parse psycopg2/psycopg version into a comparable object.

patroni.fatal(string: str, *args: Any) None

Write a fatal message to stderr and exit with code 1.

Parameters:

string – message to be written before exiting.

patroni.parse_version(version: str) Tuple[int, ...]

Convert version from human-readable format to tuple of integers.

Note

Designed for easy comparison of software versions in Python.

Parameters:

version – human-readable software version, e.g. 2.5.4.

Returns:

tuple of version parts, each part as an integer.

Example:
>>> parse_version('2.5.4')
(2, 5, 4)