From 4a52a71956a8d46fcb7294ac71734504bb09bcc2 Mon Sep 17 00:00:00 2001 From: S. Solomon Darnell Date: Fri, 28 Mar 2025 21:52:21 -0500 Subject: two version of R2R are here --- .../site-packages/pythonjsonlogger/utils.py | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .venv/lib/python3.12/site-packages/pythonjsonlogger/utils.py (limited to '.venv/lib/python3.12/site-packages/pythonjsonlogger/utils.py') diff --git a/.venv/lib/python3.12/site-packages/pythonjsonlogger/utils.py b/.venv/lib/python3.12/site-packages/pythonjsonlogger/utils.py new file mode 100644 index 00000000..d810a130 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/pythonjsonlogger/utils.py @@ -0,0 +1,40 @@ +"""Utilities for Python JSON Logger""" + +### IMPORTS +### ============================================================================ +## Future +from __future__ import annotations + +## Standard Library +import importlib.util + +## Installed + +## Application +from .exception import MissingPackageError + + +### FUNCTIONS +### ============================================================================ +def package_is_available( + name: str, *, throw_error: bool = False, extras_name: str | None = None +) -> bool: + """Determine if the given package is available for import. + + Args: + name: Import name of the package to check. + throw_error: Throw an error if the package is unavailable. + extras_name: Extra dependency name to use in `throw_error`'s message. + + Raises: + MissingPackageError: When `throw_error` is `True` and the return value would be `False` + + Returns: + If the package is available for import. + """ + available = importlib.util.find_spec(name) is not None + + if not available and throw_error: + raise MissingPackageError(name, extras_name) + + return available -- cgit 1.4.1