ygg 0.1.28__py3-none-any.whl → 0.1.29__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.
- {ygg-0.1.28.dist-info → ygg-0.1.29.dist-info}/METADATA +1 -1
- {ygg-0.1.28.dist-info → ygg-0.1.29.dist-info}/RECORD +9 -9
- yggdrasil/databricks/compute/cluster.py +0 -4
- yggdrasil/databricks/compute/execution_context.py +1 -1
- yggdrasil/pyutils/callable_serde.py +1 -28
- {ygg-0.1.28.dist-info → ygg-0.1.29.dist-info}/WHEEL +0 -0
- {ygg-0.1.28.dist-info → ygg-0.1.29.dist-info}/entry_points.txt +0 -0
- {ygg-0.1.28.dist-info → ygg-0.1.29.dist-info}/licenses/LICENSE +0 -0
- {ygg-0.1.28.dist-info → ygg-0.1.29.dist-info}/top_level.txt +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
ygg-0.1.
|
|
1
|
+
ygg-0.1.29.dist-info/licenses/LICENSE,sha256=HrhfyXIkWY2tGFK11kg7vPCqhgh5DcxleloqdhrpyMY,11558
|
|
2
2
|
yggdrasil/__init__.py,sha256=6OPibApplA5TF4TeixkQO_qewpaAidYX-fSDvvKYcTI,91
|
|
3
3
|
yggdrasil/databricks/__init__.py,sha256=aGVve5mpoQtxSK2nfzrexjRPoutCIyaOnKZijkG4_QE,92
|
|
4
4
|
yggdrasil/databricks/compute/__init__.py,sha256=TVDwPmW2SOmHmnhzZhsvrWbrxZ_lEcgqe3l9BeB-oxM,218
|
|
5
|
-
yggdrasil/databricks/compute/cluster.py,sha256=
|
|
6
|
-
yggdrasil/databricks/compute/execution_context.py,sha256=
|
|
5
|
+
yggdrasil/databricks/compute/cluster.py,sha256=s2w2rn_7LNHCcYdcdsfDANDNNj78EwMMCiNa1PLJEhM,28521
|
|
6
|
+
yggdrasil/databricks/compute/execution_context.py,sha256=LiBq0rPfn3oqlYA031z765k54IApGgah5rEOL-m5v4s,18580
|
|
7
7
|
yggdrasil/databricks/compute/remote.py,sha256=sVWBb_1YR-e33on6F5QYMLKwT6end6rolCvN8HM-9Qw,1212
|
|
8
8
|
yggdrasil/databricks/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
9
|
yggdrasil/databricks/jobs/config.py,sha256=8Slfw4Wl7vu0kIlaUUqVqjjOgPwuULoo0rroENCbC20,11494
|
|
@@ -26,7 +26,7 @@ yggdrasil/libs/extensions/__init__.py,sha256=qkkRF1BQ_NLZlKeeZeeZDAbf9Q3wQXu5s4O
|
|
|
26
26
|
yggdrasil/libs/extensions/polars_extensions.py,sha256=kojeJOW5VPBXMVTJT2gWUJypNuryq9ZeXmH-VZXgXoM,10531
|
|
27
27
|
yggdrasil/libs/extensions/spark_extensions.py,sha256=uCcpLJr0wEE9V_-nc8DrQtAh9n2Q4mV_NicU-DNGG54,13396
|
|
28
28
|
yggdrasil/pyutils/__init__.py,sha256=-aU5Y1huWoTLTPdSDxZM7QU0p0sTYj5j77cP833RsnQ,139
|
|
29
|
-
yggdrasil/pyutils/callable_serde.py,sha256=
|
|
29
|
+
yggdrasil/pyutils/callable_serde.py,sha256=DmEn9j_FMQhd_qvG7Q2fvL8VBCaqgGK2mnaessMgJws,18056
|
|
30
30
|
yggdrasil/pyutils/exceptions.py,sha256=Kt4xY4jPv-Ld8vBJaiQy51xbewD6Q-3bZkaa3THsFNM,2891
|
|
31
31
|
yggdrasil/pyutils/modules.py,sha256=r3C4TRA8C_fUTltITV0VJY0pbIdxdV1op2z8BX0FgJo,10201
|
|
32
32
|
yggdrasil/pyutils/parallel.py,sha256=L2r4_iumOzDk7omWVBPYmT5U8n7suOdv1AFpa_ghHSY,5902
|
|
@@ -49,8 +49,8 @@ yggdrasil/types/cast/registry.py,sha256=-88mq-U1pDSGbEC9PRY0zJCzloyBodXgeSRBPb6h
|
|
|
49
49
|
yggdrasil/types/cast/spark_cast.py,sha256=IHthM78dugabGXxNNW9sSHn-olDwzXcFdIFcPo9IiXU,23021
|
|
50
50
|
yggdrasil/types/cast/spark_pandas_cast.py,sha256=8PgJItF_XbyBcNuBnXkMQU3PBy3sAPEXZT9SXL2WbU4,4200
|
|
51
51
|
yggdrasil/types/cast/spark_polars_cast.py,sha256=ba1UOvY1ouGCro1Np9slXmJ4TEyWnUtwVEAwxGvPLlk,8336
|
|
52
|
-
ygg-0.1.
|
|
53
|
-
ygg-0.1.
|
|
54
|
-
ygg-0.1.
|
|
55
|
-
ygg-0.1.
|
|
56
|
-
ygg-0.1.
|
|
52
|
+
ygg-0.1.29.dist-info/METADATA,sha256=H9-xKVaADfcI7Euov960Egc5LI70k2gPw4-vzGE0ZZA,19204
|
|
53
|
+
ygg-0.1.29.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
54
|
+
ygg-0.1.29.dist-info/entry_points.txt,sha256=6q-vpWG3kvw2dhctQ0LALdatoeefkN855Ev02I1dKGY,70
|
|
55
|
+
ygg-0.1.29.dist-info/top_level.txt,sha256=iBe9Kk4VIVbLpgv_p8OZUIfxgj4dgJ5wBg6vO3rigso,10
|
|
56
|
+
ygg-0.1.29.dist-info/RECORD,,
|
|
@@ -646,7 +646,6 @@ class Cluster(WorkspaceService):
|
|
|
646
646
|
self,
|
|
647
647
|
_func: Optional[Callable] = None,
|
|
648
648
|
*,
|
|
649
|
-
before: Optional[Callable] = None,
|
|
650
649
|
language: Optional["Language"] = None,
|
|
651
650
|
env_keys: Optional[List[str]] = None,
|
|
652
651
|
env_variables: Optional[Dict[str, str]] = None,
|
|
@@ -673,15 +672,12 @@ class Cluster(WorkspaceService):
|
|
|
673
672
|
def decorator(func: Callable):
|
|
674
673
|
context = self.context(language=language or Language.PYTHON)
|
|
675
674
|
serialized = CallableSerde.from_callable(func)
|
|
676
|
-
do_before = CallableSerde.from_callable(before)
|
|
677
675
|
|
|
678
676
|
@functools.wraps(func)
|
|
679
677
|
def wrapper(*args, **kwargs):
|
|
680
678
|
if os.getenv("DATABRICKS_RUNTIME_VERSION") is not None:
|
|
681
679
|
return func(*args, **kwargs)
|
|
682
680
|
|
|
683
|
-
do_before()
|
|
684
|
-
|
|
685
681
|
return context.execute(
|
|
686
682
|
obj=serialized,
|
|
687
683
|
args=list(args),
|
|
@@ -291,7 +291,7 @@ print(json.dumps(meta))"""
|
|
|
291
291
|
|
|
292
292
|
serialized = CallableSerde.from_callable(func)
|
|
293
293
|
|
|
294
|
-
self.install_temporary_libraries(libraries=serialized.
|
|
294
|
+
self.install_temporary_libraries(libraries=serialized.pkg_root)
|
|
295
295
|
|
|
296
296
|
# Use dill of same version
|
|
297
297
|
current_version = (sys.version_info.major, sys.version_info.minor)
|
|
@@ -7,7 +7,6 @@ import inspect
|
|
|
7
7
|
import json
|
|
8
8
|
import struct
|
|
9
9
|
import sys
|
|
10
|
-
import textwrap
|
|
11
10
|
import zlib
|
|
12
11
|
from dataclasses import dataclass
|
|
13
12
|
from pathlib import Path
|
|
@@ -46,7 +45,7 @@ def _find_pkg_root_from_file(file_path: Path) -> Optional[Path]:
|
|
|
46
45
|
top_pkg_dir = d
|
|
47
46
|
d = d.parent
|
|
48
47
|
|
|
49
|
-
return top_pkg_dir
|
|
48
|
+
return top_pkg_dir if top_pkg_dir else None
|
|
50
49
|
|
|
51
50
|
|
|
52
51
|
def _callable_file_line(fn: Callable[..., Any]) -> Tuple[Optional[str], Optional[int]]:
|
|
@@ -242,30 +241,6 @@ class CallableSerde:
|
|
|
242
241
|
_env_b64: Optional[str] = None
|
|
243
242
|
_env_meta: Optional[Dict[str, Any]] = None
|
|
244
243
|
|
|
245
|
-
def __post_init__(self) -> None:
|
|
246
|
-
# If constructed as CallableSerde(fn=...), eagerly capture backing metadata.
|
|
247
|
-
if self.fn is not None:
|
|
248
|
-
self._init_private_from_fn(self.fn)
|
|
249
|
-
|
|
250
|
-
def _init_private_from_fn(self, fn: Callable[..., Any]) -> None:
|
|
251
|
-
"""
|
|
252
|
-
Capture stable identity-ish metadata at creation time, so we don't rely
|
|
253
|
-
on lazy properties later (or after fn is dropped).
|
|
254
|
-
"""
|
|
255
|
-
# Only set if not already provided (don't clobber loaded/explicit values).
|
|
256
|
-
if self._module is None:
|
|
257
|
-
self._module = getattr(fn, "__module__", None)
|
|
258
|
-
|
|
259
|
-
if self._qualname is None:
|
|
260
|
-
self._qualname = getattr(fn, "__qualname__", None)
|
|
261
|
-
|
|
262
|
-
if self._pkg_root is None:
|
|
263
|
-
f, _ = _callable_file_line(fn)
|
|
264
|
-
if f:
|
|
265
|
-
root = _find_pkg_root_from_file(Path(f))
|
|
266
|
-
if root:
|
|
267
|
-
self._pkg_root = str(root)
|
|
268
|
-
|
|
269
244
|
# ----- construction -----
|
|
270
245
|
|
|
271
246
|
@classmethod
|
|
@@ -274,8 +249,6 @@ class CallableSerde:
|
|
|
274
249
|
return x
|
|
275
250
|
|
|
276
251
|
obj = cls(fn=x) # type: ignore[return-value]
|
|
277
|
-
# __post_init__ already ran, but this keeps it robust if dataclass changes.
|
|
278
|
-
obj._init_private_from_fn(x)
|
|
279
252
|
|
|
280
253
|
return obj
|
|
281
254
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|