Module leapyear.ext¶
Quick client¶
-
leapyear.ext.user.client(config_file=PosixPath('~/.leapyear_client.ini'), debug=False, **kwargs)¶ Use environment variables or a configuration file to quickly connect to LeapYear.
This function uses values found in environment variables, a config file, keyword arguments and built-in defaults to try to establish a connection to a LeapYear server. In order of precedence, values are taken from the
kwargsof this function, then environment variable, the config file, and finally, default values, if they exist.By default, the config file is
~/.leapyear_client.ini. The config file requires a[leapyear.io]section where values can be found.The following table contains the names of the values when specified by particular methods, and the default values if no other value can be determined.
environment variable
ini key/keyword argument
default value
LY_URL
url'http://localhost:4401'LY_USERNAME
usernameNoneLY_PASSWORD
passwordNoneLY_DEFAULT_ANALYSIS_CACHING
default_analysis_cachingTrueLY_DEFAULT_ALLOW_MAX_BUDGET_ALLOCATION
default_allow_max_budget_allocationTrueLY_LOGGING_LEVEL
logging_level'NOTSET'At least
usernameandpasswordmust be supplied to establish a connection to the LeapYear server.logging_levelshould be the name of a logging level inlogging.Example
Contents of
~/.leapyear_client.iniare[leapyear.io] username = alice password = lihjAgsd324$ url = http://api.leapyear.domain.com:4401
Next, we execute a basic test with
debug=Trueto see the values that are passed to theClientconstructor.>>> from leapyear.ext.user import client >>> import logging >>> logging.basicConfig() >>> c = client(debug=True) DEBUG:leapyear.ext.user:Found config file with [leapyear.io] section. DEBUG:leapyear.ext.user:Resolved the following values: DEBUG:leapyear.ext.user: url <- <str: 'http://api.leapyear.domain.com:4401'> DEBUG:leapyear.ext.user: username <- <str: 'alice'> DEBUG:leapyear.ext.user: password <- <str: 'lihjAgsd324$'> DEBUG:leapyear.ext.user: default_analysis_caching <- <bool: True> DEBUG:leapyear.ext.user: default_allow_max_budget_allocation <- <bool: True> DEBUG:leapyear.ext.user: logging_level <- <int: 0> >>> print(c.connected) True >>> c.close()
- Parameters
config_file (pathlib.Path) – Specify an alternate config file.
debug (bool) – Set to
Trueto enable extra debugging information.basicConfig()may be useful to run so that debugging information will print to stdout.
- Return type