dagstermill 0.26.6rc0__tar.gz → 0.26.7__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.

Potentially problematic release.


This version of dagstermill might be problematic. Click here for more details.

Files changed (31) hide show
  1. {dagstermill-0.26.6rc0/dagstermill.egg-info → dagstermill-0.26.7}/PKG-INFO +1 -1
  2. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill/__init__.py +1 -1
  3. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill/cli.py +1 -1
  4. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill/examples/repository.py +3 -3
  5. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill/factory.py +3 -3
  6. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill/serialize.py +2 -2
  7. dagstermill-0.26.7/dagstermill/test_utils.py +45 -0
  8. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill/translator.py +3 -3
  9. dagstermill-0.26.7/dagstermill/version.py +1 -0
  10. {dagstermill-0.26.6rc0 → dagstermill-0.26.7/dagstermill.egg-info}/PKG-INFO +1 -1
  11. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill.egg-info/SOURCES.txt +1 -0
  12. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill.egg-info/requires.txt +1 -1
  13. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/setup.py +1 -1
  14. dagstermill-0.26.6rc0/dagstermill/version.py +0 -1
  15. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/LICENSE +0 -0
  16. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/MANIFEST.in +0 -0
  17. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/README.md +0 -0
  18. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill/__main__.py +0 -0
  19. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill/asset_factory.py +0 -0
  20. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill/compat.py +0 -0
  21. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill/context.py +0 -0
  22. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill/engine.py +0 -0
  23. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill/errors.py +0 -0
  24. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill/examples/__init__.py +0 -0
  25. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill/io_managers.py +0 -0
  26. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill/manager.py +0 -0
  27. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill/py.typed +0 -0
  28. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill.egg-info/dependency_links.txt +0 -0
  29. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill.egg-info/entry_points.txt +0 -0
  30. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/dagstermill.egg-info/top_level.txt +0 -0
  31. {dagstermill-0.26.6rc0 → dagstermill-0.26.7}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dagstermill
3
- Version: 0.26.6rc0
3
+ Version: 0.26.7
4
4
  Summary: run notebooks using the Dagster tools
5
5
  Author: Dagster Labs
6
6
  Author-email: hello@dagsterlabs.com
@@ -1,4 +1,4 @@
1
- from dagster._core.libraries import DagsterLibraryRegistry
1
+ from dagster_shared.libraries import DagsterLibraryRegistry
2
2
 
3
3
  import dagstermill.factory as factory # noqa: F401
4
4
  from dagstermill.asset_factory import define_dagstermill_asset as define_dagstermill_asset
@@ -7,8 +7,8 @@ from typing import Optional
7
7
  import click
8
8
  import dagster._check as check
9
9
  import nbformat
10
- from dagster._seven.json import loads
11
10
  from dagster._utils import mkdir_p, safe_isfile
11
+ from dagster_shared.seven.json import loads
12
12
  from papermill.iorw import load_notebook_node, write_ipynb
13
13
 
14
14
 
@@ -303,12 +303,12 @@ def error_job():
303
303
 
304
304
  if DAGSTER_PANDAS_PRESENT and SKLEARN_PRESENT and MATPLOTLIB_PRESENT:
305
305
  # We need type-ignores here because type checkers don't understand the `*_PRESENT` kwargs.
306
- clean_data = test_nb_op("clean_data", outs={DEFAULT_OUTPUT: Out(DataFrame)})
306
+ clean_data = test_nb_op("clean_data", outs={DEFAULT_OUTPUT: Out(DataFrame)}) # pyright: ignore[reportPossiblyUnboundVariable]
307
307
 
308
308
  # FIXME add an output to this
309
- tutorial_LR = test_nb_op("tutorial_LR", ins={"df": In(DataFrame)})
309
+ tutorial_LR = test_nb_op("tutorial_LR", ins={"df": In(DataFrame)}) # pyright: ignore[reportPossiblyUnboundVariable]
310
310
 
311
- tutorial_RF = test_nb_op("tutorial_RF", ins={"df": In(DataFrame)})
311
+ tutorial_RF = test_nb_op("tutorial_RF", ins={"df": In(DataFrame)}) # pyright: ignore[reportPossiblyUnboundVariable]
312
312
 
313
313
  @job(resource_defs=common_resource_defs)
314
314
  def tutorial_job():
@@ -15,7 +15,6 @@ from dagster import (
15
15
  Out,
16
16
  Output,
17
17
  _check as check,
18
- _seven,
19
18
  )
20
19
  from dagster._annotations import beta
21
20
  from dagster._config.pythonic_config import Config, infer_schema_from_config_class
@@ -29,10 +28,11 @@ from dagster._core.execution.context.system import StepExecutionContext
29
28
  from dagster._core.execution.plan.outputs import StepOutputHandle
30
29
  from dagster._core.storage.tags import COMPUTE_KIND_TAG
31
30
  from dagster._serdes import pack_value
32
- from dagster._seven import get_system_temp_directory
33
31
  from dagster._utils import mkdir_p, safe_tempfile_path
34
32
  from dagster._utils.error import serializable_error_info_from_exc_info
35
33
  from dagster._utils.tags import normalize_tags
34
+ from dagster_shared import seven
35
+ from dagster_shared.seven import get_system_temp_directory
36
36
  from papermill.engines import papermill_engines
37
37
  from papermill.iorw import load_notebook_node, write_ipynb
