ygg 0.1.17__py3-none-any.whl → 0.1.19__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.17.dist-info → ygg-0.1.19.dist-info}/METADATA +1 -1
- {ygg-0.1.17.dist-info → ygg-0.1.19.dist-info}/RECORD +7 -7
- yggdrasil/databricks/compute/execution_context.py +2 -7
- yggdrasil/databricks/workspaces/__init__.py +1 -0
- yggdrasil/ser/callable_serde.py +8 -16
- {ygg-0.1.17.dist-info → ygg-0.1.19.dist-info}/WHEEL +0 -0
- {ygg-0.1.17.dist-info → ygg-0.1.19.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ygg
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.19
|
|
4
4
|
Summary: Type-friendly utilities for moving data between Python objects, Arrow, Polars, Pandas, Spark, and Databricks
|
|
5
5
|
Author: Yggdrasil contributors
|
|
6
6
|
Project-URL: Homepage, https://github.com/Platob/Yggdrasil
|
|
@@ -2,7 +2,7 @@ yggdrasil/__init__.py,sha256=6OPibApplA5TF4TeixkQO_qewpaAidYX-fSDvvKYcTI,91
|
|
|
2
2
|
yggdrasil/databricks/__init__.py,sha256=aGVve5mpoQtxSK2nfzrexjRPoutCIyaOnKZijkG4_QE,92
|
|
3
3
|
yggdrasil/databricks/compute/__init__.py,sha256=TVDwPmW2SOmHmnhzZhsvrWbrxZ_lEcgqe3l9BeB-oxM,218
|
|
4
4
|
yggdrasil/databricks/compute/cluster.py,sha256=xElDioObG6exkUS08K-Ccs_EFNbWD69Z15fjvnHwOx8,26958
|
|
5
|
-
yggdrasil/databricks/compute/execution_context.py,sha256=
|
|
5
|
+
yggdrasil/databricks/compute/execution_context.py,sha256=0W8GiOJH8iWsonXxKy7KLsyX7d8SMLvV5IfM5s8KTGs,18481
|
|
6
6
|
yggdrasil/databricks/compute/remote.py,sha256=DzPVPk-4bt5bOL52Onur3xLNh3UzS2K70DU5HglhGSg,1216
|
|
7
7
|
yggdrasil/databricks/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
yggdrasil/databricks/jobs/config.py,sha256=8Slfw4Wl7vu0kIlaUUqVqjjOgPwuULoo0rroENCbC20,11494
|
|
@@ -11,7 +11,7 @@ yggdrasil/databricks/sql/engine.py,sha256=WRDrY-FpXMegF3qNmMkCsfIitJB9rY_lW8Pnk7
|
|
|
11
11
|
yggdrasil/databricks/sql/exceptions.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
12
|
yggdrasil/databricks/sql/statement_result.py,sha256=L-hrK5MVnH3XG57BpGmaETtRzYjAtYGQthgAPGVj618,12610
|
|
13
13
|
yggdrasil/databricks/sql/types.py,sha256=YgasSyq8sygk1h6ZOTcRwXAZWNKSuk-9g9VqlR8kJl4,5324
|
|
14
|
-
yggdrasil/databricks/workspaces/__init__.py,sha256=
|
|
14
|
+
yggdrasil/databricks/workspaces/__init__.py,sha256=tNNS3A_Pl9FYkQ8nGERhr4VF-hwKrvh8k1W8vTaR0uo,58
|
|
15
15
|
yggdrasil/databricks/workspaces/databricks_path.py,sha256=1jGLqAxSUvhBiSs78W2rS31ENEz4HcAQ0U_HqgqlJMM,29551
|
|
16
16
|
yggdrasil/databricks/workspaces/workspace.py,sha256=8T-d0DTq-s2zTkmMbaEeS_7AiZwcUDxorch9IbZACko,33333
|
|
17
17
|
yggdrasil/dataclasses/__init__.py,sha256=QVAvZnNl7gFYTLOVTfMkdQZf6o_WL8_UuDV1uTZ7Aeg,67
|
|
@@ -33,7 +33,7 @@ yggdrasil/requests/__init__.py,sha256=THJz1IoZYQccwmXcQR3N8D-uWxCkfMtgeXDhONdERR
|
|
|
33
33
|
yggdrasil/requests/msal.py,sha256=ucnN45iZZpbXkByw212PX4shH4g0EeyrW8JEmfimWtY,5861
|
|
34
34
|
yggdrasil/requests/session.py,sha256=YomLcDf8O_mc8BUnf9fr5wrupDnxEzaGw-guhV91NsE,830
|
|
35
35
|
yggdrasil/ser/__init__.py,sha256=sS66Bxu8aiLb-8N2aNayquamfi7FobEH51JyV5ULDFI,31
|
|
36
|
-
yggdrasil/ser/callable_serde.py,sha256=
|
|
36
|
+
yggdrasil/ser/callable_serde.py,sha256=GlCHYayy1MbrtRL9A4JQ4H91HhPpBDSZPEeXTGcimB0,20751
|
|
37
37
|
yggdrasil/types/__init__.py,sha256=p0Qu_69RkePPgQGM9nSue_bcbEIAM2u9eo3zsEplHJ8,82
|
|
38
38
|
yggdrasil/types/libs.py,sha256=7-p0M4C6TnEWpUGf2nY4XshhJxtXOE_-bsYmJWU6jtk,227
|
|
39
39
|
yggdrasil/types/python_arrow.py,sha256=1Ac1ZnEgmH4nLNBfrfbM6E9EfANGWtdANqlwMENQkTw,21408
|
|
@@ -48,7 +48,7 @@ yggdrasil/types/cast/registry.py,sha256=-88mq-U1pDSGbEC9PRY0zJCzloyBodXgeSRBPb6h
|
|
|
48
48
|
yggdrasil/types/cast/spark_cast.py,sha256=IHthM78dugabGXxNNW9sSHn-olDwzXcFdIFcPo9IiXU,23021
|
|
49
49
|
yggdrasil/types/cast/spark_pandas_cast.py,sha256=8PgJItF_XbyBcNuBnXkMQU3PBy3sAPEXZT9SXL2WbU4,4200
|
|
50
50
|
yggdrasil/types/cast/spark_polars_cast.py,sha256=ba1UOvY1ouGCro1Np9slXmJ4TEyWnUtwVEAwxGvPLlk,8336
|
|
51
|
-
ygg-0.1.
|
|
52
|
-
ygg-0.1.
|
|
53
|
-
ygg-0.1.
|
|
54
|
-
ygg-0.1.
|
|
51
|
+
ygg-0.1.19.dist-info/METADATA,sha256=__YFsy3OqdkKedGn-zOh6Y1VFpTWVl_rZMS4Aa8AtZY,5981
|
|
52
|
+
ygg-0.1.19.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
53
|
+
ygg-0.1.19.dist-info/top_level.txt,sha256=iBe9Kk4VIVbLpgv_p8OZUIfxgj4dgJ5wBg6vO3rigso,10
|
|
54
|
+
ygg-0.1.19.dist-info/RECORD,,
|
|
@@ -10,12 +10,9 @@ import re
|
|
|
10
10
|
import sys
|
|
11
11
|
import threading
|
|
12
12
|
import zipfile
|
|
13
|
-
from pickle import UnpicklingError
|
|
14
13
|
from types import ModuleType
|
|
15
14
|
from typing import TYPE_CHECKING, Optional, Any, Callable, List, Dict, Union, Iterable
|
|
16
15
|
|
|
17
|
-
from mypy.checker import Mapping
|
|
18
|
-
|
|
19
16
|
from ...libs.databrickslib import databricks_sdk
|
|
20
17
|
from ...pyutils.exceptions import raise_parsed_traceback
|
|
21
18
|
from ...pyutils.modules import resolve_local_lib_path
|
|
@@ -37,11 +34,11 @@ logger = logging.getLogger(__name__)
|
|
|
37
34
|
@dc.dataclass
|
|
38
35
|
class RemoteMetadata:
|
|
39
36
|
site_packages_path: Optional[str] = dc.field(default=None)
|
|
40
|
-
os_env:
|
|
37
|
+
os_env: Dict[str, str] = dc.field(default_factory=dict)
|
|
41
38
|
|
|
42
39
|
def os_env_diff(
|
|
43
40
|
self,
|
|
44
|
-
current: Optional[
|
|
41
|
+
current: Optional[Dict] = None
|
|
45
42
|
):
|
|
46
43
|
if current is None:
|
|
47
44
|
current = os.environ
|
|
@@ -297,8 +294,6 @@ print(json.dumps(meta))
|
|
|
297
294
|
if use_dill is None:
|
|
298
295
|
if current_version == self.cluster.python_version:
|
|
299
296
|
use_dill = True
|
|
300
|
-
elif current_version in ((3, 12), (3, 13)) and self.cluster.python_version in ((3, 12), (3, 13)):
|
|
301
|
-
use_dill = True
|
|
302
297
|
else:
|
|
303
298
|
use_dill = False
|
|
304
299
|
|
yggdrasil/ser/callable_serde.py
CHANGED
|
@@ -400,22 +400,13 @@ class CallableSerdeMixin:
|
|
|
400
400
|
callable_payload["dill_b64"] = _b64e(dumped_fn)
|
|
401
401
|
|
|
402
402
|
# args/kwargs transport
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
else:
|
|
411
|
-
try:
|
|
412
|
-
args_pack = {"kind": "json", "text": json.dumps(args)}
|
|
413
|
-
kwargs_pack = {"kind": "json", "text": json.dumps(kwargs)}
|
|
414
|
-
except TypeError as e:
|
|
415
|
-
raise ValueError(
|
|
416
|
-
"use_dill=False requires JSON-serializable args/kwargs. "
|
|
417
|
-
"If you need complex args, run same Python minor and use_dill=True."
|
|
418
|
-
) from e
|
|
403
|
+
dumped_args = _safe_dill_dumps(args)
|
|
404
|
+
dumped_kwargs = _safe_dill_dumps(kwargs)
|
|
405
|
+
if dumped_args is None or dumped_kwargs is None:
|
|
406
|
+
raise ValueError("Failed to dill-serialize args/kwargs")
|
|
407
|
+
|
|
408
|
+
args_pack: Dict[str, Any] = {"kind": "dill", "b64": _b64e(dumped_args)}
|
|
409
|
+
kwargs_pack: Dict[str, Any] = {"kind": "dill", "b64": _b64e(dumped_kwargs)}
|
|
419
410
|
|
|
420
411
|
if not byte_limit:
|
|
421
412
|
byte_limit = 512 * 1024
|
|
@@ -434,6 +425,7 @@ class CallableSerdeMixin:
|
|
|
434
425
|
# --- generated by yggdrasil.ser.CallableSerdeMixin.to_command ---
|
|
435
426
|
import base64, json, os, traceback, zlib
|
|
436
427
|
import dill
|
|
428
|
+
from yggdrasil.databricks import *
|
|
437
429
|
|
|
438
430
|
_payload = {payload!r}
|
|
439
431
|
|
|
File without changes
|
|
File without changes
|