dagster-shared 1.12.6__tar.gz → 1.12.8__tar.gz

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.
Files changed (62) hide show
  1. {dagster_shared-1.12.6/dagster_shared.egg-info → dagster_shared-1.12.8}/PKG-INFO +2 -2
  2. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/utils/__init__.py +40 -1
  3. dagster_shared-1.12.8/dagster_shared/version.py +1 -0
  4. {dagster_shared-1.12.6 → dagster_shared-1.12.8/dagster_shared.egg-info}/PKG-INFO +2 -2
  5. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared.egg-info/requires.txt +0 -1
  6. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/setup.py +1 -1
  7. dagster_shared-1.12.6/dagster_shared/version.py +0 -1
  8. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/LICENSE +0 -0
  9. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/MANIFEST.in +0 -0
  10. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/README.md +0 -0
  11. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/__init__.py +0 -0
  12. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/check/README.md +0 -0
  13. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/check/__init__.py +0 -0
  14. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/check/builder.py +0 -0
  15. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/check/decorator.py +0 -0
  16. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/check/functions.py +0 -0
  17. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/check/record.py +0 -0
  18. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/cli/__init__.py +0 -0
  19. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/dagster_model/__init__.py +0 -0
  20. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/dagster_model/pydantic_compat_layer.py +0 -0
  21. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/error.py +0 -0
  22. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/ipc.py +0 -0
  23. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/libraries/__init__.py +0 -0
  24. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/match.py +0 -0
  25. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/merger.py +0 -0
  26. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/modules.py +0 -0
  27. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/plus/__init__.py +0 -0
  28. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/plus/config.py +0 -0
  29. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/plus/config_utils.py +0 -0
  30. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/plus/login_server.py +0 -0
  31. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/py.typed +0 -0
  32. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/record/__init__.py +0 -0
  33. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/scaffold/__init__.py +0 -0
  34. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/serdes/__init__.py +0 -0
  35. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/serdes/errors.py +0 -0
  36. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/serdes/objects/__init__.py +0 -0
  37. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/serdes/objects/definition_metadata.py +0 -0
  38. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/serdes/objects/models/__init__.py +0 -0
  39. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/serdes/objects/models/defs_state_info.py +0 -0
  40. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/serdes/objects/package_entry.py +0 -0
  41. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/serdes/serdes.py +0 -0
  42. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/serdes/utils.py +0 -0
  43. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/seven/__init__.py +0 -0
  44. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/seven/abc.py +0 -0
  45. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/seven/compat/__init__.py +0 -0
  46. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/seven/json.py +0 -0
  47. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/seven/temp_dir.py +0 -0
  48. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/telemetry/__init__.py +0 -0
  49. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/utils/cached_method.py +0 -0
  50. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/utils/config.py +0 -0
  51. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/utils/hash.py +0 -0
  52. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/utils/test.py +0 -0
  53. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/utils/timing.py +0 -0
  54. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/utils/warnings.py +0 -0
  55. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/yaml_utils/__init__.py +0 -0
  56. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/yaml_utils/sample_yaml.py +0 -0
  57. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared/yaml_utils/source_position.py +0 -0
  58. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared.egg-info/SOURCES.txt +0 -0
  59. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared.egg-info/dependency_links.txt +0 -0
  60. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared.egg-info/not-zip-safe +0 -0
  61. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/dagster_shared.egg-info/top_level.txt +0 -0
  62. {dagster_shared-1.12.6 → dagster_shared-1.12.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dagster_shared
3
- Version: 1.12.6
3
+ Version: 1.12.8
4
4
  Summary: Shared code between dagster and dagster-dg-core.
5
5
  Home-page: https://github.com/dagster-io/dagster/tree/master/python_modules/libraries/dagster-shared
6
6
  Author: Dagster Labs
@@ -10,6 +10,7 @@ Classifier: Programming Language :: Python :: 3.10
10
10
  Classifier: Programming Language :: Python :: 3.11
11
11
  Classifier: Programming Language :: Python :: 3.12
12
12
  Classifier: Programming Language :: Python :: 3.13
13
+ Classifier: Programming Language :: Python :: 3.14
13
14
  Classifier: License :: OSI Approved :: Apache Software License
14
15
  Classifier: Operating System :: OS Independent
15
16
  License-File: LICENSE
@@ -21,7 +22,6 @@ Requires-Dist: typing_extensions<5,>=4.11.0
21
22
  Requires-Dist: tomlkit
22
23
  Provides-Extra: test
23
24
  Requires-Dist: pytest; extra == "test"
24
- Requires-Dist: buildkite-test-collector; extra == "test"
25
25
  Requires-Dist: flaky; extra == "test"
26
26
  Dynamic: author
27
27
  Dynamic: author-email
@@ -3,8 +3,15 @@ import os
3
3
  import random
4
4
  import socket
5
5
  from collections.abc import Iterator, Mapping
6
+ from pathlib import Path
6
7
  from types import GenericAlias
7
- from typing import TypeGuard, TypeVar
8
+ from typing import Optional, TypeGuard, TypeVar
9
+
10
+ try:
11
+ import tomllib # pyright: ignore[reportMissingImports]
12
+ except ImportError:
13
+ # Python < 3.11 fallback
14
+ import tomli as tomllib
8
15
 
9
16
  T = TypeVar("T")
10
17
 
@@ -88,3 +95,35 @@ def safe_is_subclass(obj, cls: type[T]) -> TypeGuard[type[T]]:
88
95
  and not isinstance(obj, GenericAlias) # prevent exceptions on 3.9
89
96
  and issubclass(obj, cls)
90
97
  )
