diff options
Diffstat (limited to '.venv/lib/python3.12/site-packages/marshmallow/__init__.py')
-rw-r--r-- | .venv/lib/python3.12/site-packages/marshmallow/__init__.py | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/marshmallow/__init__.py b/.venv/lib/python3.12/site-packages/marshmallow/__init__.py new file mode 100644 index 00000000..85b0f3c0 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/marshmallow/__init__.py @@ -0,0 +1,81 @@ +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", + "ValidationError", + "fields", + "missing", + "post_dump", + "post_load", + "pprint", + "pre_dump", + "pre_load", + "validates", + "validates_schema", +] |