Package pygeodesy :: Module lazily |
[frames] | no frames]

# Module lazily

Lazily import `pygeodesy` modules and attributes, based on lazy_import from Brett Cannon's modutil.

`Lazy import` is supported only for Python 3.7+ and is enabled by default in PyGeodesy 18.11.10 and newer.

To enable `lazy import`, set `env` variable `PYGEODESY_LAZY_IMPORT` to `1`, `2`, `3` or higher prior to `import pygeodesy`. To disable `lazy import`, set `env` variable `PYGEODESY_LAZY_IMPORT` to `0` or an empty string. Use `2` or higher to print a message for each lazily imported module and attribute, similar to `env` variable `PYTHONVERBOSE` showing imports. Using `3` or higher also shows the importing file name and line number.

Notes:

- `Lazy import` applies only to top-level modules of `pygeodesy`. A `lazy import` of a top-level module inherently loads all sub-modules imported by that top-level module.
- `Lazy import` raises a LazyAttributeError or LazyImportError depending on the cause of the error and such errors can occur late, after all initial imports.

Version: 23.08.05

Classes
| LazyAttributeError Raised if a `lazily imported` attribute is missing or invalid.
| LazyImportError Raised if `lazy import` is not supported, disabled or failed some other way.

Functions
print_(*args, **nl_nt_prefix_end_file_flush_sep) Python 3+ `print`-like formatting and printing. |
printf(fmt, *args, **nl_nt_prefix_end_file_flush_sep_kwds) `Printf-style` and Python 3+ `print`-like formatting and printing. |

Variables
| isLazy = `None` hash(x)

Function Details

### print_ (*args, **nl_nt_prefix_end_file_flush_sep) |
Python 3+ `print`-like formatting and printing. Arguments: `args` - Arguments to be converted to `str` and joined by `sep` (`any` type, all positional). `nl_nt_prefix_end_file_flush_sep` - Keyword arguments `nl=0` for the number of leading blank lines (`int`), `nt=0` the number of trailing blank lines (`int`), `prefix=NN` to be inserted before the formatted text (`str`) and Python 3+ `print` keyword arguments `end`, `sep`, `file` and `flush`. Returns: Number of bytes written.

### printf (fmt, *args, **nl_nt_prefix_end_file_flush_sep_kwds) |
`Printf-style` and Python 3+ `print`-like formatting and printing. Arguments: `fmt` - Printf-style format specification (`str`). `args` - Arguments to be formatted (`any` types, all positional). `nl_nt_prefix_end_file_flush_sep_kwds` - Keyword arguments `nl=0` for the number of leading blank lines (`int`), `nt=0` the number of trailing blank lines (`int`), `prefix=NN` to be inserted before the formatted text (`str`) and Python 3+ `print` keyword arguments `end`, `sep`, `file` and `flush`. Any remaining `kwds` are printf-style keyword arguments to be formatted, iff no `args` are present. Returns: Number of bytes written.