{"id":26876,"library":"dagstermill","title":"dagstermill","description":"dagstermill integrates Jupyter notebooks into Dagster pipelines, allowing notebooks to be executed as solid computations with input/output dependencies. Current version 0.29.2, requires Python 3.10-3.14. Release cadence matches dagster core (monthly).","status":"active","version":"0.29.2","language":"python","source_language":"en","source_url":"https://github.com/dagster-io/dagster/tree/master/python_modules/libraries/dagstermill","tags":["dagster","jupyter","notebook","dags","papermill"],"install":[{"cmd":"pip install dagstermill","lang":"bash","label":"Install dagstermill"},{"cmd":"pip install dagstermill[pandas]","lang":"bash","label":"Install with pandas integration"}],"dependencies":[{"reason":"Core Dagster library required","package":"dagster","optional":false},{"reason":"Used to execute notebooks","package":"papermill","optional":false},{"reason":"Notebook conversion","package":"nbconvert","optional":false},{"reason":"Required for notebook execution","package":"ipykernel","optional":false}],"imports":[{"note":"Old import path deprecated in 0.14.x","wrong":"from dagstermill.core import define_dagstermill_solid","symbol":"define_dagstermill_solid","correct":"from dagstermill import define_dagstermill_solid"},{"note":"'solid' is deprecated in favor of 'op' since dagster 1.0","wrong":"from dagstermill import solid","symbol":"op","correct":"from dagstermill import op"}],"quickstart":{"code":"from dagster import job, op\nfrom dagstermill import define_dagstermill_op\n\nmy_notebook_op = define_dagstermill_op(\n    name='my_notebook_op',\n    notebook_path='notebooks/my_notebook.ipynb',\n    output_notebook_name='output.ipynb'\n)\n\n@job\ndef my_job():\n    my_notebook_op()\n\nif __name__ == '__main__':\n    result = my_job.execute_in_process()\n    print(result.success)","lang":"python","description":"Define a Dagster op that runs a Jupyter notebook. Note: define_dagstermill_op replaces the deprecated define_dagstermill_solid."},"warnings":[{"fix":"Replace define_dagstermill_solid with define_dagstermill_op and use @op/@job decorators.","message":"In dagster 1.0+, solids are renamed to ops. Use define_dagstermill_op instead of define_dagstermill_solid.","severity":"breaking","affected_versions":">=0.14.0"},{"fix":"In Jupyter, add a cell with default values and tag it as 'parameters' (use Cell Toolbar > Tags).","message":"Notebook must have a 'parameters' cell (tagged) to accept inputs. Without it, inputs are silently ignored.","severity":"gotcha","affected_versions":"all"},{"fix":"Remove execution_engine arguments; use default execution.","message":"Managed notebook execution (Engine/Resource) deprecated in favor of simple context.","severity":"deprecated","affected_versions":">=0.16.0"},{"fix":"Configure a filesystem or S3 io_manager to capture output notebooks.","message":"Output notebooks are stored in the run's output directory, not necessarily local. Use io_manager to persist.","severity":"gotcha","affected_versions":"all"},{"fix":"Use the 'output_notebook_name' parameter in define_dagstermill_op and handle via op outputs.","message":"The 'output_notebook' materialization is deprecated; use Dagster's dynamic output instead.","severity":"deprecated","affected_versions":">=0.17.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run 'pip install dagstermill' in the same Python environment where Dagster runs.","cause":"dagstermill not installed or installed in wrong environment.","error":"ModuleNotFoundError: No module named 'dagstermill'"},{"fix":"Set DAGSTER_HOME (e.g., export DAGSTER_HOME=/path/to/dagster_home) or run without persistent storage.","cause":"Dagster requires DAGSTER_HOME environment variable set for persistent run storage.","error":"KeyError: 'DAGSTER_HOME'"},{"fix":"Add a cell with parameter defaults and tag it as 'parameters' in Jupyter Notebook.","cause":"Input notebook lacks a tagged parameters cell.","error":"papermill.exceptions.PapermillMissingParameterException: Notebook does not have a cell with tag 'parameters'"},{"fix":"Upgrade dagstermill: pip install --upgrade dagstermill. Or use define_dagstermill_op.","cause":"Using older version of dagstermill (pre-0.14) where the function signature differs.","error":"TypeError: define_dagstermill_solid() got an unexpected keyword argument 'output_notebook_name'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}