98
+
99
+
100
+ def _read_pyproject_toml(directory: Path | str) -> Optional[dict]:
101
+ """Read and parse pyproject.toml from a directory. Returns None if not found."""
102
+ if isinstance(directory, str):
103
+ directory = Path(directory)
104
+ pyproject_path = directory / "pyproject.toml"
105
+ if not pyproject_path.exists():
106
+ return None
107
+ with open(pyproject_path, "rb") as f:
108
+ return tomllib.load(f)
109
+
110
+
111
+ def find_uv_workspace_root(start_path: Path | str) -> Optional[tuple[Path, dict]]:
112
+ """Walk up directories to find a uv workspace root.
113
+
114
+ Returns (workspace_root_path, workspace_config) or None if not found.
115
+ A uv workspace is identified by [tool.uv.workspace] in pyproject.toml.
116
+ """
117
+ if isinstance(start_path, str):
118
+ start_path = Path(start_path)
119
+ current = start_path.resolve()
120
+ while True:
121
+ data = _read_pyproject_toml(current)
122
+ if data:
123
+ workspace_config = data.get("tool", {}).get("uv", {}).get("workspace", {})
124
+ if workspace_config:
125
+ return current, workspace_config
126
+ parent = current.parent
127
+ if parent == current:
128
+ return None
129
+ current = parent
@@ -0,0 +1 @@
1
+ __version__ = "1.12.8"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dagster_shared
3
- Version: 1.12.6
3
+ Version: 1.12.8
4
4
  Summary: Shared code between dagster and dagster-dg-core.
5
5
  Home-page: https://github.com/dagster-io/dagster/tree/master/python_modules/libraries/dagster-shared
6
6
  Author: Dagster Labs
@@ -10,6 +10,7 @@ Classifier: Programming Language :: Python :: 3.10
10
10
  Classifier: Programming Language :: Python :: 3.11
11
11
  Classifier: Programming Language :: Python :: 3.12
12
12
  Classifier: Programming Language :: Python :: 3.13
13
+ Classifier: Programming Language :: Python :: 3.14
13
14
  Classifier: License :: OSI Approved :: Apache Software License
14
15
  Classifier: Operating System :: OS Independent
15
16
  License-File: LICENSE
@@ -21,7 +22,6 @@ Requires-Dist: typing_extensions<5,>=4.11.0
21
22
  Requires-Dist: tomlkit
22
23
  Provides-Extra: test
23
24
  Requires-Dist: pytest; extra == "test"
24
- Requires-Dist: buildkite-test-collector; extra == "test"
25
25
  Requires-Dist: flaky; extra == "test"
26
26
  Dynamic: author
27
27
  Dynamic: author-email
@@ -7,5 +7,4 @@ tomlkit
7
7
 
8
8
  [test]
9
9
  pytest
10
- buildkite-test-collector
11
10
  flaky
@@ -29,6 +29,7 @@ setup(
29
29
  "Programming Language :: Python :: 3.11",
30
30
  "Programming Language :: Python :: 3.12",
31
31
  "Programming Language :: Python :: 3.13",
32
+ "Programming Language :: Python :: 3.14",
32
33
  "License :: OSI Approved :: Apache Software License",
33
34
  "Operating System :: OS Independent",
34
35
  ],
@@ -45,7 +46,6 @@ setup(
45
46
  extras_require={
46
47
  "test": [
47
48
  "pytest",
48
- "buildkite-test-collector",
49
49
  "flaky",
50
50
  ],
51
51
  },
@@ -1 +0,0 @@
1
- __version__ = "1.12.6"
File without changes