dycw-utilities 0.116.3__py3-none-any.whl → 0.116.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dycw-utilities
3
- Version: 0.116.3
3
+ Version: 0.116.4
4
4
  Author-email: Derek Wan <d.wan@icloud.com>
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.12
@@ -1,4 +1,4 @@
1
- utilities/__init__.py,sha256=X_TTeJwaQ_uuPqggf40Hm7Iv91EJtVya7PK9RPHY30Y,60
1
+ utilities/__init__.py,sha256=b6XtB99cyX4IZ76DFvF8Igz1IiLess5LdFIaswgC0Ko,60
2
2
  utilities/altair.py,sha256=Gpja-flOo-Db0PIPJLJsgzAlXWoKUjPU1qY-DQ829ek,9156
3
3
  utilities/astor.py,sha256=xuDUkjq0-b6fhtwjhbnebzbqQZAjMSHR1IIS5uOodVg,777
4
4
  utilities/asyncio.py,sha256=7qisjTnEGEKcguy_STXN6qOXij_yzTvcQ5fIbrPeyZ8,23305
@@ -9,7 +9,7 @@ utilities/click.py,sha256=Jzm7DOI3rH-WLOTh1UHOfxkFhHU4_GJH60seLV0A-OI,14311
9
9
  utilities/concurrent.py,sha256=s2scTEd2AhXVTW4hpASU2qxV_DiVLALfms55cCQzCvM,2886
10
10
  utilities/contextlib.py,sha256=OOIIEa5lXKGzFAnauaul40nlQnQko6Na4ryiMJcHkIg,478
11
11
  utilities/contextvars.py,sha256=RsSGGrbQqqZ67rOydnM7WWIsM2lIE31UHJLejnHJPWY,505
12
- utilities/cryptography.py,sha256=HyOewI20cl3uRXsKivhIaeLVDInQdzgXZGaly7hS5dE,771
12
+ utilities/cryptography.py,sha256=_CiK_K6c_-uQuUhsUNjNjTL-nqxAh4_1zTfS11Xe120,972
13
13
  utilities/cvxpy.py,sha256=Rv1-fD-XYerosCavRF8Pohop2DBkU3AlFaGTfD8AEAA,13776
14
14
  utilities/dataclasses.py,sha256=iiC1wpGXWhaocIikzwBt8bbLWyImoUlOlcDZJGejaIg,33011
15
15
  utilities/datetime.py,sha256=PcN-4_sSPX1zbpdzBQRdo08pubCuGHyigxkV6SUnvlo,38733
@@ -88,7 +88,7 @@ utilities/warnings.py,sha256=un1LvHv70PU-LLv8RxPVmugTzDJkkGXRMZTE2-fTQHw,1771
88
88
  utilities/whenever.py,sha256=iLRP_-8CZtBpHKbGZGu-kjSMg1ZubJ-VSmgSy7Eudxw,17787
89
89
  utilities/zipfile.py,sha256=24lQc9ATcJxHXBPc_tBDiJk48pWyRrlxO2fIsFxU0A8,699
90
90
  utilities/zoneinfo.py,sha256=-Xm57PMMwDTYpxJdkiJG13wnbwK--I7XItBh5WVhD-o,1874
91
- dycw_utilities-0.116.3.dist-info/METADATA,sha256=IHZmHfm-Zh_TGSDVpZN3-3uK42BiOf2R-U6aO147lcg,12943
92
- dycw_utilities-0.116.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
93
- dycw_utilities-0.116.3.dist-info/licenses/LICENSE,sha256=gppZp16M6nSVpBbUBrNL6JuYfvKwZiKgV7XoKKsHzqo,1066
94
- dycw_utilities-0.116.3.dist-info/RECORD,,
91
+ dycw_utilities-0.116.4.dist-info/METADATA,sha256=P8hMpiUHgXKsNKT5dTwM4LbirjzE57NNYNB7KdmeZVQ,12943
92
+ dycw_utilities-0.116.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
93
+ dycw_utilities-0.116.4.dist-info/licenses/LICENSE,sha256=gppZp16M6nSVpBbUBrNL6JuYfvKwZiKgV7XoKKsHzqo,1066
94
+ dycw_utilities-0.116.4.dist-info/RECORD,,
utilities/__init__.py CHANGED
@@ -1,3 +1,3 @@
1
1
  from __future__ import annotations
2
2
 
3
- __version__ = "0.116.3"
3
+ __version__ = "0.116.4"
utilities/cryptography.py CHANGED
@@ -1,6 +1,8 @@
1
1
  from __future__ import annotations
2
2
 
3
+ from dataclasses import dataclass
3
4
  from os import getenv
5
+ from typing import override
4
6
 
5
7
  from cryptography.fernet import Fernet
6
8
 
@@ -17,15 +19,23 @@ def decrypt(text: bytes, /, *, env_var: str = _ENV_VAR) -> str:
17
19
  return get_fernet(env_var=env_var).decrypt(text).decode()
18
20
 
19
21
 
22
+ ##
23
+
24
+
20
25
  def get_fernet(*, env_var: str = _ENV_VAR) -> Fernet:
21
26
  """Get the Fernet key."""
22
27
  if (key := getenv(env_var)) is None:
23
- msg = f"{env_var!r} is None"
24
- raise GetFernetError(msg)
28
+ raise GetFernetError(env_var=env_var)
25
29
  return Fernet(key.encode())
26
30
 
27
31
 
28
- class GetFernetError(Exception): ...
32
+ @dataclass(kw_only=True, slots=True)
33
+ class GetFernetError(Exception):
34
+ env_var: str
35
+
36
+ @override
37
+ def __str__(self) -> str:
38
+ return f"Environment variable {self.env_var!r} is None"
29
39
 
30
40
 
31
41
  __all__ = ["GetFernetError", "decrypt", "encrypt", "get_fernet"]