Unavailable Object
A placeholder object for optional dependencies.
Usage
from unavailable_object import UnavailableObject
try:
import optional_module
except ImportError:
optional_module = UnavailableObject("optional_module")
Type Checking
To not disturb the type checker, the alternative definition of optional_object should be guarded by if not TYPE_CHECKING
and type annotations put in quotes:
from typing import TYPE_CHECKING
from unavailable_object import UnavailableObject
try:
import optional_module
except ImportError:
if not TYPE_CHECKING:
optional_module = UnavailableObject("optional_module")
def foo(arg: "optional_module.SomeType") -> None:
pass
Metadata
Release files for unavailable-object 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| unavailable-object-0.0.2.tar.gz | 18.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| unavailable_object-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.0 kB