aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/propcache/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/propcache/__init__.py')
-rw-r--r--.venv/lib/python3.12/site-packages/propcache/__init__.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/propcache/__init__.py b/.venv/lib/python3.12/site-packages/propcache/__init__.py
new file mode 100644
index 00000000..aff04142
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/propcache/__init__.py
@@ -0,0 +1,32 @@
+"""propcache: An accelerated property cache for Python classes."""
+
+from typing import TYPE_CHECKING
+
+_PUBLIC_API = ("cached_property", "under_cached_property")
+
+__version__ = "0.3.0"
+__all__ = ()
+
+# Imports have moved to `propcache.api` in 0.2.0+.
+# This module is now a facade for the API.
+if TYPE_CHECKING:
+ from .api import cached_property as cached_property # noqa: F401
+ from .api import under_cached_property as under_cached_property # noqa: F401
+
+
+def _import_facade(attr: str) -> object:
+ """Import the public API from the `api` module."""
+ if attr in _PUBLIC_API:
+ from . import api # pylint: disable=import-outside-toplevel
+
+ return getattr(api, attr)
+ raise AttributeError(f"module '{__package__}' has no attribute '{attr}'")
+
+
+def _dir_facade() -> list[str]:
+ """Include the public API in the module's dir() output."""
+ return [*_PUBLIC_API, *globals().keys()]
+
+
+__getattr__ = _import_facade
+__dir__ = _dir_facade