dagster-wandb 0.24.2__tar.gz → 0.28.6__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.
- {dagster-wandb-0.24.2/dagster_wandb.egg-info → dagster_wandb-0.28.6}/PKG-INFO +20 -6
- dagster_wandb-0.28.6/dagster_wandb/__init__.py +19 -0
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/dagster_wandb/io_manager.py +10 -16
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/dagster_wandb/launch/ops.py +3 -3
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/dagster_wandb/resources.py +3 -3
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/dagster_wandb/types.py +7 -14
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/dagster_wandb/utils/pickling.py +10 -10
- dagster_wandb-0.28.6/dagster_wandb/version.py +1 -0
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6/dagster_wandb.egg-info}/PKG-INFO +20 -6
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/dagster_wandb.egg-info/requires.txt +1 -1
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/setup.py +3 -6
- dagster-wandb-0.24.2/dagster_wandb/__init__.py +0 -19
- dagster-wandb-0.24.2/dagster_wandb/version.py +0 -1
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/LICENSE +0 -0
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/MANIFEST.in +0 -0
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/README.md +0 -0
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/dagster_wandb/launch/__init__.py +0 -0
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/dagster_wandb/launch/configs.py +0 -0
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/dagster_wandb/py.typed +0 -0
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/dagster_wandb/utils/__init__.py +0 -0
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/dagster_wandb/utils/errors.py +0 -0
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/dagster_wandb.egg-info/SOURCES.txt +0 -0
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/dagster_wandb.egg-info/dependency_links.txt +0 -0
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/dagster_wandb.egg-info/not-zip-safe +0 -0
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/dagster_wandb.egg-info/top_level.txt +0 -0
- {dagster-wandb-0.24.2 → dagster_wandb-0.28.6}/setup.cfg +0 -0
|
@@ -1,17 +1,31 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: dagster-wandb
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.28.6
|
|
4
4
|
Summary: Package for wandb Dagster components.
|
|
5
5
|
Home-page: https://github.com/dagster-io/dagster/tree/master/python_modules/libraries/dagster-wandb
|
|
6
6
|
Author: Dagster Labs
|
|
7
7
|
Author-email: hello@dagsterlabs.com
|
|
8
8
|
License: Apache-2.0
|
|
9
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
11
9
|
Classifier: Programming Language :: Python :: 3.10
|
|
12
10
|
Classifier: Programming Language :: Python :: 3.11
|
|
13
11
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
14
12
|
Classifier: Operating System :: OS Independent
|
|
15
|
-
Requires-Python: >=3.
|
|
16
|
-
Provides-Extra: dev
|
|
13
|
+
Requires-Python: >=3.10,<3.14
|
|
17
14
|
License-File: LICENSE
|
|
15
|
+
Requires-Dist: dagster==1.12.6
|
|
16
|
+
Requires-Dist: wandb<1.0,>=0.15.11
|
|
17
|
+
Provides-Extra: dev
|
|
18
|
+
Requires-Dist: cloudpickle; extra == "dev"
|
|
19
|
+
Requires-Dist: joblib; extra == "dev"
|
|
20
|
+
Requires-Dist: callee; extra == "dev"
|
|
21
|
+
Requires-Dist: dill; extra == "dev"
|
|
22
|
+
Dynamic: author
|
|
23
|
+
Dynamic: author-email
|
|
24
|
+
Dynamic: classifier
|
|
25
|
+
Dynamic: home-page
|
|
26
|
+
Dynamic: license
|
|
27
|
+
Dynamic: license-file
|
|
28
|
+
Dynamic: provides-extra
|
|
29
|
+
Dynamic: requires-dist
|
|
30
|
+
Dynamic: requires-python
|
|
31
|
+
Dynamic: summary
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from dagster_shared.libraries import DagsterLibraryRegistry
|
|
2
|
+
|
|
3
|
+
from dagster_wandb.io_manager import WandbArtifactsIOManagerError, wandb_artifacts_io_manager
|
|
4
|
+
from dagster_wandb.launch.ops import run_launch_agent, run_launch_job
|
|
5
|
+
from dagster_wandb.resources import wandb_resource
|
|
6
|
+
from dagster_wandb.types import SerializationModule, WandbArtifactConfiguration
|
|
7
|
+
from dagster_wandb.version import __version__
|
|
8
|
+
|
|
9
|
+
DagsterLibraryRegistry.register("dagster-wandb", __version__)
|
|
10
|
+
|
|
11
|
+
__all__ = [
|
|
12
|
+
"SerializationModule",
|
|
13
|
+
"WandbArtifactConfiguration",
|
|
14
|
+
"WandbArtifactsIOManagerError",
|
|
15
|
+
"run_launch_agent",
|
|
16
|
+
"run_launch_job",
|
|
17
|
+
"wandb_artifacts_io_manager",
|
|
18
|
+
"wandb_resource",
|
|
19
|
+
]
|
|
@@ -3,11 +3,10 @@ import os
|
|
|
3
3
|
import pickle
|
|
4
4
|
import platform
|
|
5
5
|
import shutil
|
|
6
|
-
import sys
|
|
7
6
|
import time
|
|
8
7
|
import uuid
|
|
9
8
|
from contextlib import contextmanager
|
|
10
|
-
from typing import
|
|
9
|
+
from typing import Optional, TypedDict
|
|
11
10
|
|
|
12
11
|
from dagster import (
|
|
13
12
|
Field,
|
|
@@ -24,25 +23,20 @@ from dagster._core.storage.io_manager import dagster_maintained_io_manager
|
|
|
24
23
|
from wandb import Artifact
|
|
25
24
|
from wandb.data_types import WBValue
|
|
26
25
|
|
|
27
|
-
from .resources import WANDB_CLOUD_HOST
|
|
28
|
-
from .utils.errors import (
|
|
26
|
+
from dagster_wandb.resources import WANDB_CLOUD_HOST
|
|
27
|
+
from dagster_wandb.utils.errors import (
|
|
29
28
|
WandbArtifactsIOManagerError,
|
|
30
29
|
raise_on_empty_configuration,
|
|
31
30
|
raise_on_unknown_partition_keys,
|
|
32
31
|
raise_on_unknown_read_configuration_keys,
|
|
33
32
|
raise_on_unknown_write_configuration_keys,
|
|
34
33
|
)
|
|
35
|
-
from .utils.pickling import (
|
|
34
|
+
from dagster_wandb.utils.pickling import (
|
|
36
35
|
ACCEPTED_SERIALIZATION_MODULES,
|
|
37
36
|
pickle_artifact_content,
|
|
38
37
|
unpickle_artifact_content,
|
|
39
38
|
)
|
|
40
|
-
from .version import __version__
|
|
41
|
-
|
|
42
|
-
if sys.version_info >= (3, 8):
|
|
43
|
-
from typing import TypedDict
|
|
44
|
-
else:
|
|
45
|
-
from typing_extensions import TypedDict
|
|
39
|
+
from dagster_wandb.version import __version__
|
|
46
40
|
|
|
47
41
|
UNIT_TEST_RUN_ID = "0ab2e48b-6d63-4ff5-b160-662cc60145f4"
|
|
48
42
|
|
|
@@ -54,7 +48,7 @@ class Config(TypedDict):
|
|
|
54
48
|
wandb_project: str
|
|
55
49
|
wandb_run_name: Optional[str]
|
|
56
50
|
wandb_run_id: Optional[str]
|
|
57
|
-
wandb_run_tags: Optional[
|
|
51
|
+
wandb_run_tags: Optional[list[str]]
|
|
58
52
|
base_dir: str
|
|
59
53
|
cache_duration_in_minutes: Optional[int]
|
|
60
54
|
|
|
@@ -295,7 +289,7 @@ class ArtifactsIOManager(IOManager):
|
|
|
295
289
|
context.log.warning(
|
|
296
290
|
"You've included a 'serialization_module' in the"
|
|
297
291
|
" 'wandb_artifact_configuration' settings. However, this doesn't have"
|
|
298
|
-
" any impact when the output is already
|
|
292
|
+
" any impact when the output is already a W&B object like e.g Table or"
|
|
299
293
|
" Image."
|
|
300
294
|
)
|
|
301
295
|
# Adds the WBValue object using the class name as the name for the file
|
|
@@ -395,10 +389,10 @@ class ArtifactsIOManager(IOManager):
|
|
|
395
389
|
|
|
396
390
|
artifact_name = parameters.get("name")
|
|
397
391
|
if artifact_name is None:
|
|
398
|
-
artifact_name = context.asset_key[0]
|
|
392
|
+
artifact_name = context.asset_key.path[0] # name of asset
|
|
399
393
|
|
|
400
394
|
partitions = [
|
|
401
|
-
(key, f"{artifact_name}.{
|
|
395
|
+
(key, f"{artifact_name}.{str(key).replace('|', '-')}")
|
|
402
396
|
for key in context.asset_partition_keys
|
|
403
397
|
]
|
|
404
398
|
|
|
@@ -547,7 +541,7 @@ class ArtifactsIOManager(IOManager):
|
|
|
547
541
|
path = artifact.get_path(path)
|
|
548
542
|
return path.download(root=artifacts_path)
|
|
549
543
|
|
|
550
|
-
artifact_dir = artifact.download(root=artifacts_path
|
|
544
|
+
artifact_dir = artifact.download(root=artifacts_path)
|
|
551
545
|
|
|
552
546
|
unpickled_content = unpickle_artifact_content(artifact_dir)
|
|
553
547
|
if unpickled_content is not None:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from dagster import OpExecutionContext, op
|
|
2
2
|
from wandb.sdk.launch import launch, launch_add
|
|
3
3
|
|
|
4
|
-
from .configs import launch_agent_config, launch_config
|
|
4
|
+
from dagster_wandb.launch.configs import launch_agent_config, launch_config
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
def raise_on_invalid_config(context: OpExecutionContext):
|
|
@@ -79,7 +79,7 @@ def run_launch_agent(context: OpExecutionContext):
|
|
|
79
79
|
}
|
|
80
80
|
context.log.info(f"Launch agent configuration: {config}")
|
|
81
81
|
context.log.info("Running Launch agent...")
|
|
82
|
-
launch.create_and_run_agent(api=context.resources.wandb_resource["api"], config=config)
|
|
82
|
+
launch.create_and_run_agent(api=context.resources.wandb_resource["api"], config=config) # pyright: ignore[reportFunctionMemberAccess]
|
|
83
83
|
|
|
84
84
|
|
|
85
85
|
@op(
|
|
@@ -150,7 +150,7 @@ def run_launch_job(context: OpExecutionContext):
|
|
|
150
150
|
queue = context.op_config.get("queue")
|
|
151
151
|
if queue is None:
|
|
152
152
|
context.log.info("No queue provided, running Launch job locally")
|
|
153
|
-
launch.run(api=context.resources.wandb_resource["api"], config=config)
|
|
153
|
+
launch.run(api=context.resources.wandb_resource["api"], config=config) # pyright: ignore[reportFunctionMemberAccess]
|
|
154
154
|
else:
|
|
155
155
|
synchronous = config.get("synchronous", True)
|
|
156
156
|
config.pop("synchronous", None)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import Any
|
|
1
|
+
from typing import Any
|
|
2
2
|
|
|
3
3
|
import wandb
|
|
4
4
|
from dagster import Field, InitResourceContext, String, StringSource, resource
|
|
@@ -27,7 +27,7 @@ WANDB_CLOUD_HOST: str = "https://api.wandb.ai"
|
|
|
27
27
|
},
|
|
28
28
|
description="Resource for interacting with Weights & Biases",
|
|
29
29
|
)
|
|
30
|
-
def wandb_resource(context: InitResourceContext) ->
|
|
30
|
+
def wandb_resource(context: InitResourceContext) -> dict[str, Any]:
|
|
31
31
|
"""Dagster resource used to communicate with the W&B API. It's useful when you want to use the
|
|
32
32
|
wandb client within your ops and assets. It's a required resources if you are using the W&B IO
|
|
33
33
|
Manager.
|
|
@@ -37,7 +37,7 @@ def wandb_resource(context: InitResourceContext) -> Dict[str, Any]:
|
|
|
37
37
|
For a complete set of documentation, see `Dagster integration <https://docs.wandb.ai/guides/integrations/dagster>`_.
|
|
38
38
|
|
|
39
39
|
To configure this resource, we recommend using the `configured
|
|
40
|
-
<https://docs.dagster.io/concepts/configuration/configured>`_ method.
|
|
40
|
+
<https://legacy-docs.dagster.io/concepts/configuration/configured>`_ method.
|
|
41
41
|
|
|
42
42
|
**Example:**
|
|
43
43
|
|
|
@@ -1,18 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
if sys.version_info >= (3, 8):
|
|
4
|
-
from typing import TypedDict
|
|
5
|
-
else:
|
|
6
|
-
from typing_extensions import TypedDict
|
|
7
|
-
|
|
8
|
-
from typing import Any, Dict, List
|
|
1
|
+
from typing import Any, TypedDict
|
|
9
2
|
|
|
10
3
|
|
|
11
4
|
class SerializationModule(TypedDict, total=False):
|
|
12
5
|
"""W&B Artifacts IO Manager configuration of the serialization module. Useful for type checking."""
|
|
13
6
|
|
|
14
7
|
name: str
|
|
15
|
-
parameters:
|
|
8
|
+
parameters: dict[str, Any]
|
|
16
9
|
|
|
17
10
|
|
|
18
11
|
class WandbArtifactConfiguration(TypedDict, total=False):
|
|
@@ -21,9 +14,9 @@ class WandbArtifactConfiguration(TypedDict, total=False):
|
|
|
21
14
|
name: str
|
|
22
15
|
type: str
|
|
23
16
|
description: str
|
|
24
|
-
aliases:
|
|
25
|
-
add_dirs:
|
|
26
|
-
add_files:
|
|
27
|
-
add_references:
|
|
17
|
+
aliases: list[str]
|
|
18
|
+
add_dirs: list[dict[str, Any]]
|
|
19
|
+
add_files: list[dict[str, Any]]
|
|
20
|
+
add_references: list[dict[str, Any]]
|
|
28
21
|
serialization_module: SerializationModule
|
|
29
|
-
partitions:
|
|
22
|
+
partitions: dict[str, dict[str, Any]]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import pickle
|
|
3
3
|
|
|
4
|
-
from .errors import WandbArtifactsIOManagerError
|
|
4
|
+
from dagster_wandb.utils.errors import WandbArtifactsIOManagerError
|
|
5
5
|
|
|
6
6
|
PICKLE_FILENAME = "output.pickle"
|
|
7
7
|
DILL_FILENAME = "output.dill"
|
|
@@ -55,7 +55,7 @@ def pickle_artifact_content(
|
|
|
55
55
|
**artifact.metadata,
|
|
56
56
|
**{
|
|
57
57
|
"source_serialization_module": "dill",
|
|
58
|
-
"source_dill_version_used": dill.__version__,
|
|
58
|
+
"source_dill_version_used": dill.__version__, # pyright: ignore[reportOptionalMemberAccess]
|
|
59
59
|
"source_pickle_protocol_used": serialization_module_parameters_with_protocol[
|
|
60
60
|
"protocol"
|
|
61
61
|
],
|
|
@@ -63,7 +63,7 @@ def pickle_artifact_content(
|
|
|
63
63
|
}
|
|
64
64
|
with artifact.new_file(DILL_FILENAME, "wb") as file:
|
|
65
65
|
try:
|
|
66
|
-
dill.dump(
|
|
66
|
+
dill.dump( # pyright: ignore[reportOptionalMemberAccess]
|
|
67
67
|
obj,
|
|
68
68
|
file,
|
|
69
69
|
**serialization_module_parameters_with_protocol,
|
|
@@ -88,7 +88,7 @@ def pickle_artifact_content(
|
|
|
88
88
|
**artifact.metadata,
|
|
89
89
|
**{
|
|
90
90
|
"source_serialization_module": "cloudpickle",
|
|
91
|
-
"source_cloudpickle_version_used": cloudpickle.__version__,
|
|
91
|
+
"source_cloudpickle_version_used": cloudpickle.__version__, # pyright: ignore[reportOptionalMemberAccess]
|
|
92
92
|
"source_pickle_protocol_used": serialization_module_parameters_with_protocol[
|
|
93
93
|
"protocol"
|
|
94
94
|
],
|
|
@@ -96,7 +96,7 @@ def pickle_artifact_content(
|
|
|
96
96
|
}
|
|
97
97
|
with artifact.new_file(CLOUDPICKLE_FILENAME, "wb") as file:
|
|
98
98
|
try:
|
|
99
|
-
cloudpickle.dump(
|
|
99
|
+
cloudpickle.dump( # pyright: ignore[reportOptionalMemberAccess]
|
|
100
100
|
obj,
|
|
101
101
|
file,
|
|
102
102
|
**serialization_module_parameters_with_protocol,
|
|
@@ -120,7 +120,7 @@ def pickle_artifact_content(
|
|
|
120
120
|
**artifact.metadata,
|
|
121
121
|
**{
|
|
122
122
|
"source_serialization_module": "joblib",
|
|
123
|
-
"source_joblib_version_used": joblib.__version__,
|
|
123
|
+
"source_joblib_version_used": joblib.__version__, # pyright: ignore[reportOptionalMemberAccess]
|
|
124
124
|
"source_pickle_protocol_used": serialization_module_parameters_with_protocol[
|
|
125
125
|
"protocol"
|
|
126
126
|
],
|
|
@@ -128,7 +128,7 @@ def pickle_artifact_content(
|
|
|
128
128
|
}
|
|
129
129
|
with artifact.new_file(JOBLIB_FILENAME, "wb") as file:
|
|
130
130
|
try:
|
|
131
|
-
joblib.dump(
|
|
131
|
+
joblib.dump( # pyright: ignore[reportOptionalMemberAccess]
|
|
132
132
|
obj,
|
|
133
133
|
file,
|
|
134
134
|
**serialization_module_parameters_with_protocol,
|
|
@@ -182,7 +182,7 @@ def unpickle_artifact_content(artifact_dir):
|
|
|
182
182
|
" was not found. Please, make sure it's installed."
|
|
183
183
|
)
|
|
184
184
|
with open(f"{artifact_dir}/{DILL_FILENAME}", "rb") as file:
|
|
185
|
-
input_value = dill.load(file)
|
|
185
|
+
input_value = dill.load(file) # pyright: ignore[reportOptionalMemberAccess]
|
|
186
186
|
return input_value
|
|
187
187
|
elif os.path.exists(f"{artifact_dir}/{CLOUDPICKLE_FILENAME}"):
|
|
188
188
|
if not has_cloudpickle:
|
|
@@ -191,7 +191,7 @@ def unpickle_artifact_content(artifact_dir):
|
|
|
191
191
|
" module was not found. Please, make sure it's installed."
|
|
192
192
|
)
|
|
193
193
|
with open(f"{artifact_dir}/{CLOUDPICKLE_FILENAME}", "rb") as file:
|
|
194
|
-
input_value = cloudpickle.load(file)
|
|
194
|
+
input_value = cloudpickle.load(file) # pyright: ignore[reportOptionalMemberAccess]
|
|
195
195
|
return input_value
|
|
196
196
|
elif os.path.exists(f"{artifact_dir}/{JOBLIB_FILENAME}"):
|
|
197
197
|
if not has_joblib:
|
|
@@ -200,7 +200,7 @@ def unpickle_artifact_content(artifact_dir):
|
|
|
200
200
|
" was not found. Please, make sure it's installed."
|
|
201
201
|
)
|
|
202
202
|
with open(f"{artifact_dir}/{JOBLIB_FILENAME}", "rb") as file:
|
|
203
|
-
input_value = joblib.load(file)
|
|
203
|
+
input_value = joblib.load(file) # pyright: ignore[reportOptionalMemberAccess]
|
|
204
204
|
return input_value
|
|
205
205
|
elif os.path.exists(f"{artifact_dir}/{PICKLE_FILENAME}"):
|
|
206
206
|
with open(f"{artifact_dir}/{PICKLE_FILENAME}", "rb") as file:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.28.6"
|
|
@@ -1,17 +1,31 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: dagster-wandb
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.28.6
|
|
4
4
|
Summary: Package for wandb Dagster components.
|
|
5
5
|
Home-page: https://github.com/dagster-io/dagster/tree/master/python_modules/libraries/dagster-wandb
|
|
6
6
|
Author: Dagster Labs
|
|
7
7
|
Author-email: hello@dagsterlabs.com
|
|
8
8
|
License: Apache-2.0
|
|
9
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
11
9
|
Classifier: Programming Language :: Python :: 3.10
|
|
12
10
|
Classifier: Programming Language :: Python :: 3.11
|
|
13
11
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
14
12
|
Classifier: Operating System :: OS Independent
|
|
15
|
-
Requires-Python: >=3.
|
|
16
|
-
Provides-Extra: dev
|
|
13
|
+
Requires-Python: >=3.10,<3.14
|
|
17
14
|
License-File: LICENSE
|
|
15
|
+
Requires-Dist: dagster==1.12.6
|
|
16
|
+
Requires-Dist: wandb<1.0,>=0.15.11
|
|
17
|
+
Provides-Extra: dev
|
|
18
|
+
Requires-Dist: cloudpickle; extra == "dev"
|
|
19
|
+
Requires-Dist: joblib; extra == "dev"
|
|
20
|
+
Requires-Dist: callee; extra == "dev"
|
|
21
|
+
Requires-Dist: dill; extra == "dev"
|
|
22
|
+
Dynamic: author
|
|
23
|
+
Dynamic: author-email
|
|
24
|
+
Dynamic: classifier
|
|
25
|
+
Dynamic: home-page
|
|
26
|
+
Dynamic: license
|
|
27
|
+
Dynamic: license-file
|
|
28
|
+
Dynamic: provides-extra
|
|
29
|
+
Dynamic: requires-dist
|
|
30
|
+
Dynamic: requires-python
|
|
31
|
+
Dynamic: summary
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
|
-
from typing import Dict
|
|
3
2
|
|
|
4
3
|
from setuptools import find_packages, setup
|
|
5
4
|
|
|
6
5
|
|
|
7
6
|
def get_version() -> str:
|
|
8
|
-
version:
|
|
7
|
+
version: dict[str, str] = {}
|
|
9
8
|
with open(Path(__file__).parent / "dagster_wandb/version.py", encoding="utf8") as fp:
|
|
10
9
|
exec(fp.read(), version)
|
|
11
10
|
|
|
@@ -24,8 +23,6 @@ setup(
|
|
|
24
23
|
description="Package for wandb Dagster components.",
|
|
25
24
|
url="https://github.com/dagster-io/dagster/tree/master/python_modules/libraries/dagster-wandb",
|
|
26
25
|
classifiers=[
|
|
27
|
-
"Programming Language :: Python :: 3.8",
|
|
28
|
-
"Programming Language :: Python :: 3.9",
|
|
29
26
|
"Programming Language :: Python :: 3.10",
|
|
30
27
|
"Programming Language :: Python :: 3.11",
|
|
31
28
|
"License :: OSI Approved :: Apache Software License",
|
|
@@ -33,9 +30,9 @@ setup(
|
|
|
33
30
|
],
|
|
34
31
|
packages=find_packages(exclude=["dagster_wandb_tests*"]),
|
|
35
32
|
include_package_data=True,
|
|
36
|
-
python_requires=">=3.
|
|
33
|
+
python_requires=">=3.10,<3.14",
|
|
37
34
|
install_requires=[
|
|
38
|
-
"dagster==1.
|
|
35
|
+
"dagster==1.12.6",
|
|
39
36
|
"wandb>=0.15.11,<1.0",
|
|
40
37
|
],
|
|
41
38
|
extras_require={"dev": ["cloudpickle", "joblib", "callee", "dill"]},
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
from dagster._core.libraries import DagsterLibraryRegistry
|
|
2
|
-
|
|
3
|
-
from .io_manager import WandbArtifactsIOManagerError, wandb_artifacts_io_manager
|
|
4
|
-
from .launch.ops import run_launch_agent, run_launch_job
|
|
5
|
-
from .resources import wandb_resource
|
|
6
|
-
from .types import SerializationModule, WandbArtifactConfiguration
|
|
7
|
-
from .version import __version__
|
|
8
|
-
|
|
9
|
-
DagsterLibraryRegistry.register("dagster-wandb", __version__)
|
|
10
|
-
|
|
11
|
-
__all__ = [
|
|
12
|
-
"WandbArtifactsIOManagerError",
|
|
13
|
-
"SerializationModule",
|
|
14
|
-
"wandb_resource",
|
|
15
|
-
"wandb_artifacts_io_manager",
|
|
16
|
-
"WandbArtifactConfiguration",
|
|
17
|
-
"run_launch_agent",
|
|
18
|
-
"run_launch_job",
|
|
19
|
-
]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.24.2"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|