Spaces:
Runtime error
Runtime error
# SPDX-License-Identifier: MIT | |
""" | |
Argon2 for Python | |
""" | |
from . import exceptions, low_level, profiles | |
from ._legacy import hash_password, hash_password_raw, verify_password | |
from ._password_hasher import ( | |
DEFAULT_HASH_LENGTH, | |
DEFAULT_MEMORY_COST, | |
DEFAULT_PARALLELISM, | |
DEFAULT_RANDOM_SALT_LENGTH, | |
DEFAULT_TIME_COST, | |
PasswordHasher, | |
) | |
from ._utils import Parameters, extract_parameters | |
from .low_level import Type | |
__title__ = "argon2-cffi" | |
__author__ = "Hynek Schlawack" | |
__copyright__ = "Copyright (c) 2015 " + __author__ | |
__license__ = "MIT" | |
__all__ = [ | |
"DEFAULT_HASH_LENGTH", | |
"DEFAULT_MEMORY_COST", | |
"DEFAULT_PARALLELISM", | |
"DEFAULT_RANDOM_SALT_LENGTH", | |
"DEFAULT_TIME_COST", | |
"Parameters", | |
"PasswordHasher", | |
"Type", | |
"exceptions", | |
"extract_parameters", | |
"hash_password", | |
"hash_password_raw", | |
"low_level", | |
"profiles", | |
"verify_password", | |
] | |
def __getattr__(name: str) -> str: | |
dunder_to_metadata = { | |
"__version__": "version", | |
"__description__": "summary", | |
"__uri__": "", | |
"__url__": "", | |
"__email__": "", | |
} | |
if name not in dunder_to_metadata: | |
msg = f"module {__name__} has no attribute {name}" | |
raise AttributeError(msg) | |
import sys | |
import warnings | |
if sys.version_info < (3, 8): | |
from importlib_metadata import metadata | |
else: | |
from importlib.metadata import metadata | |
warnings.warn( | |
f"Accessing argon2.{name} is deprecated and will be " | |
"removed in a future release. Use importlib.metadata directly " | |
"to query for structlog's packaging metadata.", | |
DeprecationWarning, | |
stacklevel=2, | |
) | |
meta = metadata("argon2-cffi") | |
if name in ("__uri__", "__url__"): | |
return meta["Project-URL"].split(" ", 1)[-1] | |
if name == "__email__": | |
return meta["Author-email"].split("<", 1)[1].rstrip(">") | |
return meta[dunder_to_metadata[name]] | |
# Make nicer public names. | |
__locals = locals() | |
for __name in __all__: | |
if not __name.startswith(("__", "DEFAULT_")) and not __name.islower(): | |
__locals[__name].__module__ = "argon2" | |
del __locals | |
del __name # pyright: ignore[reportUnboundVariable] | |