Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/propcache/_helpers.py: 57%
Shortcuts on this page
r m x toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
Shortcuts on this page
r m x toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1import os
2import sys
3from typing import TYPE_CHECKING
5__all__ = ("cached_property", "under_cached_property")
8NO_EXTENSIONS = bool(os.environ.get("PROPCACHE_NO_EXTENSIONS")) # type: bool
9if sys.implementation.name != "cpython":
10 NO_EXTENSIONS = True
13# isort: off
14if TYPE_CHECKING:
15 from ._helpers_py import cached_property as cached_property_py
16 from ._helpers_py import under_cached_property as under_cached_property_py
18 cached_property = cached_property_py
19 under_cached_property = under_cached_property_py
20elif not NO_EXTENSIONS: # pragma: no branch
21 try:
22 from ._helpers_c import cached_property as cached_property_c # type: ignore[attr-defined, unused-ignore]
23 from ._helpers_c import under_cached_property as under_cached_property_c # type: ignore[attr-defined, unused-ignore]
25 cached_property = cached_property_c
26 under_cached_property = under_cached_property_c
27 except ImportError: # pragma: no cover
28 from ._helpers_py import cached_property as cached_property_py
29 from ._helpers_py import under_cached_property as under_cached_property_py
31 cached_property = cached_property_py # type: ignore[assignment, misc]
32 under_cached_property = under_cached_property_py
33else:
34 from ._helpers_py import cached_property as cached_property_py
35 from ._helpers_py import under_cached_property as under_cached_property_py
37 cached_property = cached_property_py # type: ignore[assignment, misc]
38 under_cached_property = under_cached_property_py
39# isort: on