Files
tidal-dl-ng-webui/env/lib/python3.11/site-packages/marshmallow/__init__.py
2024-12-27 22:31:23 +09:00

82 lines
2.3 KiB
Python

from __future__ import annotations
import importlib.metadata
import typing
from packaging.version import Version
from marshmallow.decorators import (
post_dump,
post_load,
pre_dump,
pre_load,
validates,
validates_schema,
)
from marshmallow.exceptions import ValidationError
from marshmallow.schema import Schema, SchemaOpts
from marshmallow.utils import EXCLUDE, INCLUDE, RAISE, missing, pprint
from . import fields
def __getattr__(name: str) -> typing.Any:
import warnings
if name == "__version__":
warnings.warn(
"The '__version__' attribute is deprecated and will be removed in"
" in a future version. Use feature detection or"
" 'importlib.metadata.version(\"marshmallow\")' instead.",
DeprecationWarning,
stacklevel=2,
)
return importlib.metadata.version("marshmallow")
if name == "__parsed_version__":
warnings.warn(
"The '__parsed_version__' attribute is deprecated and will be removed in"
" in a future version. Use feature detection or"
" 'packaging.Version(importlib.metadata.version(\"marshmallow\"))' instead.",
DeprecationWarning,
stacklevel=2,
)
return Version(importlib.metadata.version("marshmallow"))
if name == "__version_info__":
warnings.warn(
"The '__version_info__' attribute is deprecated and will be removed in"
" in a future version. Use feature detection or"
" 'packaging.Version(importlib.metadata.version(\"marshmallow\")).release' instead.",
DeprecationWarning,
stacklevel=2,
)
__parsed_version__ = Version(importlib.metadata.version("marshmallow"))
__version_info__: tuple[int, int, int] | tuple[int, int, int, str, int] = (
__parsed_version__.release # type: ignore[assignment]
)
if __parsed_version__.pre:
__version_info__ += __parsed_version__.pre # type: ignore[assignment]
return __version_info__
raise AttributeError(name)
__all__ = [
"EXCLUDE",
"INCLUDE",
"RAISE",
"Schema",
"SchemaOpts",
"fields",
"validates",
"validates_schema",
"pre_dump",
"post_dump",
"pre_load",
"post_load",
"pprint",
"ValidationError",
"missing",
]