38
38
 
@@ -105,7 +105,7 @@ def replace_parameters(context, nb, parameters):
105
105
  after = nb.cells
106
106
 
107
107
  nb.cells = before + [newcell] + after
108
- nb.metadata.papermill["parameters"] = _seven.json.dumps(parameters)
108
+ nb.metadata.papermill["parameters"] = seven.json.dumps(parameters)
109
109
 
110
110
  return nb
111
111
 
@@ -1,11 +1,11 @@
1
- from dagster import _seven
1
+ from dagster_shared import seven
2
2
 
3
3
  PICKLE_PROTOCOL = 2
4
4
 
5
5
 
6
6
  def is_json_serializable(value):
7
7
  try:
8
- _seven.json.dumps(value)
8
+ seven.json.dumps(value)
9
9
  return True
10
10
  except TypeError:
11
11
  return False
@@ -0,0 +1,45 @@
1
+ import os
2
+ from contextlib import contextmanager
3
+
4
+ from dagster import execute_job
5
+ from dagster._core.definitions.metadata import NotebookMetadataValue, PathMetadataValue
6
+ from dagster._core.definitions.reconstruct import ReconstructableJob
7
+ from dagster._core.test_utils import instance_for_test
8
+
9
+
10
+ def get_path(materialization_event):
11
+ for value in materialization_event.event_specific_data.materialization.metadata.values():
12
+ if isinstance(value, (PathMetadataValue, NotebookMetadataValue)):
13
+ return value.path
14
+
15
+
16
+ def cleanup_result_notebook(result):
17
+ if not result:
18
+ return
19
+ materialization_events = [
20
+ x for x in result.all_events if x.event_type_value == "ASSET_MATERIALIZATION"
21
+ ]
22
+ for materialization_event in materialization_events:
23
+ result_path = get_path(materialization_event)
24
+ if os.path.exists(result_path): # pyright: ignore[reportArgumentType]
25
+ os.unlink(result_path) # pyright: ignore[reportArgumentType]
26
+
27
+
28
+ @contextmanager
29
+ def exec_for_test(fn_name, env=None, raise_on_error=True, **kwargs):
30
+ result = None
31
+ recon_job = ReconstructableJob.for_module("dagstermill.examples.repository", fn_name)
32
+
33
+ with instance_for_test() as instance:
34
+ try:
35
+ with execute_job(
36
+ job=recon_job,
37
+ run_config=env,
38
+ instance=instance,
39
+ raise_on_error=raise_on_error,
40
+ **kwargs,
41
+ ) as result:
42
+ yield result
43
+ finally:
44
+ if result:
45
+ cleanup_result_notebook(result)
@@ -1,6 +1,6 @@
1
1
  import papermill
2
2
  import papermill.translators
3
- from dagster import _seven
3
+ from dagster_shared import seven
4
4
 
5
5
  RESERVED_INPUT_NAMES = [
6
6
  "__dm_context",
@@ -16,7 +16,7 @@ RESERVED_INPUT_NAMES = [
16
16
 
17
17
  INJECTED_BOILERPLATE = """
18
18
  # Injected parameters
19
- from dagster import seven as __dm_seven
19
+ from dagster_shared import seven as __dm_seven
20
20
  import dagstermill as __dm_dagstermill
21
21
  context = __dm_dagstermill._reconstitute_job_context(
22
22
  **{{
@@ -51,7 +51,7 @@ class DagsterTranslator(papermill.translators.PythonTranslator):
51
51
  )
52
52
 
53
53
  for key in job_context_args:
54
- job_context_args[key] = _seven.json.dumps(job_context_args[key])
54
+ job_context_args[key] = seven.json.dumps(job_context_args[key])
55
55
 
56
56
  content = INJECTED_BOILERPLATE.format(job_context_args=job_context_args)
57
57
 
@@ -0,0 +1 @@
1
+ __version__ = "0.26.7"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dagstermill
3
- Version: 0.26.6rc0
3
+ Version: 0.26.7
4
4
  Summary: run notebooks using the Dagster tools
5
5
  Author: Dagster Labs
6
6
  Author-email: hello@dagsterlabs.com
@@ -16,6 +16,7 @@ dagstermill/io_managers.py
16
16
  dagstermill/manager.py
17
17
  dagstermill/py.typed
18
18
  dagstermill/serialize.py
19
+ dagstermill/test_utils.py
19
20
  dagstermill/translator.py
20
21
  dagstermill/version.py
21
22
  dagstermill.egg-info/PKG-INFO
@@ -1,4 +1,4 @@
1
- dagster==1.10.6rc0
1
+ dagster==1.10.7
2
2
  ipykernel!=5.4.0,!=5.4.1,>=4.9.0
3
3
  ipython_genutils>=0.2.0
4
4
  packaging>=20.9
@@ -31,7 +31,7 @@ setup(
31
31
  ],
32
32
  python_requires=">=3.9,<3.13",
33
33
  install_requires=[
34
- "dagster==1.10.6rc0",
34
+ "dagster==1.10.7",
35
35
  # ipykernel 5.4.0 and 5.4.1 broke papermill
36
36
  # see https://github.com/dagster-io/dagster/issues/3401,
37
37
  # https://github.com/nteract/papermill/issues/519,
@@ -1 +0,0 @@
1
- __version__ = "0.26.6rc0"
File without changes
File without changes
File without changes