{"pageProps":{"type":"MDX","data":{"mdxSource":{"compiledSource":"\"use strict\";\n\nvar _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar layoutProps = {};\nvar MDXLayout = \"wrapper\";\n\nfunction MDXContent(_ref) {\n var components = _ref.components,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return mdx(MDXLayout, _extends({}, layoutProps, props, {\n components: components,\n mdxType: \"MDXLayout\"\n }), mdx(\"h1\", {\n \"id\": \"software-defined-assets\",\n \"className\": \"scroll-margin-top\"\n }, \"Software-Defined Assets\", mdx(\"a\", {\n parentName: \"h1\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#software-defined-assets\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"p\", null, \"A software-defined asset is a description of how to compute the contents of a particular data asset.\"), mdx(\"h2\", {\n \"id\": \"relevant-apis\",\n \"className\": \"scroll-margin-top\"\n }, \"Relevant APIs\", mdx(\"a\", {\n parentName: \"h2\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#relevant-apis\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"table\", null, mdx(\"thead\", {\n parentName: \"table\"\n }, mdx(\"tr\", {\n parentName: \"thead\"\n }, mdx(\"th\", {\n parentName: \"tr\",\n \"align\": null\n }, \"Name\"), mdx(\"th\", {\n parentName: \"tr\",\n \"align\": null\n }, \"Description\"))), mdx(\"tbody\", {\n parentName: \"table\"\n }, mdx(\"tr\", {\n parentName: \"tbody\"\n }, mdx(\"td\", {\n parentName: \"tr\",\n \"align\": null\n }, mdx(PyObject, {\n object: \"asset\",\n decorator: true,\n mdxType: \"PyObject\"\n })), mdx(\"td\", {\n parentName: \"tr\",\n \"align\": null\n }, \"A decorator used to define assets.\")), mdx(\"tr\", {\n parentName: \"tbody\"\n }, mdx(\"td\", {\n parentName: \"tr\",\n \"align\": null\n }, mdx(PyObject, {\n object: \"AssetGroup\",\n mdxType: \"PyObject\"\n })), mdx(\"td\", {\n parentName: \"tr\",\n \"align\": null\n }, \"A group of software-defined assets.\")), mdx(\"tr\", {\n parentName: \"tbody\"\n }, mdx(\"td\", {\n parentName: \"tr\",\n \"align\": null\n }, mdx(PyObject, {\n object: \"SourceAsset\",\n mdxType: \"PyObject\"\n })), mdx(\"td\", {\n parentName: \"tr\",\n \"align\": null\n }, \"A class that describes an asset, but doesn't define how to compute it. Within an \", mdx(PyObject, {\n object: \"AssetGroup\",\n mdxType: \"PyObject\"\n }), \", \", mdx(PyObject, {\n object: \"SourceAsset\",\n mdxType: \"PyObject\"\n }), \"s are used to represent assets that other assets depend on, but can't be materialized themselves.\")))), mdx(\"h2\", {\n \"id\": \"overview\",\n \"className\": \"scroll-margin-top\"\n }, \"Overview\", mdx(\"a\", {\n parentName: \"h2\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#overview\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"p\", null, \"An \\\"asset\\\" is an object in persistent storage, e.g. a table, a file, or a persisted machine learning model. A software-defined asset is a Dagster object that couples an asset to the function and upstream assets that are used to produce its contents. Software-defined assets enable a declarative approach to data management, in which your code is the source of truth on what data assets should exist and how those assets are computed.\"), mdx(\"p\", null, \"A software-defined asset includes three main components:\"), mdx(\"ul\", null, mdx(\"li\", {\n parentName: \"ul\"\n }, \"An \", mdx(PyObject, {\n object: \"AssetKey\",\n mdxType: \"PyObject\"\n }), \", which is a handle for referring to the asset.\"), mdx(\"li\", {\n parentName: \"ul\"\n }, \"A set of upstream asset keys, which refer to assets that the contents of the software-defined asset are derived from.\"), mdx(\"li\", {\n parentName: \"ul\"\n }, \"An \", mdx(\"a\", {\n parentName: \"li\",\n \"href\": \"/concepts/ops-jobs-graphs/ops\"\n }, \"op\"), \", which is a function responsible for computing the contents of the asset from its upstream dependencies.\")), mdx(\"p\", null, \"A crucial distinction between software-defined assets and \", mdx(\"a\", {\n parentName: \"p\",\n \"href\": \"/concepts/ops-jobs-graphs/ops\"\n }, \"ops\"), \" is that software-defined assets know about their dependencies, while ops do not. Ops aren't hooked up to dependencies until they're placed inside a \", mdx(\"a\", {\n parentName: \"p\",\n \"href\": \"/concepts/ops-jobs-graphs/jobs-graphs\"\n }, \"graph\"), \".\"), mdx(\"p\", null, \"\\\"Materializing\\\" an asset is the act of running its op and saving the results to persistent storage. You can initiate materializations from \", mdx(\"a\", {\n parentName: \"p\",\n \"href\": \"/concepts/dagit/dagit\"\n }, \"Dagit\"), \", Dagster's web UI, or by invoking Python APIs. By default, assets are materialized to pickle files on your local filesystem, but materialization behavior is \", mdx(\"a\", {\n parentName: \"p\",\n \"href\": \"#customizing-how-assets-are-materialized-with-io-managers\"\n }, \"fully customizable\"), \".\"), mdx(\"p\", null, \"A single software-defined asset might be represented in multiple storage environments - e.g. it might have a \\\"production\\\" version and a \\\"staging\\\" version.\"), mdx(\"h2\", {\n \"id\": \"defining-assets\",\n \"className\": \"scroll-margin-top\"\n }, \"Defining assets\", mdx(\"a\", {\n parentName: \"h2\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#defining-assets\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"h3\", {\n \"id\": \"a-basic-software-defined-asset\",\n \"className\": \"scroll-margin-top\"\n }, \"A basic software-defined asset\", mdx(\"a\", {\n parentName: \"h3\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#a-basic-software-defined-asset\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"p\", null, \"The easiest way to create a software-defined asset is with the \", mdx(PyObject, {\n object: \"asset\",\n decorator: true,\n mdxType: \"PyObject\"\n }), \" decorator.\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/basic_asset_definition.py\",\n \"file\": \"/concepts/assets/basic_asset_definition.py\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"from\"), \" dagster \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"import\"), \" asset\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"my_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"1\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"2\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"3\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\")), mdx(\"p\", null, \"By default, the name of the decorated function, \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"my_asset\"), \", is used as the asset key. The decorated function forms the asset's op: it's responsible for producing the asset's contents. This asset doesn't depend on any other assets.\"), mdx(\"h3\", {\n \"id\": \"assets-with-dependencies\",\n \"className\": \"scroll-margin-top\"\n }, \"Assets with dependencies\", mdx(\"a\", {\n parentName: \"h3\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#assets-with-dependencies\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"p\", null, \"Software-defined assets can depend on other software-defined assets. The easiest way to define an asset dependency is to include an upstream asset name as an argument to the decorated function. In the following example, \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"downstream_asset\"), \" depends on \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"upstream_asset\"), \". That means that the contents of \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"upstream_asset\"), \" are provided to the function that computes the contents of \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"downstream_asset\"), \".\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/asset_dependency.py startafter=start_marker endbefore=end_marker\",\n \"file\": \"/concepts/assets/asset_dependency.py\",\n \"startafter\": \"start_marker\",\n \"endbefore\": \"end_marker\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"upstream_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"1\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"2\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"3\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"downstream_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"upstream_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" upstream_asset \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"+\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"4\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\")), mdx(\"p\", null, \"The \", mdx(\"a\", {\n parentName: \"p\",\n \"href\": \"#explicit-dependencies\"\n }, \"explicit dependencies\"), \" example covers an alternative way to specify asset dependencies without needing to match argument names to upstream asset names.\"), mdx(\"h2\", {\n \"id\": \"combining-assets-in-groups\",\n \"className\": \"scroll-margin-top\"\n }, \"Combining assets in groups\", mdx(\"a\", {\n parentName: \"h2\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#combining-assets-in-groups\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"p\", null, \"To materialize assets or load them in Dagit, you first need to combine them into an \", mdx(PyObject, {\n object: \"AssetGroup\",\n mdxType: \"PyObject\"\n }), \", which is a set of assets with no unsatisfied dependencies. For example:\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/asset_group.py startafter=start_marker endbefore=end_marker\",\n \"file\": \"/concepts/assets/asset_group.py\",\n \"startafter\": \"start_marker\",\n \"endbefore\": \"end_marker\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"from\"), \" dagster \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"import\"), \" AssetGroup\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" asset\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"upstream_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"1\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"2\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"3\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"downstream_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"upstream_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" upstream_asset \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"+\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"4\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\\n\\nasset_group \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), \" AssetGroup\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), \"upstream_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" downstream_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\")), mdx(\"p\", null, \"To save you from needing to add each asset individually to the group, Dagster provides the \", mdx(PyObject, {\n object: \"AssetGroup\",\n method: \"from_package_name\",\n mdxType: \"PyObject\"\n }), \" method for building \", mdx(PyObject, {\n object: \"AssetGroup\",\n mdxType: \"PyObject\"\n }), \"s out of all the assets within all Python modules underneath a Python package:\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/from_package_name.py\",\n \"file\": \"/concepts/assets/from_package_name.py\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"from\"), \" dagster \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"import\"), \" AssetGroup\\n\\nasset_group \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), \" AssetGroup\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \".\"), \"from_package_name\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"docs_snippets.concepts.assets.package_with_assets\\\"\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\")), mdx(\"p\", null, \"Once assets are bundled into an asset group, you can:\"), mdx(\"ul\", null, mdx(\"li\", {\n parentName: \"ul\"\n }, mdx(\"a\", {\n parentName: \"li\",\n \"href\": \"#viewing-assets-in-dagit\"\n }, \"View them in Dagit\"), \".\"), mdx(\"li\", {\n parentName: \"ul\"\n }, mdx(\"a\", {\n parentName: \"li\",\n \"href\": \"#materializing-assets-in-dagit\"\n }, \"Materialize an ad-hoc set of them in Dagit\"), \".\"), mdx(\"li\", {\n parentName: \"ul\"\n }, mdx(\"a\", {\n parentName: \"li\",\n \"href\": \"#building-jobs-that-materialize-assets\"\n }, \"Build a job\"), \", which materializes a fixed selection of the assets in the group, and can be put on a schedule or sensor.\")), mdx(\"h2\", {\n \"id\": \"viewing-and-materializing-assets-in-dagit\",\n \"className\": \"scroll-margin-top\"\n }, \"Viewing and materializing assets in Dagit\", mdx(\"a\", {\n parentName: \"h2\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#viewing-and-materializing-assets-in-dagit\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"h3\", {\n \"id\": \"loading-assets-into-dagit\",\n \"className\": \"scroll-margin-top\"\n }, \"Loading assets into Dagit\", mdx(\"a\", {\n parentName: \"h3\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#loading-assets-into-dagit\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"p\", null, \"To view and materialize assets in Dagit, you can point it at a module that contains an \", mdx(PyObject, {\n object: \"AssetGroup\",\n mdxType: \"PyObject\"\n }), \". E.g.\"), mdx(\"pre\", null, mdx(\"code\", {\n parentName: \"pre\"\n }, \"dagit -m module_with_asset_group\\n\")), mdx(\"p\", null, \"If you want Dagit to contain both an asset group and a set of \", mdx(\"a\", {\n parentName: \"p\",\n \"href\": \"/concepts/ops-jobs-graphs/jobs-graphs\"\n }, \"jobs\"), \" that target the assets, you can place the \", mdx(PyObject, {\n object: \"AssetGroup\",\n mdxType: \"PyObject\"\n }), \" and jobs together inside a \", mdx(\"a\", {\n parentName: \"p\",\n \"href\": \"/concepts/repositories-workspaces/repositories\"\n }, \"repository\"), \".\"), mdx(\"h3\", {\n \"id\": \"viewing-assets-in-dagit\",\n \"className\": \"scroll-margin-top\"\n }, \"Viewing assets in Dagit\", mdx(\"a\", {\n parentName: \"h3\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#viewing-assets-in-dagit\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"p\", null, \"Clicking on \\\"Assets\\\", in the right section of Dagit's top navigation pane, takes you to the Asset Catalog, which shows a list of all your assets.\"), mdx(\"img\", {\n alt: \"Asset Catalog\",\n src: \"/images/concepts/assets/software-defined-assets/catalog.png\"\n }), mdx(\"p\", null, \"Clicking on the name of one of these assets will take you to the Asset Details Page for that asset.\"), mdx(\"img\", {\n alt: \"Asset Details\",\n src: \"/images/concepts/assets/software-defined-assets/details.png\"\n }), mdx(\"p\", null, \"You can view a graph of all the assets with their dependencies by clicking the graph icon to the upper-left of the Asset Catalog, or by clicking \\\"View in Graph\\\" on any of the assets.\"), mdx(\"img\", {\n alt: \"Asset Graph\",\n src: \"/images/concepts/assets/software-defined-assets/graph.png\"\n }), mdx(\"h3\", {\n \"id\": \"materializing-assets-in-dagit\",\n \"className\": \"scroll-margin-top\"\n }, \"Materializing assets in Dagit\", mdx(\"a\", {\n parentName: \"h3\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#materializing-assets-in-dagit\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"p\", null, \"There are a couple ways in Dagit to launch a run that materializes assets:\"), mdx(\"ul\", null, mdx(\"li\", {\n parentName: \"ul\"\n }, \"Navigate to the Asset Details Page for the asset and click the \\\"Materialize\\\" button in the upper right corner.\"), mdx(\"li\", {\n parentName: \"ul\"\n }, \"In the graph view of the Asset Catalog page, click the \\\"Materialize\\\" button in the upper right corner. You can click on assets to collect a subset to materialize.\")), mdx(\"h2\", {\n \"id\": \"source-assets---representing-assets-are-generated-somewhere-else\",\n \"className\": \"scroll-margin-top\"\n }, \"Source assets - representing assets are generated somewhere else\", mdx(\"a\", {\n parentName: \"h2\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#source-assets---representing-assets-are-generated-somewhere-else\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"p\", null, \"It's common for software-defined assets to depend on assets that are generated somewhere else. For example, your data warehouse might contain a set of tables that another team is responsible for ingesting, but that your assets are derived from. To allow the assets in your \", mdx(PyObject, {\n object: \"AssetGroup\",\n mdxType: \"PyObject\"\n }), \" to depend on them, you can include \", mdx(PyObject, {\n object: \"SourceAsset\",\n mdxType: \"PyObject\"\n }), \"s that represent them.\"), mdx(\"p\", null, \"For example:\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/source_asset.py startafter=start_marker endbefore=end_marker\",\n \"file\": \"/concepts/assets/source_asset.py\",\n \"startafter\": \"start_marker\",\n \"endbefore\": \"end_marker\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"from\"), \" dagster \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"import\"), \" AssetGroup\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" AssetKey\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" SourceAsset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" asset\\n\\nmy_source_asset \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), \" SourceAsset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"key\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), \"AssetKey\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"my_source_asset\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"my_derived_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"my_source_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" my_source_asset \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"+\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"4\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\\n\\nasset_group \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), \" AssetGroup\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"assets\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), \"my_derived_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" source_assets\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), \"my_source_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\")), mdx(\"p\", null, \"In any situation where you might use a source asset, you could also have the code inside the asset's op load the data. However, using source assets has a few advantages:\"), mdx(\"ul\", null, mdx(\"li\", {\n parentName: \"ul\"\n }, \"It allows Dagit to show asset lineage that includes the source assets. If a different \", mdx(PyObject, {\n object: \"AssetGroup\",\n mdxType: \"PyObject\"\n }), \" in the same \", mdx(\"a\", {\n parentName: \"li\",\n \"href\": \"/concepts/repositories-workspaces/workspaces\"\n }, \"workspace\"), \" contains an asset definition with the same asset key as a \", mdx(PyObject, {\n object: \"SourceAsset\",\n mdxType: \"PyObject\"\n }), \", Dagit can represent the asset lineage across those groups.\"), mdx(\"li\", {\n parentName: \"ul\"\n }, \"If you've already factored your data-loading code into an \", mdx(PyObject, {\n object: \"IOManager\",\n mdxType: \"PyObject\"\n }), \", Dagster can use it to load the contents of your source asset.\"), mdx(\"li\", {\n parentName: \"ul\"\n }, \"It allows you to write your asset dependencies in the same way, independent of whether they're downstream from a source asset or a derived asset. This makes it easy to swap out a source asset for a derived asset and vice versa.\")), mdx(\"h3\", {\n \"id\": \"customizing-how-assets-are-materialized-with-io-managers\",\n \"className\": \"scroll-margin-top\"\n }, \"Customizing how assets are materialized with IO managers\", mdx(\"a\", {\n parentName: \"h3\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#customizing-how-assets-are-materialized-with-io-managers\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"p\", null, \"By default, materializing an asset will pickle it to a local file named \\\"my_asset\\\", in a temporary directory. You can specify this directory by providing a value for the \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"local_artifact_storage\"), \" property in your dagster.yaml file.\"), mdx(\"p\", null, mdx(\"a\", {\n parentName: \"p\",\n \"href\": \"/concepts/io-management/io-managers\"\n }, \"IO managers\"), \" enable fully overriding this behavior and storing asset contents in any way you wish - e.g. writing them as tables in a database or as objects in a cloud object store. Dagster also provides built-in IO managers that pickle assets to AWS S3 (\", mdx(PyObject, {\n module: \"dagster_aws.s3\",\n object: \"s3_pickle_asset_io_manager\",\n mdxType: \"PyObject\"\n }), \"), Azure Blob Storage (\", mdx(PyObject, {\n module: \"dagster_azure.adls2\",\n object: \"adls2_pickle_asset_io_manager\",\n mdxType: \"PyObject\"\n }), \"), and GCS (\", mdx(PyObject, {\n module: \"dagster_gcp.gcs\",\n object: \"gcs_pickle_asset_io_manager\",\n mdxType: \"PyObject\"\n }), \"), or you can write your own.\"), mdx(\"p\", null, \"To apply an IO manager to a set of assets, you can include it with them in an \", mdx(PyObject, {\n object: \"AssetGroup\",\n mdxType: \"PyObject\"\n }), \".\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/asset_io_manager.py startafter=start_marker endbefore=end_marker\",\n \"file\": \"/concepts/assets/asset_io_manager.py\",\n \"startafter\": \"start_marker\",\n \"endbefore\": \"end_marker\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"from\"), \" dagster_aws\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \".\"), \"s3 \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"import\"), \" s3_pickle_asset_io_manager\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" s3_resource\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"from\"), \" dagster \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"import\"), \" AssetGroup\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" asset\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"upstream_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"1\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"2\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"3\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"downstream_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"upstream_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" upstream_asset \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"+\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"4\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\\n\\nasset_group \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), \" AssetGroup\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), \"upstream_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" downstream_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \"\\n resource_defs\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"{\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"io_manager\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \" s3_pickle_asset_io_manager\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"s3\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \" s3_resource\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"}\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\")), mdx(\"p\", null, \"This example also includes \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"\\\"s3\\\": s3_resource\"), \", because the \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"s3_pickle_asset_io_manager\"), \" depends on an s3 resource.\"), mdx(\"p\", null, \"When \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"upstream_asset\"), \" is materialized, the value \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"[1, 2, 3]\"), \" will be will be pickled and stored in an object on S3. When \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"downstream_asset\"), \" is materialized, the value of \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"upstream_asset\"), \" will be read from S3 and depickled, and \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"[1, 2, 3, 4]\"), \" will be pickled and stored in a different object on S3.\"), mdx(\"p\", null, \"Different assets can have different IO managers:\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/asset_different_io_managers.py startafter=start_marker endbefore=end_marker\",\n \"file\": \"/concepts/assets/asset_different_io_managers.py\",\n \"startafter\": \"start_marker\",\n \"endbefore\": \"end_marker\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"from\"), \" dagster_aws\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \".\"), \"s3 \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"import\"), \" s3_pickle_asset_io_manager\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" s3_resource\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"from\"), \" dagster \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"import\"), \" AssetGroup\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" fs_asset_io_manager\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"io_manager_key\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"s3_io_manager\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"upstream_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"1\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"2\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"3\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"io_manager_key\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"fs_io_manager\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"downstream_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"upstream_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" upstream_asset \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"+\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"4\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\\n\\nasset_group \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), \" AssetGroup\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), \"upstream_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" downstream_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \"\\n resource_defs\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"{\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"s3_io_manager\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \" s3_pickle_asset_io_manager\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"s3\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \" s3_resource\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"fs_io_manager\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \" fs_asset_io_manager\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"}\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\")), mdx(\"p\", null, \"When \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"upstream_asset\"), \" is materialized, the value \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"[1, 2, 3]\"), \" will be will be pickled and stored in an object on S3. When \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"downstream_asset\"), \" is materialized, the value of \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"upstream_asset\"), \" will be read from S3 and depickled, and \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"[1, 2, 3, 4]\"), \" will be pickled and stored in a file on the local filesystem.\"), mdx(\"p\", null, \"The same assets can be bound to different resources and IO managers in different environments. For example, for local development, you might want to store assets on your local filesystem while, in production, you might want to store the assets in S3.\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/asset_io_manager_prod_local.py startafter=start_marker endbefore=end_marker\",\n \"file\": \"/concepts/assets/asset_io_manager_prod_local.py\",\n \"startafter\": \"start_marker\",\n \"endbefore\": \"end_marker\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"from\"), \" dagster_aws\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \".\"), \"s3 \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"import\"), \" s3_pickle_asset_io_manager\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" s3_resource\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"from\"), \" dagster \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"import\"), \" AssetGroup\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" fs_asset_io_manager\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"upstream_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"1\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"2\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"3\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"downstream_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"upstream_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" upstream_asset \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"+\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"4\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\\n\\nprod_asset_group \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), \" AssetGroup\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), \"upstream_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" downstream_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \"\\n resource_defs\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"{\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"io_manager\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \" s3_pickle_asset_io_manager\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"s3\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \" s3_resource\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"}\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\\nlocal_asset_group \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), \" AssetGroup\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), \"upstream_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" downstream_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \"\\n resource_defs\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"{\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"io_manager\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \" fs_asset_io_manager\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"}\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\")), mdx(\"h2\", {\n \"id\": \"building-jobs-that-materialize-assets\",\n \"className\": \"scroll-margin-top\"\n }, \"Building jobs that materialize assets\", mdx(\"a\", {\n parentName: \"h2\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#building-jobs-that-materialize-assets\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"p\", null, \"You can define a job that materializes a fixed selection of the assets in an \", mdx(PyObject, {\n object: \"AssetGroup\",\n mdxType: \"PyObject\"\n }), \" each time it runs.\"), mdx(\"p\", null, \"The following snippet shows examples of three different jobs you might create out of an \", mdx(PyObject, {\n object: \"AssetGroup\",\n mdxType: \"PyObject\"\n }), \".\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/build_job.py startafter=start_marker endbefore=end_marker\",\n \"file\": \"/concepts/assets/build_job.py\",\n \"startafter\": \"start_marker\",\n \"endbefore\": \"end_marker\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"from\"), \" dagster \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"import\"), \" AssetGroup\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" asset\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"upstream\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"1\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"2\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"3\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"downstream_1\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"upstream\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" upstream \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"+\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"4\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"downstream_2\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"upstream\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token builtin\"\n }, \"len\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"upstream\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\\n\\nasset_group \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), \" AssetGroup\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), \"upstream\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" downstream_1\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" downstream_2\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\\nall_assets \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), \" asset_group\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \".\"), \"build_job\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"name\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"my_asset_job\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\\ndownstream_assets \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), \" asset_group\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \".\"), \"build_job\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"\\n name\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"my_asset_job\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" selection\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"upstream\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"downstream_1\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\\nupstream_and_downstream_1 \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), \" asset_group\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \".\"), \"build_job\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"\\n name\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"my_asset_job\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" selection\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"*downstream_1\\\"\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\")), mdx(\"p\", null, \"Multiple jobs within the same repository can target overlapping sets of assets.\"), mdx(\"p\", null, \"Like regular jobs, asset jobs can be placed on \", mdx(\"a\", {\n parentName: \"p\",\n \"href\": \"/concepts/partitions-schedules-sensors/schedules\"\n }, \"schedules\"), \" and \", mdx(\"a\", {\n parentName: \"p\",\n \"href\": \"/concepts/partitions-schedules-sensors/sensors\"\n }, \"sensors\"), \".\"), mdx(\"h2\", {\n \"id\": \"testing\",\n \"className\": \"scroll-margin-top\"\n }, \"Testing\", mdx(\"a\", {\n parentName: \"h2\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#testing\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"p\", null, \"When writing unit tests, you can treat the function decorated by \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"@asset\"), \" as a regular python function.\"), mdx(\"p\", null, \"Consider a simple asset with no upstream dependencies:\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/asset_testing.py startafter=start_simple_asset endbefore=end_simple_asset\",\n \"file\": \"/concepts/assets/asset_testing.py\",\n \"startafter\": \"start_simple_asset\",\n \"endbefore\": \"end_simple_asset\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"my_simple_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"1\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"2\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"3\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\")), mdx(\"p\", null, \"When writing a unit test, you can directly invoke the decorated function.\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/asset_testing.py startafter=start_test_simple_asset endbefore=end_test_simple_asset\",\n \"file\": \"/concepts/assets/asset_testing.py\",\n \"startafter\": \"start_test_simple_asset\",\n \"endbefore\": \"end_test_simple_asset\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"test_my_simple_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n result \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), \" my_simple_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"assert\"), \" result \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"==\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"1\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"2\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"3\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\")), mdx(\"p\", null, \"If you have an asset with upstream dependencies:\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/asset_testing.py startafter=start_more_complex_asset endbefore=end_more_complex_asset\",\n \"file\": \"/concepts/assets/asset_testing.py\",\n \"startafter\": \"start_more_complex_asset\",\n \"endbefore\": \"end_more_complex_asset\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"more_complex_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"my_simple_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" my_simple_asset \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"+\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"4\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"5\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"6\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\")), mdx(\"p\", null, \"You can manually provide values for those dependencies in your unit test. This allows you to test assets in isolation from one another.\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/asset_testing.py startafter=start_test_more_complex_asset endbefore=end_test_more_complex_asset\",\n \"file\": \"/concepts/assets/asset_testing.py\",\n \"startafter\": \"start_test_more_complex_asset\",\n \"endbefore\": \"end_test_more_complex_asset\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"test_more_complex_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n result \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), \" more_complex_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"0\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"assert\"), \" result \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"==\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"0\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"4\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"5\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"6\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\")), mdx(\"p\", null, \"If you use a context object in your function, \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"@asset\"), \" will provide the correct context during execution. When writing a unit test, you can mock it with \", mdx(PyObject, {\n object: \"build_op_context\",\n mdxType: \"PyObject\"\n }), \". You can use \", mdx(PyObject, {\n object: \"build_op_context\",\n mdxType: \"PyObject\"\n }), \" to generate the \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"context\"), \" object because under the hood the function decorated by \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"@asset\"), \" is an op.\"), mdx(\"p\", null, \"Consider this asset that uses a resource:\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/asset_testing.py startafter=start_with_context_asset endbefore=end_with_context_asset\",\n \"file\": \"/concepts/assets/asset_testing.py\",\n \"startafter\": \"start_with_context_asset\",\n \"endbefore\": \"end_with_context_asset\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"uses_context\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"context\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" context\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \".\"), \"resources\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \".\"), \"foo\\n\")), mdx(\"p\", null, \"When writing a unit test, use \", mdx(PyObject, {\n object: \"build_op_context\",\n mdxType: \"PyObject\"\n }), \" to mock the \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"context\"), \" and provide values for testing.\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/asset_testing.py startafter=start_test_with_context_asset endbefore=end_test_with_context_asset\",\n \"file\": \"/concepts/assets/asset_testing.py\",\n \"startafter\": \"start_test_with_context_asset\",\n \"endbefore\": \"end_test_with_context_asset\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"test_uses_context\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n context \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), \" build_op_context\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"resources\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"{\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"foo\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"bar\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"}\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n result \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), \" uses_context\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"context\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"assert\"), \" result \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"==\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"bar\\\"\"), \"\\n\")), mdx(\"h2\", {\n \"id\": \"examples\",\n \"className\": \"scroll-margin-top\"\n }, \"Examples\", mdx(\"a\", {\n parentName: \"h2\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#examples\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"h3\", {\n \"id\": \"multi-component-asset-keys\",\n \"className\": \"scroll-margin-top\"\n }, \"Multi-component asset keys\", mdx(\"a\", {\n parentName: \"h3\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#multi-component-asset-keys\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"p\", null, \"Assets are often objects in systems with hierarchical namespaces, like filesystems. Because of this, it often makes sense for an asset key to be a list of strings, instead of just a single string.\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/multi_component_asset_key.py startafter=start_marker endbefore=end_marker\",\n \"file\": \"/concepts/assets/multi_component_asset_key.py\",\n \"startafter\": \"start_marker\",\n \"endbefore\": \"end_marker\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"from\"), \" dagster \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"import\"), \" AssetIn\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" asset\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"namespace\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"one\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"two\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"three\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"upstream_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"1\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"2\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"3\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"ins\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"{\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"upstream_asset\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \" AssetIn\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"namespace\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"one\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"two\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"three\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"}\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"downstream_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"upstream_asset\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" upstream_asset \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"+\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"4\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\")), mdx(\"h3\", {\n \"id\": \"explicit-dependencies\",\n \"className\": \"scroll-margin-top\"\n }, \"Explicit dependencies\", mdx(\"a\", {\n parentName: \"h3\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#explicit-dependencies\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"p\", null, \"If defining dependencies by matching argument names to upstream asset names feels too magical for your tastes, you can also define dependencies in a more explicit way:\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/explicit_asset_dependency.py\",\n \"file\": \"/concepts/assets/explicit_asset_dependency.py\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"from\"), \" dagster \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"import\"), \" AssetIn\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" asset\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"upstream_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"1\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"2\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \",\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"3\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\\n\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"ins\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"{\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"upstream\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \" AssetIn\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"upstream_asset\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"}\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"downstream_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"upstream\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" upstream \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"+\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"[\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token number\"\n }, \"4\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"]\"), \"\\n\")), mdx(\"p\", null, \"In this case, \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"ins={\\\"upstream\\\": AssetIn(\\\"upstream_asset\\\")}\"), \" declares that the contents of the asset with the key \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"upstream_asset\"), \" will be provided to the function argument named \", mdx(\"inlineCode\", {\n parentName: \"p\"\n }, \"upstream\"), \".\"), mdx(\"h3\", {\n \"id\": \"using-context-in-assets\",\n \"className\": \"scroll-margin-top\"\n }, \"Using context in assets\", mdx(\"a\", {\n parentName: \"h3\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#using-context-in-assets\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"p\", null, \"Since a software-defined asset contains an op, all of the typical functionality of an op (like the use of resources) is available to an asset.\"), mdx(\"pre\", {\n \"className\": \"language-python\"\n }, mdx(\"code\", {\n parentName: \"pre\",\n \"className\": \"language-python\",\n \"metastring\": \"file=/concepts/assets/asset_w_context.py startafter=start_w_context endbefore=end_w_context\",\n \"file\": \"/concepts/assets/asset_w_context.py\",\n \"startafter\": \"start_w_context\",\n \"endbefore\": \"end_w_context\"\n }, mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token decorator annotation punctuation\"\n }, \"@asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"required_resource_keys\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token operator\"\n }, \"=\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"{\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"api\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"}\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"def\"), \" \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token function\"\n }, \"my_asset\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), \"context\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \":\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token comment\"\n }, \"# fetches contents of an asset\"), \"\\n \", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token keyword\"\n }, \"return\"), \" context\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \".\"), \"resources\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \".\"), \"api\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \".\"), \"fetch_table\", mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \"(\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token string\"\n }, \"\\\"my_asset\\\"\"), mdx(\"span\", {\n parentName: \"code\",\n \"className\": \"token punctuation\"\n }, \")\"), \"\\n\")), mdx(\"h2\", {\n \"id\": \"further-reading\",\n \"className\": \"scroll-margin-top\"\n }, \"Further Reading\", mdx(\"a\", {\n parentName: \"h2\",\n \"className\": \"no-underline group\",\n \"style\": {\n \"scrollMarginTop\": \"100px\"\n },\n \"href\": \"#further-reading\"\n }, mdx(\"span\", {\n parentName: \"a\",\n \"className\": \"ml-2 text-gray-200 hover:text-gray-800 hover:underline\"\n }, \"#\"))), mdx(\"p\", null, \"Interested in learning more about software-defined assets and working through a more complex example? Check out our \", mdx(\"a\", {\n parentName: \"p\",\n \"href\": \"/guides/dagster/software-defined-assets\"\n }, \"guide on software-defined assets\"), \" and our \", mdx(\"a\", {\n parentName: \"p\",\n \"href\": \"https://github.com/dagster-io/dagster/tree/master/examples/modern_data_stack_assets\"\n }, \"example project\"), \" that integrates software-defined assets with other Modern Data Stack tools.\"));\n}\n\n;\nMDXContent.isMDXComponent = true;","renderedOutput":"
A software-defined asset is a description of how to compute the contents of a particular data asset.
Name | Description |
---|---|
@asset | A decorator used to define assets. |
AssetGroup | A group of software-defined assets. |
SourceAsset | A class that describes an asset, but doesn't define how to compute it. Within an AssetGroup , SourceAsset s are used to represent assets that other assets depend on, but can't be materialized themselves. |
An "asset" is an object in persistent storage, e.g. a table, a file, or a persisted machine learning model. A software-defined asset is a Dagster object that couples an asset to the function and upstream assets that are used to produce its contents. Software-defined assets enable a declarative approach to data management, in which your code is the source of truth on what data assets should exist and how those assets are computed.
A software-defined asset includes three main components:
AssetKey
, which is a handle for referring to the asset.A crucial distinction between software-defined assets and ops is that software-defined assets know about their dependencies, while ops do not. Ops aren't hooked up to dependencies until they're placed inside a graph.
"Materializing" an asset is the act of running its op and saving the results to persistent storage. You can initiate materializations from Dagit, Dagster's web UI, or by invoking Python APIs. By default, assets are materialized to pickle files on your local filesystem, but materialization behavior is fully customizable.
A single software-defined asset might be represented in multiple storage environments - e.g. it might have a "production" version and a "staging" version.
The easiest way to create a software-defined asset is with the @asset
decorator.
from dagster import asset\n\n\n@asset\ndef my_asset():\n return [1, 2, 3]\n
By default, the name of the decorated function, my_asset
, is used as the asset key. The decorated function forms the asset's op: it's responsible for producing the asset's contents. This asset doesn't depend on any other assets.
Software-defined assets can depend on other software-defined assets. The easiest way to define an asset dependency is to include an upstream asset name as an argument to the decorated function. In the following example, downstream_asset
depends on upstream_asset
. That means that the contents of upstream_asset
are provided to the function that computes the contents of downstream_asset
.
@asset\ndef upstream_asset():\n return [1, 2, 3]\n\n\n@asset\ndef downstream_asset(upstream_asset):\n return upstream_asset + [4]\n
The explicit dependencies example covers an alternative way to specify asset dependencies without needing to match argument names to upstream asset names.
To materialize assets or load them in Dagit, you first need to combine them into an AssetGroup
, which is a set of assets with no unsatisfied dependencies. For example:
from dagster import AssetGroup, asset\n\n\n@asset\ndef upstream_asset():\n return [1, 2, 3]\n\n\n@asset\ndef downstream_asset(upstream_asset):\n return upstream_asset + [4]\n\n\nasset_group = AssetGroup([upstream_asset, downstream_asset])\n
To save you from needing to add each asset individually to the group, Dagster provides the AssetGroup.from_package_name
method for building AssetGroup
s out of all the assets within all Python modules underneath a Python package:
from dagster import AssetGroup\n\nasset_group = AssetGroup.from_package_name(\n "docs_snippets.concepts.assets.package_with_assets"\n)\n
Once assets are bundled into an asset group, you can:
To view and materialize assets in Dagit, you can point it at a module that contains an AssetGroup
. E.g.
dagit -m module_with_asset_group\n
If you want Dagit to contain both an asset group and a set of jobs that target the assets, you can place the AssetGroup
and jobs together inside a repository.
Clicking on "Assets", in the right section of Dagit's top navigation pane, takes you to the Asset Catalog, which shows a list of all your assets.
Clicking on the name of one of these assets will take you to the Asset Details Page for that asset.
You can view a graph of all the assets with their dependencies by clicking the graph icon to the upper-left of the Asset Catalog, or by clicking "View in Graph" on any of the assets.
There are a couple ways in Dagit to launch a run that materializes assets:
It's common for software-defined assets to depend on assets that are generated somewhere else. For example, your data warehouse might contain a set of tables that another team is responsible for ingesting, but that your assets are derived from. To allow the assets in your AssetGroup
to depend on them, you can include SourceAsset
s that represent them.
For example:
from dagster import AssetGroup, AssetKey, SourceAsset, asset\n\nmy_source_asset = SourceAsset(key=AssetKey("my_source_asset"))\n\n\n@asset\ndef my_derived_asset(my_source_asset):\n return my_source_asset + [4]\n\n\nasset_group = AssetGroup(assets=[my_derived_asset], source_assets=[my_source_asset])\n
In any situation where you might use a source asset, you could also have the code inside the asset's op load the data. However, using source assets has a few advantages:
AssetGroup
in the same workspace contains an asset definition with the same asset key as a SourceAsset
, Dagit can represent the asset lineage across those groups.IOManager
, Dagster can use it to load the contents of your source asset.By default, materializing an asset will pickle it to a local file named "my_asset", in a temporary directory. You can specify this directory by providing a value for the local_artifact_storage
property in your dagster.yaml file.
IO managers enable fully overriding this behavior and storing asset contents in any way you wish - e.g. writing them as tables in a database or as objects in a cloud object store. Dagster also provides built-in IO managers that pickle assets to AWS S3 (s3_pickle_asset_io_manager
), Azure Blob Storage (adls2_pickle_asset_io_manager
), and GCS (gcs_pickle_asset_io_manager
), or you can write your own.
To apply an IO manager to a set of assets, you can include it with them in an AssetGroup
.
from dagster_aws.s3 import s3_pickle_asset_io_manager, s3_resource\n\nfrom dagster import AssetGroup, asset\n\n\n@asset\ndef upstream_asset():\n return [1, 2, 3]\n\n\n@asset\ndef downstream_asset(upstream_asset):\n return upstream_asset + [4]\n\n\nasset_group = AssetGroup(\n [upstream_asset, downstream_asset],\n resource_defs={"io_manager": s3_pickle_asset_io_manager, "s3": s3_resource},\n)\n
This example also includes "s3": s3_resource
, because the s3_pickle_asset_io_manager
depends on an s3 resource.
When upstream_asset
is materialized, the value [1, 2, 3]
will be will be pickled and stored in an object on S3. When downstream_asset
is materialized, the value of upstream_asset
will be read from S3 and depickled, and [1, 2, 3, 4]
will be pickled and stored in a different object on S3.
Different assets can have different IO managers:
from dagster_aws.s3 import s3_pickle_asset_io_manager, s3_resource\n\nfrom dagster import AssetGroup, asset, fs_asset_io_manager\n\n\n@asset(io_manager_key="s3_io_manager")\ndef upstream_asset():\n return [1, 2, 3]\n\n\n@asset(io_manager_key="fs_io_manager")\ndef downstream_asset(upstream_asset):\n return upstream_asset + [4]\n\n\nasset_group = AssetGroup(\n [upstream_asset, downstream_asset],\n resource_defs={\n "s3_io_manager": s3_pickle_asset_io_manager,\n "s3": s3_resource,\n "fs_io_manager": fs_asset_io_manager,\n },\n)\n
When upstream_asset
is materialized, the value [1, 2, 3]
will be will be pickled and stored in an object on S3. When downstream_asset
is materialized, the value of upstream_asset
will be read from S3 and depickled, and [1, 2, 3, 4]
will be pickled and stored in a file on the local filesystem.
The same assets can be bound to different resources and IO managers in different environments. For example, for local development, you might want to store assets on your local filesystem while, in production, you might want to store the assets in S3.
from dagster_aws.s3 import s3_pickle_asset_io_manager, s3_resource\n\nfrom dagster import AssetGroup, asset, fs_asset_io_manager\n\n\n@asset\ndef upstream_asset():\n return [1, 2, 3]\n\n\n@asset\ndef downstream_asset(upstream_asset):\n return upstream_asset + [4]\n\n\nprod_asset_group = AssetGroup(\n [upstream_asset, downstream_asset],\n resource_defs={"io_manager": s3_pickle_asset_io_manager, "s3": s3_resource},\n)\n\nlocal_asset_group = AssetGroup(\n [upstream_asset, downstream_asset],\n resource_defs={"io_manager": fs_asset_io_manager},\n)\n
You can define a job that materializes a fixed selection of the assets in an AssetGroup
each time it runs.
The following snippet shows examples of three different jobs you might create out of an AssetGroup
.
from dagster import AssetGroup, asset\n\n\n@asset\ndef upstream():\n return [1, 2, 3]\n\n\n@asset\ndef downstream_1(upstream):\n return upstream + [4]\n\n\n@asset\ndef downstream_2(upstream):\n return len(upstream)\n\n\nasset_group = AssetGroup([upstream, downstream_1, downstream_2])\n\nall_assets = asset_group.build_job(name="my_asset_job")\n\ndownstream_assets = asset_group.build_job(\n name="my_asset_job", selection=["upstream", "downstream_1"]\n)\n\nupstream_and_downstream_1 = asset_group.build_job(\n name="my_asset_job", selection="*downstream_1"\n)\n
Multiple jobs within the same repository can target overlapping sets of assets.
Like regular jobs, asset jobs can be placed on schedules and sensors.
When writing unit tests, you can treat the function decorated by @asset
as a regular python function.
Consider a simple asset with no upstream dependencies:
@asset\ndef my_simple_asset():\n return [1, 2, 3]\n
When writing a unit test, you can directly invoke the decorated function.
def test_my_simple_asset():\n result = my_simple_asset()\n assert result == [1, 2, 3]\n
If you have an asset with upstream dependencies:
@asset\ndef more_complex_asset(my_simple_asset):\n return my_simple_asset + [4, 5, 6]\n
You can manually provide values for those dependencies in your unit test. This allows you to test assets in isolation from one another.
def test_more_complex_asset():\n result = more_complex_asset([0])\n assert result == [0, 4, 5, 6]\n
If you use a context object in your function, @asset
will provide the correct context during execution. When writing a unit test, you can mock it with build_op_context
. You can use build_op_context
to generate the context
object because under the hood the function decorated by @asset
is an op.
Consider this asset that uses a resource:
@asset\ndef uses_context(context):\n return context.resources.foo\n
When writing a unit test, use build_op_context
to mock the context
and provide values for testing.
def test_uses_context():\n context = build_op_context(resources={"foo": "bar"})\n result = uses_context(context)\n assert result == "bar"\n
Assets are often objects in systems with hierarchical namespaces, like filesystems. Because of this, it often makes sense for an asset key to be a list of strings, instead of just a single string.
from dagster import AssetIn, asset\n\n\n@asset(namespace=["one", "two", "three"])\ndef upstream_asset():\n return [1, 2, 3]\n\n\n@asset(ins={"upstream_asset": AssetIn(namespace=["one", "two", "three"])})\ndef downstream_asset(upstream_asset):\n return upstream_asset + [4]\n
If defining dependencies by matching argument names to upstream asset names feels too magical for your tastes, you can also define dependencies in a more explicit way:
from dagster import AssetIn, asset\n\n\n@asset\ndef upstream_asset():\n return [1, 2, 3]\n\n\n@asset(ins={"upstream": AssetIn("upstream_asset")})\ndef downstream_asset(upstream):\n return upstream + [4]\n
In this case, ins={"upstream": AssetIn("upstream_asset")}
declares that the contents of the asset with the key upstream_asset
will be provided to the function argument named upstream
.
Since a software-defined asset contains an op, all of the typical functionality of an op (like the use of resources) is available to an asset.
@asset(required_resource_keys={"api"})\ndef my_asset(context):\n # fetches contents of an asset\n return context.resources.api.fetch_table("my_asset")\n
Interested in learning more about software-defined assets and working through a more complex example? Check out our guide on software-defined assets and our example project that integrates software-defined assets with other Modern Data Stack tools.
","scope":{"title":"Software-Defined Assets | Dagster","description":"A software-defined asset is a description of how to compute the contents of a particular data asset."}},"frontMatter":{"title":"Software-Defined Assets | Dagster","description":"A software-defined asset is a description of how to compute the contents of a particular data asset."},"searchIndex":{"docnames":["index","sections/api/apidocs/assets","sections/api/apidocs/cli","sections/api/apidocs/config","sections/api/apidocs/dynamic","sections/api/apidocs/errors","sections/api/apidocs/execution","sections/api/apidocs/graphs","sections/api/apidocs/hooks","sections/api/apidocs/internals","sections/api/apidocs/io-managers","sections/api/apidocs/jobs","sections/api/apidocs/libraries/dagster-airbyte","sections/api/apidocs/libraries/dagster-airflow","sections/api/apidocs/libraries/dagster-aws","sections/api/apidocs/libraries/dagster-azure","sections/api/apidocs/libraries/dagster-celery","sections/api/apidocs/libraries/dagster-celery-docker","sections/api/apidocs/libraries/dagster-celery-k8s","sections/api/apidocs/libraries/dagster-dask","sections/api/apidocs/libraries/dagster-databricks","sections/api/apidocs/libraries/dagster-datadog","sections/api/apidocs/libraries/dagster-dbt","sections/api/apidocs/libraries/dagster-docker","sections/api/apidocs/libraries/dagster-fivetran","sections/api/apidocs/libraries/dagster-gcp","sections/api/apidocs/libraries/dagster-ge","sections/api/apidocs/libraries/dagster-github","sections/api/apidocs/libraries/dagster-graphql","sections/api/apidocs/libraries/dagster-k8s","sections/api/apidocs/libraries/dagster-mlflow","sections/api/apidocs/libraries/dagster-msteams","sections/api/apidocs/libraries/dagster-mysql","sections/api/apidocs/libraries/dagster-pagerduty","sections/api/apidocs/libraries/dagster-pandas","sections/api/apidocs/libraries/dagster-papertrail","sections/api/apidocs/libraries/dagster-postgres","sections/api/apidocs/libraries/dagster-prometheus","sections/api/apidocs/libraries/dagster-pyspark","sections/api/apidocs/libraries/dagster-shell","sections/api/apidocs/libraries/dagster-slack","sections/api/apidocs/libraries/dagster-snowflake","sections/api/apidocs/libraries/dagster-spark","sections/api/apidocs/libraries/dagster-ssh","sections/api/apidocs/libraries/dagster-twilio","sections/api/apidocs/libraries/dagstermill","sections/api/apidocs/loggers","sections/api/apidocs/memoization","sections/api/apidocs/modes","sections/api/apidocs/ops","sections/api/apidocs/partitions","sections/api/apidocs/pipeline","sections/api/apidocs/presets","sections/api/apidocs/repositories","sections/api/apidocs/resources","sections/api/apidocs/schedules-sensors","sections/api/apidocs/solids","sections/api/apidocs/types","sections/api/apidocs/utilities"],"envversion":{"nbsphinx":3,"sphinx":56,"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.viewcode":1},"filenames":["index.rst","sections/api/apidocs/assets.rst","sections/api/apidocs/cli.rst","sections/api/apidocs/config.rst","sections/api/apidocs/dynamic.rst","sections/api/apidocs/errors.rst","sections/api/apidocs/execution.rst","sections/api/apidocs/graphs.rst","sections/api/apidocs/hooks.rst","sections/api/apidocs/internals.rst","sections/api/apidocs/io-managers.rst","sections/api/apidocs/jobs.rst","sections/api/apidocs/libraries/dagster-airbyte.rst","sections/api/apidocs/libraries/dagster-airflow.rst","sections/api/apidocs/libraries/dagster-aws.rst","sections/api/apidocs/libraries/dagster-azure.rst","sections/api/apidocs/libraries/dagster-celery.rst","sections/api/apidocs/libraries/dagster-celery-docker.rst","sections/api/apidocs/libraries/dagster-celery-k8s.rst","sections/api/apidocs/libraries/dagster-dask.rst","sections/api/apidocs/libraries/dagster-databricks.rst","sections/api/apidocs/libraries/dagster-datadog.rst","sections/api/apidocs/libraries/dagster-dbt.rst","sections/api/apidocs/libraries/dagster-docker.rst","sections/api/apidocs/libraries/dagster-fivetran.rst","sections/api/apidocs/libraries/dagster-gcp.rst","sections/api/apidocs/libraries/dagster-ge.rst","sections/api/apidocs/libraries/dagster-github.rst","sections/api/apidocs/libraries/dagster-graphql.rst","sections/api/apidocs/libraries/dagster-k8s.rst","sections/api/apidocs/libraries/dagster-mlflow.rst","sections/api/apidocs/libraries/dagster-msteams.rst","sections/api/apidocs/libraries/dagster-mysql.rst","sections/api/apidocs/libraries/dagster-pagerduty.rst","sections/api/apidocs/libraries/dagster-pandas.rst","sections/api/apidocs/libraries/dagster-papertrail.rst","sections/api/apidocs/libraries/dagster-postgres.rst","sections/api/apidocs/libraries/dagster-prometheus.rst","sections/api/apidocs/libraries/dagster-pyspark.rst","sections/api/apidocs/libraries/dagster-shell.rst","sections/api/apidocs/libraries/dagster-slack.rst","sections/api/apidocs/libraries/dagster-snowflake.rst","sections/api/apidocs/libraries/dagster-spark.rst","sections/api/apidocs/libraries/dagster-ssh.rst","sections/api/apidocs/libraries/dagster-twilio.rst","sections/api/apidocs/libraries/dagstermill.rst","sections/api/apidocs/loggers.rst","sections/api/apidocs/memoization.rst","sections/api/apidocs/modes.rst","sections/api/apidocs/ops.rst","sections/api/apidocs/partitions.rst","sections/api/apidocs/pipeline.rst","sections/api/apidocs/presets.rst","sections/api/apidocs/repositories.rst","sections/api/apidocs/resources.rst","sections/api/apidocs/schedules-sensors.rst","sections/api/apidocs/solids.rst","sections/api/apidocs/types.rst","sections/api/apidocs/utilities.rst"],"objects":{"dagit":{"--attribute":[2,7,1,"cmdoption-dagit-a"],"--db-statement-timeout":[2,7,1,"cmdoption-dagit-db-statement-timeout"],"--empty-workspace":[2,7,1,"cmdoption-dagit-empty-workspace"],"--grpc-host":[2,7,1,"cmdoption-dagit-grpc-host"],"--grpc-port":[2,7,1,"cmdoption-dagit-grpc-port"],"--grpc-socket":[2,7,1,"cmdoption-dagit-grpc-socket"],"--host":[2,7,1,"cmdoption-dagit-h"],"--module-name":[2,7,1,"cmdoption-dagit-m"],"--package-name":[2,7,1,"cmdoption-dagit-package-name"],"--path-prefix":[2,7,1,"cmdoption-dagit-l"],"--port":[2,7,1,"cmdoption-dagit-p"],"--python-file":[2,7,1,"cmdoption-dagit-f"],"--read-only":[2,7,1,"cmdoption-dagit-read-only"],"--suppress-warnings":[2,7,1,"cmdoption-dagit-suppress-warnings"],"--use-ssl":[2,7,1,"cmdoption-dagit-use-ssl"],"--version":[2,7,1,"cmdoption-dagit-version"],"--working-directory":[2,7,1,"cmdoption-dagit-d"],"--workspace":[2,7,1,"cmdoption-dagit-w"],"-a":[2,7,1,"cmdoption-dagit-a"],"-d":[2,7,1,"cmdoption-dagit-d"],"-f":[2,7,1,"cmdoption-dagit-f"],"-h":[2,7,1,"cmdoption-dagit-h"],"-l":[2,7,1,"cmdoption-dagit-l"],"-m":[2,7,1,"cmdoption-dagit-m"],"-p":[2,7,1,"cmdoption-dagit-p"],"-w":[2,7,1,"cmdoption-dagit-w"]},"dagster":{"Any":[57,0,1,""],"Array":[3,1,1,""],"AssetGroup":[1,1,1,""],"AssetIn":[1,1,1,""],"AssetKey":[49,1,1,""],"AssetMaterialization":[49,1,1,""],"AssetSensorDefinition":[55,1,1,""],"Backoff":[49,1,1,""],"Bool":[57,0,1,""],"BoolSource":[3,0,1,""],"CompositeSolidDefinition":[56,1,1,""],"CompositeSolidExecutionResult":[56,1,1,""],"ConfigMapping":[3,1,1,""],"ConfigSchema":[3,1,1,""],"DagsterAssetMetadataValue":[49,1,1,""],"DagsterConfigMappingFunctionError":[5,3,1,""],"DagsterError":[5,3,1,""],"DagsterEvent":[6,1,1,""],"DagsterEventLogInvalidForRun":[5,3,1,""],"DagsterEventType":[6,1,1,""],"DagsterExecutionStepExecutionError":[5,3,1,""],"DagsterExecutionStepNotFoundError":[5,3,1,""],"DagsterInstance":[9,1,1,""],"DagsterInvalidConfigDefinitionError":[5,3,1,""],"DagsterInvalidConfigError":[5,3,1,""],"DagsterInvalidDefinitionError":[5,3,1,""],"DagsterInvariantViolationError":[5,3,1,""],"DagsterLogManager":[46,1,1,""],"DagsterPipelineRunMetadataValue":[49,1,1,""],"DagsterResourceFunctionError":[5,3,1,""],"DagsterRunNotFoundError":[5,3,1,""],"DagsterRunStatus":[9,1,1,""],"DagsterStepOutputNotFoundError":[5,3,1,""],"DagsterSubprocessError":[5,3,1,""],"DagsterType":[57,1,1,""],"DagsterTypeCheckDidNotPass":[5,3,1,""],"DagsterTypeCheckError":[5,3,1,""],"DagsterTypeLoader":[57,1,1,""],"DagsterTypeMaterializer":[57,1,1,""],"DagsterUnknownResourceError":[5,3,1,""],"DagsterUnmetExecutorRequirementsError":[5,3,1,""],"DagsterUserCodeExecutionError":[5,3,1,""],"DependencyDefinition":[51,1,1,""],"Dict":[57,0,1,""],"DynamicOut":[4,1,1,""],"DynamicOutput":[4,1,1,""],"Enum":[3,1,1,""],"EnumValue":[3,1,1,""],"ExecuteInProcessResult":[6,1,1,""],"Executor":[9,1,1,""],"ExecutorDefinition":[9,1,1,""],"ExpectationResult":[49,1,1,""],"ExperimentalWarning":[58,1,1,""],"Failure":[49,1,1,""],"Field":[3,1,1,""],"FileHandle":[57,1,1,""],"Float":[57,0,1,""],"FloatMetadataValue":[49,1,1,""],"GraphDefinition":[7,1,1,""],"GraphIn":[7,1,1,""],"GraphOut":[7,1,1,""],"HookContext":[8,1,1,""],"HookDefinition":[8,1,1,""],"IOManager":[10,1,1,""],"IOManagerDefinition":[10,1,1,""],"In":[49,1,1,""],"InitExecutorContext":[9,1,1,""],"InitLoggerContext":[46,1,1,""],"InitResourceContext":[54,1,1,""],"InputContext":[10,1,1,""],"InputDefinition":[56,1,1,""],"InputMapping":[56,1,1,""],"Int":[57,0,1,""],"IntMetadataValue":[49,1,1,""],"IntSource":[3,0,1,""],"Jitter":[49,1,1,""],"JobDefinition":[11,1,1,""],"JsonMetadataValue":[49,1,1,""],"List":[57,0,1,""],"LocalFileHandle":[57,1,1,""],"LoggerDefinition":[46,1,1,""],"MEMOIZED_RUN_TAG":[47,0,1,""],"Map":[3,1,1,""],"MarkdownMetadataValue":[49,1,1,""],"MemoizableIOManager":[47,1,1,""],"MetadataEntry":[49,1,1,""],"MetadataValue":[49,1,1,""],"ModeDefinition":[48,1,1,""],"MultiDependencyDefinition":[51,1,1,""],"Noneable":[3,1,1,""],"Nothing":[57,0,1,""],"OpDefinition":[49,1,1,""],"OpExecutionContext":[6,1,1,""],"Optional":[57,0,1,""],"Out":[49,1,1,""],"Output":[49,1,1,""],"OutputContext":[10,1,1,""],"OutputDefinition":[56,1,1,""],"OutputMapping":[56,1,1,""],"Partition":[50,1,1,""],"PartitionScheduleDefinition":[55,1,1,""],"PartitionSetDefinition":[50,1,1,""],"PartitionedConfig":[50,1,1,""],"PathMetadataValue":[49,1,1,""],"Permissive":[3,1,1,""],"PipelineDefinition":[51,1,1,""],"PipelineExecutionResult":[51,1,1,""],"PipelineFailureSensorContext":[55,1,1,""],"PipelineRun":[9,1,1,""],"PipelineRunStatus":[9,0,1,""],"PresetDefinition":[52,1,1,""],"PythonArtifactMetadataValue":[49,1,1,""],"PythonObjectDagsterType":[57,4,1,""],"RepositoryData":[53,1,1,""],"RepositoryDefinition":[53,1,1,""],"ResourceDefinition":[54,1,1,""],"RetryPolicy":[49,1,1,""],"RetryRequested":[49,1,1,""],"RootInputManager":[10,1,1,""],"RootInputManagerDefinition":[10,1,1,""],"RunFailureSensorContext":[55,1,1,""],"RunRequest":[55,1,1,""],"RunStatusSensorContext":[55,1,1,""],"RunStatusSensorDefinition":[55,1,1,""],"ScalarUnion":[3,1,1,""],"ScheduleDefinition":[55,1,1,""],"ScheduleEvaluationContext":[55,1,1,""],"Selector":[3,1,1,""],"SensorDefinition":[55,1,1,""],"SensorEvaluationContext":[55,1,1,""],"Set":[57,0,1,""],"Shape":[3,1,1,""],"SkipReason":[55,1,1,""],"SolidDefinition":[56,1,1,""],"SolidExecutionContext":[56,1,1,""],"SolidExecutionResult":[56,1,1,""],"SolidInvocation":[51,0,1,""],"SourceAsset":[1,1,1,""],"SourceHashVersionStrategy":[47,1,1,""],"String":[57,0,1,""],"StringSource":[3,0,1,""],"TableColumn":[49,1,1,""],"TableColumnConstraints":[49,1,1,""],"TableConstraints":[49,1,1,""],"TableMetadataValue":[49,1,1,""],"TableRecord":[49,1,1,""],"TableSchema":[49,1,1,""],"TableSchemaMetadataValue":[49,1,1,""],"TextMetadataValue":[49,1,1,""],"Tuple":[57,0,1,""],"TypeCheck":[49,1,1,""],"TypeCheckContext":[6,1,1,""],"UrlMetadataValue":[49,1,1,""],"VersionStrategy":[47,1,1,""],"asset":[1,4,1,""],"asset_sensor":[55,4,1,""],"build_assets_job":[1,4,1,""],"build_hook_context":[8,4,1,""],"build_init_logger_context":[46,4,1,""],"build_init_resource_context":[54,4,1,""],"build_input_context":[10,4,1,""],"build_op_context":[6,4,1,""],"build_output_context":[10,4,1,""],"build_reconstructable_job":[11,4,1,""],"build_resources":[54,4,1,""],"build_run_status_sensor_context":[55,4,1,""],"build_schedule_context":[55,4,1,""],"build_schedule_from_partitioned_job":[55,4,1,""],"build_sensor_context":[55,4,1,""],"build_solid_context":[56,4,1,""],"check_dagster_type":[57,4,1,""],"composite_solid":[56,4,1,""],"config_from_files":[58,4,1,""],"config_from_pkg_resources":[58,4,1,""],"config_from_yaml_strings":[58,4,1,""],"configured":[3,4,1,""],"create_offset_partition_selector":[50,4,1,""],"custom_path_fs_io_manager":[10,6,1,""],"dagster_type_loader":[57,4,1,""],"dagster_type_materializer":[57,4,1,""],"daily_partitioned_config":[50,4,1,""],"date_partition_range":[50,4,1,""],"default_executors":[51,6,1,""],"dynamic_partitioned_config":[50,4,1,""],"execute_pipeline":[51,4,1,""],"execute_pipeline_iterator":[51,4,1,""],"execute_solid":[56,4,1,""],"execute_solid_within_pipeline":[56,4,1,""],"execute_solids_within_pipeline":[56,4,1,""],"executor":[9,4,1,""],"failure_hook":[8,4,1,""],"file_relative_path":[58,4,1,""],"fs_asset_io_manager":[1,6,1,""],"fs_io_manager":[10,6,1,""],"get_dagster_logger":[58,4,1,""],"graph":[7,4,1,""],"hourly_partitioned_config":[50,4,1,""],"identity_partition_selector":[50,4,1,""],"in_process_executor":[6,6,1,""],"io_manager":[10,4,1,""],"job":[11,4,1,""],"local_file_manager":[9,6,1,""],"logger":[46,4,1,""],"make_python_type_usable_as_dagster_type":[57,4,1,""],"make_values_resource":[54,4,1,""],"mem_io_manager":[10,6,1,""],"monthly_partitioned_config":[50,4,1,""],"multi_asset":[1,4,1,""],"multiprocess_executor":[6,6,1,""],"op":[49,4,1,""],"pipeline":[51,4,1,""],"pipeline_failure_sensor":[55,4,1,""],"reconstructable":[6,1,1,""],"reexecute_pipeline":[51,4,1,""],"reexecute_pipeline_iterator":[51,4,1,""],"repository":[53,6,1,""],"resource":[54,4,1,""],"root_input_manager":[10,4,1,""],"run_failure_sensor":[55,4,1,""],"run_status_sensor":[55,4,1,""],"schedule":[55,4,1,""],"sensor":[55,4,1,""],"solid":[56,4,1,""],"static_partitioned_config":[50,4,1,""],"success_hook":[8,4,1,""],"usable_as_dagster_type":[57,4,1,""],"validate_run_config":[6,4,1,""],"weekly_partitioned_config":[50,4,1,""]},"dagster-api-grpc":{"--attribute":[2,7,1,"cmdoption-dagster-api-grpc-a"],"--empty-working-directory":[2,7,1,"cmdoption-dagster-api-grpc-empty-working-directory"],"--fixed-server-id":[2,7,1,"cmdoption-dagster-api-grpc-fixed-server-id"],"--heartbeat":[2,7,1,"cmdoption-dagster-api-grpc-heartbeat"],"--heartbeat-timeout":[2,7,1,"cmdoption-dagster-api-grpc-heartbeat-timeout"],"--host":[2,7,1,"cmdoption-dagster-api-grpc-h"],"--ipc-output-file":[2,7,1,"cmdoption-dagster-api-grpc-ipc-output-file"],"--lazy-load-user-code":[2,7,1,"cmdoption-dagster-api-grpc-lazy-load-user-code"],"--log-level":[2,7,1,"cmdoption-dagster-api-grpc-log-level"],"--max_workers":[2,7,1,"cmdoption-dagster-api-grpc-n"],"--module-name":[2,7,1,"cmdoption-dagster-api-grpc-m"],"--override-system-timezone":[2,7,1,"cmdoption-dagster-api-grpc-override-system-timezone"],"--package-name":[2,7,1,"cmdoption-dagster-api-grpc-package-name"],"--port":[2,7,1,"cmdoption-dagster-api-grpc-p"],"--python-file":[2,7,1,"cmdoption-dagster-api-grpc-f"],"--socket":[2,7,1,"cmdoption-dagster-api-grpc-s"],"--use-python-environment-entry-point":[2,7,1,"cmdoption-dagster-api-grpc-use-python-environment-entry-point"],"--working-directory":[2,7,1,"cmdoption-dagster-api-grpc-d"],"-a":[2,7,1,"cmdoption-dagster-api-grpc-a"],"-d":[2,7,1,"cmdoption-dagster-api-grpc-d"],"-f":[2,7,1,"cmdoption-dagster-api-grpc-f"],"-h":[2,7,1,"cmdoption-dagster-api-grpc-h"],"-m":[2,7,1,"cmdoption-dagster-api-grpc-m"],"-n":[2,7,1,"cmdoption-dagster-api-grpc-n"],"-p":[2,7,1,"cmdoption-dagster-api-grpc-p"],"-s":[2,7,1,"cmdoption-dagster-api-grpc-s"]},"dagster-celery-worker-list":{"--config-yaml":[16,7,1,"cmdoption-dagster-celery-worker-list-y"],"-y":[16,7,1,"cmdoption-dagster-celery-worker-list-y"]},"dagster-celery-worker-start":{"--app":[16,7,1,"cmdoption-dagster-celery-worker-start-A"],"--background":[16,7,1,"cmdoption-dagster-celery-worker-start-d"],"--config-yaml":[16,7,1,"cmdoption-dagster-celery-worker-start-y"],"--includes":[16,7,1,"cmdoption-dagster-celery-worker-start-i"],"--loglevel":[16,7,1,"cmdoption-dagster-celery-worker-start-l"],"--name":[16,7,1,"cmdoption-dagster-celery-worker-start-n"],"--queue":[16,7,1,"cmdoption-dagster-celery-worker-start-q"],"-A":[16,7,1,"cmdoption-dagster-celery-worker-start-A"],"-d":[16,7,1,"cmdoption-dagster-celery-worker-start-d"],"-i":[16,7,1,"cmdoption-dagster-celery-worker-start-i"],"-l":[16,7,1,"cmdoption-dagster-celery-worker-start-l"],"-n":[16,7,1,"cmdoption-dagster-celery-worker-start-n"],"-q":[16,7,1,"cmdoption-dagster-celery-worker-start-q"],"-y":[16,7,1,"cmdoption-dagster-celery-worker-start-y"],"ADDITIONAL_ARGS":[16,7,1,"cmdoption-dagster-celery-worker-start-arg-ADDITIONAL_ARGS"]},"dagster-celery-worker-terminate":{"--all":[16,7,1,"cmdoption-dagster-celery-worker-terminate-a"],"--config-yaml":[16,7,1,"cmdoption-dagster-celery-worker-terminate-y"],"-a":[16,7,1,"cmdoption-dagster-celery-worker-terminate-a"],"-y":[16,7,1,"cmdoption-dagster-celery-worker-terminate-y"],"NAME":[16,7,1,"cmdoption-dagster-celery-worker-terminate-arg-NAME"]},"dagster-daemon-run":{"--attribute":[2,7,1,"cmdoption-dagster-daemon-run-a"],"--empty-workspace":[2,7,1,"cmdoption-dagster-daemon-run-empty-workspace"],"--grpc-host":[2,7,1,"cmdoption-dagster-daemon-run-grpc-host"],"--grpc-port":[2,7,1,"cmdoption-dagster-daemon-run-grpc-port"],"--grpc-socket":[2,7,1,"cmdoption-dagster-daemon-run-grpc-socket"],"--module-name":[2,7,1,"cmdoption-dagster-daemon-run-m"],"--package-name":[2,7,1,"cmdoption-dagster-daemon-run-package-name"],"--python-file":[2,7,1,"cmdoption-dagster-daemon-run-f"],"--use-ssl":[2,7,1,"cmdoption-dagster-daemon-run-use-ssl"],"--working-directory":[2,7,1,"cmdoption-dagster-daemon-run-d"],"--workspace":[2,7,1,"cmdoption-dagster-daemon-run-w"],"-a":[2,7,1,"cmdoption-dagster-daemon-run-a"],"-d":[2,7,1,"cmdoption-dagster-daemon-run-d"],"-f":[2,7,1,"cmdoption-dagster-daemon-run-f"],"-m":[2,7,1,"cmdoption-dagster-daemon-run-m"],"-w":[2,7,1,"cmdoption-dagster-daemon-run-w"]},"dagster-graphql":{"--attribute":[2,7,1,"cmdoption-dagster-graphql-a"],"--empty-workspace":[2,7,1,"cmdoption-dagster-graphql-empty-workspace"],"--ephemeral-instance":[2,7,1,"cmdoption-dagster-graphql-ephemeral-instance"],"--file":[2,7,1,"cmdoption-dagster-graphql-f"],"--grpc-host":[2,7,1,"cmdoption-dagster-graphql-grpc-host"],"--grpc-port":[2,7,1,"cmdoption-dagster-graphql-grpc-port"],"--grpc-socket":[2,7,1,"cmdoption-dagster-graphql-grpc-socket"],"--module-name":[2,7,1,"cmdoption-dagster-graphql-m"],"--output":[2,7,1,"cmdoption-dagster-graphql-o"],"--package-name":[2,7,1,"cmdoption-dagster-graphql-package-name"],"--predefined":[2,7,1,"cmdoption-dagster-graphql-p"],"--python-file":[2,7,1,"cmdoption-dagster-graphql-0"],"--remote":[2,7,1,"cmdoption-dagster-graphql-r"],"--text":[2,7,1,"cmdoption-dagster-graphql-t"],"--use-ssl":[2,7,1,"cmdoption-dagster-graphql-use-ssl"],"--variables":[2,7,1,"cmdoption-dagster-graphql-v"],"--version":[2,7,1,"cmdoption-dagster-graphql-version"],"--working-directory":[2,7,1,"cmdoption-dagster-graphql-d"],"--workspace":[2,7,1,"cmdoption-dagster-graphql-w"],"-a":[2,7,1,"cmdoption-dagster-graphql-a"],"-d":[2,7,1,"cmdoption-dagster-graphql-d"],"-f":[2,7,1,"cmdoption-dagster-graphql-0"],"-m":[2,7,1,"cmdoption-dagster-graphql-m"],"-o":[2,7,1,"cmdoption-dagster-graphql-o"],"-p":[2,7,1,"cmdoption-dagster-graphql-p"],"-r":[2,7,1,"cmdoption-dagster-graphql-r"],"-t":[2,7,1,"cmdoption-dagster-graphql-t"],"-v":[2,7,1,"cmdoption-dagster-graphql-v"],"-w":[2,7,1,"cmdoption-dagster-graphql-w"]},"dagster.AssetGroup":{"build_job":[1,2,1,""],"from_current_module":[1,2,1,""],"from_modules":[1,2,1,""],"from_package_module":[1,2,1,""],"from_package_name":[1,2,1,""],"get_base_jobs":[1,2,1,""],"materialize":[1,2,1,""]},"dagster.AssetMaterialization":{"file":[49,2,1,""]},"dagster.CompositeSolidDefinition":{"configured":[56,2,1,""]},"dagster.CompositeSolidExecutionResult":{"output_for_solid":[56,2,1,""],"result_for_handle":[56,2,1,""],"result_for_solid":[56,2,1,""],"solid_result_list":[56,2,1,""],"step_event_list":[56,2,1,""],"success":[56,2,1,""]},"dagster.DagsterEvent":{"event_specific_data":[6,0,1,""],"event_type":[6,2,1,""],"event_type_value":[6,0,1,""],"logging_tags":[6,0,1,""],"message":[6,0,1,""],"pid":[6,0,1,""],"pipeline_name":[6,0,1,""],"solid_handle":[6,0,1,""],"step_key":[6,0,1,""],"step_kind_value":[6,0,1,""]},"dagster.DagsterEventType":{"ALERT_FAILURE":[6,0,1,""],"ALERT_START":[6,0,1,""],"ALERT_SUCCESS":[6,0,1,""],"ASSET_MATERIALIZATION":[6,0,1,""],"ASSET_MATERIALIZATION_PLANNED":[6,0,1,""],"ASSET_OBSERVATION":[6,0,1,""],"ASSET_STORE_OPERATION":[6,0,1,""],"ENGINE_EVENT":[6,0,1,""],"HANDLED_OUTPUT":[6,0,1,""],"HOOK_COMPLETED":[6,0,1,""],"HOOK_ERRORED":[6,0,1,""],"HOOK_SKIPPED":[6,0,1,""],"LOADED_INPUT":[6,0,1,""],"LOGS_CAPTURED":[6,0,1,""],"OBJECT_STORE_OPERATION":[6,0,1,""],"PIPELINE_CANCELED":[6,0,1,""],"PIPELINE_CANCELING":[6,0,1,""],"PIPELINE_DEQUEUED":[6,0,1,""],"PIPELINE_ENQUEUED":[6,0,1,""],"PIPELINE_FAILURE":[6,0,1,""],"PIPELINE_START":[6,0,1,""],"PIPELINE_STARTING":[6,0,1,""],"PIPELINE_SUCCESS":[6,0,1,""],"RUN_CANCELED":[6,0,1,""],"RUN_CANCELING":[6,0,1,""],"RUN_DEQUEUED":[6,0,1,""],"RUN_ENQUEUED":[6,0,1,""],"RUN_FAILURE":[6,0,1,""],"RUN_START":[6,0,1,""],"RUN_STARTING":[6,0,1,""],"RUN_SUCCESS":[6,0,1,""],"STEP_EXPECTATION_RESULT":[6,0,1,""],"STEP_FAILURE":[6,0,1,""],"STEP_INPUT":[6,0,1,""],"STEP_OUTPUT":[6,0,1,""],"STEP_RESTARTED":[6,0,1,""],"STEP_SKIPPED":[6,0,1,""],"STEP_START":[6,0,1,""],"STEP_SUCCESS":[6,0,1,""],"STEP_UP_FOR_RETRY":[6,0,1,""]},"dagster.DagsterInstance":{"add_daemon_heartbeat":[9,2,1,""],"get_addresses_for_step_output_versions":[9,2,1,""],"get_daemon_heartbeats":[9,2,1,""],"launch_run":[9,2,1,""],"report_engine_event":[9,2,1,""],"resume_run":[9,2,1,""],"should_start_background_run_thread":[9,2,1,""],"submit_run":[9,2,1,""]},"dagster.DagsterRunStatus":{"CANCELED":[9,0,1,""],"CANCELING":[9,0,1,""],"FAILURE":[9,0,1,""],"MANAGED":[9,0,1,""],"NOT_STARTED":[9,0,1,""],"QUEUED":[9,0,1,""],"STARTED":[9,0,1,""],"STARTING":[9,0,1,""],"SUCCESS":[9,0,1,""]},"dagster.Enum":{"from_python_enum":[3,2,1,""]},"dagster.ExecuteInProcessResult":{"all_events":[6,2,1,""],"all_node_events":[6,2,1,""],"dagster_run":[6,2,1,""],"events_for_node":[6,2,1,""],"get_job_failure_event":[6,2,1,""],"get_job_success_event":[6,2,1,""],"output_for_node":[6,2,1,""],"output_value":[6,2,1,""],"run_id":[6,2,1,""],"success":[6,2,1,""]},"dagster.Executor":{"execute":[9,2,1,""],"retries":[9,2,1,""]},"dagster.ExecutorDefinition":{"configured":[9,2,1,""]},"dagster.FileHandle":{"path_desc":[57,2,1,""]},"dagster.GraphDefinition":{"execute_in_process":[7,2,1,""],"to_job":[7,2,1,""]},"dagster.HookContext":{"hook_def":[8,0,1,""],"job_name":[8,0,1,""],"log":[8,0,1,""],"mode_def":[8,0,1,""],"op":[8,0,1,""],"op_config":[8,0,1,""],"op_exception":[8,0,1,""],"op_output_values":[8,0,1,""],"pipeline_name":[8,0,1,""],"required_resource_keys":[8,0,1,""],"resources":[8,0,1,""],"run_id":[8,0,1,""],"solid":[8,0,1,""],"solid_config":[8,0,1,""],"solid_exception":[8,2,1,""],"solid_output_values":[8,2,1,""],"step_key":[8,0,1,""]},"dagster.IOManager":{"get_input_asset_key":[10,2,1,""],"get_input_asset_partitions":[10,2,1,""],"get_output_asset_key":[10,2,1,""],"get_output_asset_partitions":[10,2,1,""],"handle_output":[10,2,1,""],"load_input":[10,2,1,""]},"dagster.IOManagerDefinition":{"hardcoded_io_manager":[10,2,1,""],"input_config_schema":[10,2,1,""],"output_config_schema":[10,2,1,""]},"dagster.InitExecutorContext":{"executor_config":[9,0,1,""],"executor_def":[9,0,1,""],"instance":[9,0,1,""],"job":[9,0,1,""]},"dagster.InitLoggerContext":{"logger_config":[46,0,1,""],"logger_def":[46,0,1,""],"pipeline_def":[46,0,1,""],"run_id":[46,0,1,""]},"dagster.InitResourceContext":{"dagster_run":[54,0,1,""],"log_manager":[54,0,1,""],"pipeline_run":[54,0,1,""],"resource_config":[54,0,1,""],"resource_def":[54,0,1,""],"resources":[54,0,1,""],"run_id":[54,0,1,""]},"dagster.InputContext":{"add_input_metadata":[10,2,1,""],"asset_partition_key":[10,2,1,""],"asset_partition_key_range":[10,2,1,""],"asset_partitions_time_window":[10,2,1,""],"config":[10,0,1,""],"consume_events":[10,2,1,""],"dagster_type":[10,0,1,""],"get_observations":[10,2,1,""],"has_input_name":[10,2,1,""],"has_partition_key":[10,2,1,""],"log":[10,0,1,""],"metadata":[10,0,1,""],"name":[10,0,1,""],"op_def":[10,0,1,""],"partition_key":[10,2,1,""],"pipeline_name":[10,0,1,""],"resource_config":[10,0,1,""],"resources":[10,0,1,""],"solid_def":[10,0,1,""],"upstream_output":[10,0,1,""]},"dagster.JobDefinition":{"execute_in_process":[11,2,1,""],"with_hooks":[11,2,1,""]},"dagster.LoggerDefinition":{"configured":[46,2,1,""]},"dagster.MemoizableIOManager":{"has_output":[47,2,1,""]},"dagster.MetadataEntry":{"asset":[49,2,1,""],"float":[49,2,1,""],"fspath":[49,2,1,""],"int":[49,2,1,""],"json":[49,2,1,""],"md":[49,2,1,""],"path":[49,2,1,""],"table":[49,2,1,""],"table_schema":[49,2,1,""],"text":[49,2,1,""],"url":[49,2,1,""],"value":[49,2,1,""]},"dagster.MetadataValue":{"asset":[49,2,1,""],"dagster_run":[49,2,1,""],"float":[49,2,1,""],"int":[49,2,1,""],"json":[49,2,1,""],"md":[49,2,1,""],"path":[49,2,1,""],"python_artifact":[49,2,1,""],"table":[49,2,1,""],"table_schema":[49,2,1,""],"text":[49,2,1,""],"url":[49,2,1,""]},"dagster.OpDefinition":{"configured":[49,2,1,""]},"dagster.OpExecutionContext":{"add_output_metadata":[6,2,1,""],"consume_events":[6,2,1,""],"get_mapping_key":[6,2,1,""],"get_tag":[6,2,1,""],"has_partition_key":[6,2,1,""],"has_tag":[6,2,1,""],"instance":[6,2,1,""],"log":[6,2,1,""],"log_event":[6,2,1,""],"mode_def":[6,2,1,""],"output_asset_partition_key":[6,2,1,""],"output_asset_partitions_time_window":[6,2,1,""],"partition_key":[6,2,1,""],"pdb":[6,2,1,""],"pipeline_def":[6,2,1,""],"pipeline_name":[6,2,1,""],"pipeline_run":[6,2,1,""],"resources":[6,2,1,""],"retry_number":[6,2,1,""],"run_config":[6,2,1,""],"run_id":[6,2,1,""],"solid_config":[6,2,1,""],"solid_def":[6,2,1,""],"step_launcher":[6,2,1,""]},"dagster.OutputContext":{"add_output_metadata":[10,2,1,""],"asset_partition_key":[10,2,1,""],"asset_partition_key_range":[10,2,1,""],"asset_partitions_time_window":[10,2,1,""],"config":[10,0,1,""],"consume_events":[10,2,1,""],"consume_logged_metadata_entries":[10,2,1,""],"dagster_type":[10,0,1,""],"get_logged_events":[10,2,1,""],"get_logged_metadata_entries":[10,2,1,""],"get_output_identifier":[10,2,1,""],"get_run_scoped_output_identifier":[10,2,1,""],"has_partition_key":[10,2,1,""],"log":[10,0,1,""],"log_event":[10,2,1,""],"mapping_key":[10,0,1,""],"metadata":[10,0,1,""],"name":[10,0,1,""],"op_def":[10,0,1,""],"partition_key":[10,2,1,""],"pipeline_name":[10,0,1,""],"resource_config":[10,0,1,""],"resources":[10,0,1,""],"run_id":[10,0,1,""],"solid_def":[10,0,1,""],"step_key":[10,0,1,""],"version":[10,0,1,""]},"dagster.PartitionSetDefinition":{"create_schedule_definition":[50,2,1,""],"get_partitions":[50,2,1,""]},"dagster.PartitionedConfig":{"get_run_config_for_partition_key":[50,2,1,""]},"dagster.PipelineExecutionResult":{"output_for_solid":[51,2,1,""],"result_for_handle":[51,2,1,""],"result_for_solid":[51,2,1,""],"solid_result_list":[51,2,1,""],"step_event_list":[51,2,1,""],"success":[51,2,1,""]},"dagster.PipelineFailureSensorContext":{"failure_event":[55,0,1,""],"pipeline_run":[55,0,1,""],"sensor_name":[55,0,1,""]},"dagster.PresetDefinition":{"from_files":[52,2,1,""],"from_pkg_resources":[52,2,1,""],"from_yaml_strings":[52,2,1,""],"get_environment_yaml":[52,2,1,""],"with_additional_config":[52,2,1,""]},"dagster.RepositoryDefinition":{"get_all_jobs":[53,2,1,""],"get_job":[53,2,1,""],"has_job":[53,2,1,""],"job_names":[53,2,1,""]},"dagster.ResourceDefinition":{"configured":[54,2,1,""],"hardcoded_resource":[54,2,1,""],"mock_resource":[54,2,1,""],"none_resource":[54,2,1,""]},"dagster.RootInputManager":{"load_input":[10,2,1,""]},"dagster.RootInputManagerDefinition":{"input_config_schema":[10,2,1,""]},"dagster.RunFailureSensorContext":{"failure_event":[55,0,1,""],"pipeline_run":[55,0,1,""],"sensor_name":[55,0,1,""]},"dagster.RunRequest":{"job_name":[55,0,1,""],"run_config":[55,0,1,""],"run_key":[55,0,1,""],"tags":[55,0,1,""]},"dagster.RunStatusSensorContext":{"dagster_event":[55,0,1,""],"dagster_run":[55,0,1,""],"for_run_failure":[55,2,1,""],"instance":[55,0,1,""],"sensor_name":[55,0,1,""]},"dagster.ScheduleEvaluationContext":{"instance_ref":[55,0,1,""],"scheduled_execution_time":[55,0,1,""]},"dagster.SensorEvaluationContext":{"cursor":[55,0,1,""],"instance":[55,0,1,""],"instance_ref":[55,0,1,""],"last_completion_time":[55,0,1,""],"last_run_key":[55,0,1,""],"repository_name":[55,0,1,""]},"dagster.SkipReason":{"skip_message":[55,0,1,""]},"dagster.SolidDefinition":{"configured":[56,2,1,""]},"dagster.SolidExecutionContext":{"add_output_metadata":[56,2,1,""],"consume_events":[56,2,1,""],"get_mapping_key":[56,2,1,""],"get_tag":[56,2,1,""],"has_partition_key":[56,2,1,""],"has_tag":[56,2,1,""],"instance":[56,2,1,""],"log":[56,2,1,""],"log_event":[56,2,1,""],"mode_def":[56,2,1,""],"output_asset_partition_key":[56,2,1,""],"output_asset_partitions_time_window":[56,2,1,""],"partition_key":[56,2,1,""],"pdb":[56,2,1,""],"pipeline_def":[56,2,1,""],"pipeline_name":[56,2,1,""],"pipeline_run":[56,2,1,""],"resources":[56,2,1,""],"retry_number":[56,2,1,""],"run_config":[56,2,1,""],"run_id":[56,2,1,""],"solid_config":[56,2,1,""],"solid_def":[56,2,1,""],"step_launcher":[56,2,1,""]},"dagster.SolidExecutionResult":{"compute_input_event_dict":[56,2,1,""],"compute_output_events_dict":[56,2,1,""],"compute_step_events":[56,2,1,""],"compute_step_failure_event":[56,2,1,""],"expectation_events_during_compute":[56,2,1,""],"expectation_results_during_compute":[56,2,1,""],"failure_data":[56,2,1,""],"get_output_event_for_compute":[56,2,1,""],"get_output_events_for_compute":[56,2,1,""],"get_step_success_event":[56,2,1,""],"input_events_during_compute":[56,2,1,""],"materialization_events_during_compute":[56,2,1,""],"materializations_during_compute":[56,2,1,""],"output_events_during_compute":[56,2,1,""],"output_value":[56,2,1,""],"output_values":[56,2,1,""],"retry_attempts":[56,2,1,""],"skipped":[56,2,1,""],"success":[56,2,1,""]},"dagster.SourceAsset":{"description":[1,0,1,""],"io_manager_key":[1,0,1,""],"key":[1,0,1,""],"metadata_entries":[1,0,1,""],"partitions_def":[1,0,1,""]},"dagster.TypeCheckContext":{"log":[6,0,1,""],"resources":[6,0,1,""],"run_id":[6,0,1,""]},"dagster.core":{"errors":[5,5,0,"-"]},"dagster.core.definitions.reconstruct":{"ReconstructablePipeline":[51,1,1,""]},"dagster.core.definitions.reconstruct.ReconstructablePipeline":{"get_module":[51,2,1,""]},"dagster.core.errors":{"user_code_error_boundary":[9,4,1,""]},"dagster.core.instance":{"InstanceRef":[9,1,1,""]},"dagster.core.launcher":{"DefaultRunLauncher":[9,1,1,""],"RunLauncher":[9,1,1,""]},"dagster.core.run_coordinator":{"DefaultRunCoordinator":[9,1,1,""],"QueuedRunCoordinator":[9,6,1,""]},"dagster.core.scheduler":{"DagsterDaemonScheduler":[55,6,1,""],"Scheduler":[9,1,1,""]},"dagster.core.storage.compute_log_manager":{"ComputeLogManager":[9,1,1,""]},"dagster.core.storage.event_log":{"ConsolidatedSqliteEventLogStorage":[9,1,1,""],"EventLogEntry":[9,1,1,""],"EventLogRecord":[9,1,1,""],"EventLogStorage":[9,1,1,""],"EventRecordsFilter":[9,1,1,""],"RunShardedEventsCursor":[9,1,1,""],"SqlEventLogStorage":[9,1,1,""],"SqliteEventLogStorage":[9,1,1,""]},"dagster.core.storage.file_manager":{"FileManager":[9,1,1,""]},"dagster.core.storage.file_manager.FileManager":{"copy_handle_to_local_temp":[9,2,1,""],"delete_local_temp":[9,2,1,""],"read":[9,2,1,""],"read_data":[9,2,1,""],"write":[9,2,1,""],"write_data":[9,2,1,""]},"dagster.core.storage.local_compute_log_manager":{"LocalComputeLogManager":[9,1,1,""]},"dagster.core.storage.root":{"LocalArtifactStorage":[9,1,1,""]},"dagster.core.storage.root.LocalArtifactStorage":{"config_type":[9,2,1,""],"from_config_value":[9,2,1,""],"inst_data":[9,2,1,""]},"dagster.core.storage.runs":{"RunStorage":[9,1,1,""],"SqlRunStorage":[9,1,1,""],"SqliteRunStorage":[9,1,1,""]},"dagster.core.storage.schedules":{"ScheduleStorage":[9,1,1,""],"SqlScheduleStorage":[9,1,1,""],"SqliteScheduleStorage":[9,1,1,""]},"dagster.loggers":{"colored_console_logger":[46,4,1,""],"json_console_logger":[46,4,1,""]},"dagster.serdes":{"ConfigurableClass":[9,1,1,""],"ConfigurableClassData":[9,1,1,""]},"dagster.serdes.ConfigurableClass":{"config_type":[9,2,1,""],"from_config_value":[9,2,1,""],"inst_data":[9,2,1,""]},"dagster.utils":{"make_email_on_run_failure_sensor":[58,4,1,""]},"dagster.utils.forked_pdb":{"ForkedPdb":[58,1,1,""]},"dagster_airbyte":{"AirbyteResource":[12,1,1,""],"airbyte_resource":[12,6,1,""],"airbyte_sync_op":[12,6,1,""],"build_airbyte_assets":[12,4,1,""]},"dagster_airbyte.AirbyteResource":{"make_request":[12,2,1,""],"sync_and_poll":[12,2,1,""]},"dagster_airflow":{"make_airflow_dag":[13,4,1,""],"make_airflow_dag_containerized":[13,4,1,""],"make_airflow_dag_for_operator":[13,4,1,""],"make_dagster_job_from_airflow_dag":[13,4,1,""],"make_dagster_pipeline_from_airflow_dag":[13,4,1,""],"make_dagster_repo_from_airflow_dag_bag":[13,4,1,""],"make_dagster_repo_from_airflow_dags_path":[13,4,1,""],"make_dagster_repo_from_airflow_example_dags":[13,4,1,""]},"dagster_aws.cloudwatch":{"cloudwatch_logger":[14,6,1,""]},"dagster_aws.ecs":{"EcsRunLauncher":[14,6,1,""]},"dagster_aws.emr":{"EmrClusterState":[14,6,1,""],"EmrError":[14,1,1,""],"EmrJobRunner":[14,1,1,""],"EmrStepState":[14,6,1,""],"emr_pyspark_step_launcher":[14,6,1,""]},"dagster_aws.redshift":{"fake_redshift_resource":[14,6,1,""],"redshift_resource":[14,6,1,""]},"dagster_aws.s3":{"S3ComputeLogManager":[14,1,1,""],"S3Coordinate":[14,6,1,""],"S3FileCache":[14,1,1,""],"S3FileHandle":[14,1,1,""],"s3_file_manager":[14,6,1,""],"s3_pickle_asset_io_manager":[14,6,1,""],"s3_pickle_io_manager":[14,6,1,""],"s3_resource":[14,6,1,""]},"dagster_aws.s3.S3FileHandle":{"path_desc":[14,2,1,""],"s3_bucket":[14,2,1,""],"s3_key":[14,2,1,""],"s3_path":[14,2,1,""]},"dagster_aws.secretsmanager":{"secretsmanager_resource":[14,6,1,""],"secretsmanager_secrets_resource":[14,6,1,""]},"dagster_azure.adls2":{"ADLS2FileHandle":[15,1,1,""],"FakeADLS2Resource":[15,1,1,""],"adls2_file_cache":[15,6,1,""],"adls2_file_manager":[15,6,1,""],"adls2_pickle_asset_io_manager":[15,6,1,""],"adls2_pickle_io_manager":[15,6,1,""],"adls2_resource":[15,6,1,""]},"dagster_azure.adls2.ADLS2FileHandle":{"account":[15,2,1,""],"adls2_path":[15,2,1,""],"file_system":[15,2,1,""],"key":[15,2,1,""],"path_desc":[15,2,1,""]},"dagster_azure.blob":{"AzureBlobComputeLogManager":[15,1,1,""]},"dagster_celery":{"celery_executor":[16,6,1,""]},"dagster_celery_docker":{"celery_docker_executor":[17,6,1,""]},"dagster_celery_k8s":{"CeleryK8sRunLauncher":[18,6,1,""],"celery_k8s_job_executor":[18,6,1,""]},"dagster_dask":{"dask_executor":[19,6,1,""]},"dagster_databricks":{"DatabricksError":[20,1,1,""],"create_databricks_job_op":[20,4,1,""],"create_databricks_job_solid":[20,4,1,""],"databricks_pyspark_step_launcher":[20,6,1,""]},"dagster_datadog":{"datadog_resource":[21,6,1,""]},"dagster_dbt":{"DagsterDbtCliFatalRuntimeError":[22,3,1,""],"DagsterDbtCliHandledRuntimeError":[22,3,1,""],"DagsterDbtCliOutputsNotFoundError":[22,3,1,""],"DagsterDbtCliRuntimeError":[22,3,1,""],"DagsterDbtCliUnexpectedOutputError":[22,3,1,""],"DagsterDbtError":[22,3,1,""],"DagsterDbtRpcUnexpectedPollOutputError":[22,3,1,""],"DbtCliOutput":[22,1,1,""],"DbtCliResource":[22,1,1,""],"DbtCloudResourceV2":[22,1,1,""],"DbtOutput":[22,1,1,""],"DbtResource":[22,1,1,""],"DbtRpcOutput":[22,1,1,""],"DbtRpcResource":[22,1,1,""],"DbtRpcSyncResource":[22,1,1,""],"create_dbt_rpc_run_sql_solid":[22,4,1,""],"dbt_cli_compile":[22,6,1,""],"dbt_cli_resource":[22,6,1,""],"dbt_cli_run":[22,6,1,""],"dbt_cli_run_operation":[22,6,1,""],"dbt_cli_snapshot":[22,6,1,""],"dbt_cli_snapshot_freshness":[22,6,1,""],"dbt_cli_test":[22,6,1,""],"dbt_cloud_resource":[22,6,1,""],"dbt_cloud_run_op":[22,6,1,""],"dbt_compile_op":[22,4,1,""],"dbt_docs_generate_op":[22,4,1,""],"dbt_ls_op":[22,4,1,""],"dbt_rpc_compile_sql":[22,6,1,""],"dbt_rpc_resource":[22,6,1,""],"dbt_rpc_run":[22,6,1,""],"dbt_rpc_run_and_wait":[22,6,1,""],"dbt_rpc_run_operation":[22,6,1,""],"dbt_rpc_run_operation_and_wait":[22,6,1,""],"dbt_rpc_snapshot":[22,6,1,""],"dbt_rpc_snapshot_and_wait":[22,6,1,""],"dbt_rpc_snapshot_freshness":[22,6,1,""],"dbt_rpc_snapshot_freshness_and_wait":[22,6,1,""],"dbt_rpc_sync_resource":[22,6,1,""],"dbt_rpc_test":[22,6,1,""],"dbt_rpc_test_and_wait":[22,6,1,""],"dbt_run_op":[22,6,1,""],"dbt_seed_op":[22,4,1,""],"dbt_snapshot_op":[22,4,1,""],"dbt_test_op":[22,4,1,""],"load_assets_from_dbt_manifest":[22,4,1,""],"load_assets_from_dbt_project":[22,4,1,""],"local_dbt_rpc_resource":[22,6,1,""]},"dagster_dbt.DbtCliOutput":{"command":[22,0,1,""],"logs":[22,0,1,""],"raw_output":[22,0,1,""],"result":[22,0,1,""],"return_code":[22,0,1,""]},"dagster_dbt.DbtCliResource":{"cli":[22,2,1,""],"compile":[22,2,1,""],"default_flags":[22,2,1,""],"freshness":[22,2,1,""],"generate_docs":[22,2,1,""],"ls":[22,2,1,""],"run":[22,2,1,""],"run_operation":[22,2,1,""],"seed":[22,2,1,""],"snapshot":[22,2,1,""],"strict_flags":[22,2,1,""],"test":[22,2,1,""]},"dagster_dbt.DbtCloudResourceV2":{"cancel_run":[22,2,1,""],"get_job":[22,2,1,""],"get_manifest":[22,2,1,""],"get_run":[22,2,1,""],"get_run_artifact":[22,2,1,""],"get_run_results":[22,2,1,""],"get_run_steps":[22,2,1,""],"get_runs":[22,2,1,""],"list_run_artifacts":[22,2,1,""],"make_request":[22,2,1,""],"poll_run":[22,2,1,""],"run_job":[22,2,1,""],"run_job_and_poll":[22,2,1,""],"update_job":[22,2,1,""]},"dagster_dbt.DbtResource":{"compile":[22,2,1,""],"generate_docs":[22,2,1,""],"logger":[22,2,1,""],"ls":[22,2,1,""],"run":[22,2,1,""],"run_operation":[22,2,1,""],"seed":[22,2,1,""],"snapshot":[22,2,1,""],"test":[22,2,1,""]},"dagster_dbt.DbtRpcOutput":{"response":[22,0,1,""],"response_dict":[22,0,1,""],"result":[22,0,1,""]},"dagster_dbt.DbtRpcResource":{"cli":[22,2,1,""],"compile":[22,2,1,""],"compile_sql":[22,2,1,""],"generate_docs":[22,2,1,""],"host":[22,2,1,""],"jsonrpc_version":[22,2,1,""],"kill":[22,2,1,""],"logger":[22,2,1,""],"ls":[22,2,1,""],"poll":[22,2,1,""],"port":[22,2,1,""],"ps":[22,2,1,""],"run":[22,2,1,""],"run_operation":[22,2,1,""],"run_sql":[22,2,1,""],"seed":[22,2,1,""],"snapshot":[22,2,1,""],"snapshot_freshness":[22,2,1,""],"status":[22,2,1,""],"test":[22,2,1,""],"url":[22,2,1,""]},"dagster_dbt.utils":{"generate_materializations":[22,4,1,""]},"dagster_docker":{"DockerRunLauncher":[23,6,1,""],"docker_executor":[23,6,1,""]},"dagster_fivetran":{"FivetranResource":[24,1,1,""],"build_fivetran_assets":[24,4,1,""],"fivetran_resource":[24,6,1,""],"fivetran_sync_op":[24,6,1,""]},"dagster_fivetran.FivetranResource":{"get_connector_details":[24,2,1,""],"get_connector_sync_status":[24,2,1,""],"make_request":[24,2,1,""],"poll_sync":[24,2,1,""],"resync_and_poll":[24,2,1,""],"start_resync":[24,2,1,""],"start_sync":[24,2,1,""],"sync_and_poll":[24,2,1,""],"update_connector":[24,2,1,""],"update_schedule_type":[24,2,1,""]},"dagster_gcp":{"BigQueryError":[25,1,1,""],"GCSFileHandle":[25,1,1,""],"bigquery_resource":[25,6,1,""],"bq_create_dataset":[25,4,1,""],"bq_delete_dataset":[25,4,1,""],"bq_op_for_queries":[25,4,1,""],"bq_solid_for_queries":[25,4,1,""],"dataproc_op":[25,6,1,""],"dataproc_resource":[25,6,1,""],"dataproc_solid":[25,4,1,""],"gcs_file_manager":[25,6,1,""],"gcs_resource":[25,6,1,""],"import_df_to_bq":[25,4,1,""],"import_file_to_bq":[25,4,1,""],"import_gcs_paths_to_bq":[25,4,1,""]},"dagster_gcp.GCSFileHandle":{"gcs_bucket":[25,2,1,""],"gcs_key":[25,2,1,""],"gcs_path":[25,2,1,""],"path_desc":[25,2,1,""]},"dagster_gcp.gcs":{"gcs_pickle_asset_io_manager":[25,6,1,""],"gcs_pickle_io_manager":[25,6,1,""]},"dagster_ge":{"ge_validation_op_factory":[26,4,1,""],"ge_validation_solid_factory":[26,4,1,""]},"dagster_github":{"github_resource":[27,6,1,""]},"dagster_graphql":{"DagsterGraphQLClient":[28,1,1,""],"DagsterGraphQLClientError":[28,3,1,""],"InvalidOutputErrorInfo":[28,1,1,""],"ReloadRepositoryLocationInfo":[28,1,1,""],"ReloadRepositoryLocationStatus":[28,1,1,""]},"dagster_graphql.DagsterGraphQLClient":{"get_run_status":[28,2,1,""],"reload_repository_location":[28,2,1,""],"shutdown_repository_location":[28,2,1,""],"submit_job_execution":[28,2,1,""],"submit_pipeline_execution":[28,2,1,""]},"dagster_k8s":{"K8sRunLauncher":[29,6,1,""],"k8s_job_executor":[29,6,1,""]},"dagster_mlflow":{"end_mlflow_on_run_finished":[30,6,1,""],"end_mlflow_run_on_pipeline_finished":[30,6,1,""],"mlflow_tracking":[30,6,1,""]},"dagster_msteams":{"make_teams_on_pipeline_failure_sensor":[31,4,1,""],"msteams_resource":[31,6,1,""],"teams_on_failure":[31,6,1,""],"teams_on_success":[31,6,1,""]},"dagster_mysql":{"MySQLEventLogStorage":[32,1,1,""],"MySQLRunStorage":[32,1,1,""],"MySQLScheduleStorage":[32,1,1,""]},"dagster_pagerduty":{"pagerduty_resource":[33,6,1,""]},"dagster_pandas":{"DataFrame":[34,6,1,""],"PandasColumn":[34,1,1,""],"RowCountConstraint":[34,1,1,""],"StrictColumnsConstraint":[34,1,1,""],"create_dagster_pandas_dataframe_type":[34,4,1,""]},"dagster_pandas.PandasColumn":{"boolean_column":[34,2,1,""],"categorical_column":[34,2,1,""],"datetime_column":[34,2,1,""],"exists":[34,2,1,""],"float_column":[34,2,1,""],"integer_column":[34,2,1,""],"numeric_column":[34,2,1,""],"string_column":[34,2,1,""]},"dagster_papertrail":{"papertrail_logger":[35,6,1,""]},"dagster_postgres":{"PostgresEventLogStorage":[36,6,1,""],"PostgresRunStorage":[36,6,1,""],"PostgresScheduleStorage":[36,6,1,""]},"dagster_prometheus":{"prometheus_resource":[37,6,1,""]},"dagster_prometheus.resources":{"PrometheusResource":[37,1,1,""]},"dagster_pyspark":{"pyspark_resource":[38,6,1,""]},"dagster_shell":{"create_shell_command_op":[39,4,1,""],"create_shell_command_solid":[39,4,1,""],"create_shell_script_op":[39,4,1,""],"create_shell_script_solid":[39,4,1,""],"shell_op":[39,4,1,""],"shell_solid":[39,4,1,""]},"dagster_slack":{"make_slack_on_pipeline_failure_sensor":[40,4,1,""],"make_slack_on_run_failure_sensor":[40,4,1,""],"slack_on_failure":[40,6,1,""],"slack_on_success":[40,6,1,""],"slack_resource":[40,6,1,""]},"dagster_snowflake":{"SnowflakeConnection":[41,1,1,""],"snowflake_op_for_query":[41,4,1,""],"snowflake_resource":[41,6,1,""]},"dagster_snowflake.SnowflakeConnection":{"execute_queries":[41,2,1,""],"execute_query":[41,2,1,""],"get_connection":[41,2,1,""],"load_table_from_local_parquet":[41,2,1,""]},"dagster_spark":{"SparkOpError":[42,1,1,""],"construct_spark_shell_command":[42,4,1,""],"create_spark_op":[42,4,1,""],"define_spark_config":[42,4,1,""],"spark_resource":[42,6,1,""]},"dagster_ssh":{"SSHResource":[43,1,1,""],"ssh_resource":[43,6,1,""]},"dagster_twilio":{"twilio_resource":[44,6,1,""]},"dagstermill":{"DagstermillError":[45,1,1,""],"DagstermillExecutionContext":[45,1,1,""],"define_dagstermill_op":[45,4,1,""],"define_dagstermill_solid":[45,4,1,""],"get_context":[45,4,1,""],"local_output_notebook_io_manager":[45,4,1,""],"yield_event":[45,4,1,""],"yield_result":[45,4,1,""]},"dagstermill.DagstermillExecutionContext":{"get_tag":[45,2,1,""],"has_tag":[45,2,1,""],"log":[45,2,1,""],"logging_tags":[45,2,1,""],"pipeline_def":[45,2,1,""],"pipeline_run":[45,2,1,""],"resolved_run_config":[45,2,1,""],"resources":[45,2,1,""],"run_config":[45,2,1,""],"run_id":[45,2,1,""],"solid":[45,2,1,""],"solid_config":[45,2,1,""],"solid_def":[45,2,1,""]}},"objnames":{"0":["py","attribute","Python attribute"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","exception","Python exception"],"4":["py","function","Python function"],"5":["py","module","Python module"],"6":["py","data","Python data"],"7":["std","cmdoption","program option"]},"objtypes":{"0":"py:attribute","1":"py:class","2":"py:method","3":"py:exception","4":"py:function","5":"py:module","6":"py:data","7":"std:cmdoption"},"terms":{"100":[14,22,25,38],"120":22,"127":[2,29],"999":21,"1001":21,"1035":25,"1234":21,"1677":34,"2017":16,"2020":29,"2021":50,"2022":[50,55],"2200":20,"2262":34,"2546":[14,38],"3000":[2,28,31,40],"3333":2,"4815":[14,38],"5000":30,"5432":36,"5439":14,"5672":16,"6313":[14,38],"6379":29,"8080":22,"8580":22,"10000":53,"11000":53,"12345":22,"15000":2,"20000":[14,38],"30000":22,"54321":22,"77777":22,"86400":[18,20],"145224193":34,"854775807":34,"00am":50,"0123456789abcdef0123456789abcdef":33,"200m":[14,38],"2048m":[14,38],"21t21":29,"28000m":20,"2auto":25,"2fbl320":41,"2gb":[14,38],"300mb":[14,38],"500gb":25,"500m":[14,38],"512m":[14,38],"95590a":29,"AWS":[20,29],"But":[14,38],"EBS":20,"EKS":29,"For":[1,2,3,6,7,9,10,11,12,14,18,20,22,24,25,29,34,38,41,49,50,51,54,55,56,57],"IDs":27,"Ins":57,"Its":[14,38],"K8s":18,"KMS":[20,25],"NFS":[14,38],"Not":[2,14,38,55],"ONE":2,"Ops":56,"PBS":19,"SAS":15,"Such":58,"TLS":31,"That":1,"The":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,28,29,31,33,34,35,38,39,40,41,45,46,47,48,49,50,51,52,53,54,55,56,57],"Then":[16,17,18,23,29,40],"There":[1,5,31,33],"These":[1,4,6,7,8,9,11,14,20,29,34,38,49,51,54,56,57],"UDS":2,"UIs":[14,38],"USE":[14,41],"Use":[2,3,9,12,13,14,20,21,29,34,38,53,55,56,57],"Used":[9,13,22,49,51,56],"Useful":[2,14,22,25,38],"Uses":[4,7,56],"Using":[6,7,9,11,25,51,56],"Will":[18,22,25,29],"With":18,"__executor_name__":[6,51],"__fieldvaluesentinel":3,"__file__":[4,39,58],"__init__":[53,57],"__input_name__":[6,51],"__logger_name__":[6,51],"__main__":16,"__name__":[3,16,57],"__op_name__":6,"__resource_name__":[6,51],"__solid_name__":51,"_add_on":[49,56],"_clean":4,"_config_map":48,"_construct_job_def_from_yaml_fil":53,"_context":[10,34,49,56,57],"_default_failure_messag":31,"_default_failure_message_text_fn":40,"_get_node_asset_kei":22,"_job":11,"_kei":3,"_op_selection_data":[6,11],"_parent_pipeline_def":51,"_partit":48,"_partitioned_config":48,"_s3_bucket":57,"_s3_kei":57,"_schedul":55,"_yaml_directori":53,"_yaml_file_for_job_nam":53,"a_solid":31,"abcdef":14,"abid":34,"abil":[9,49,56],"abl":[3,6,9,11,14,16,17,18,20,38,51],"abort":[14,38],"about":[1,2,4,7,9,10,14,22,24,28,38,40,49,51,56],"abov":[3,14,20,27,29,38,49,56],"absolut":[14,20,38],"abstract":[9,10,14,15,22,25,47,56,57],"abstractset":[8,51],"acceler":25,"accept":[3,5,9,10,14,20,34,35,38,46,49,50,54,55,56],"access":[5,6,9,13,14,15,20,25,27,30,33,34,38,41,45,53,54,56,57],"access_key_kei":20,"accord":[3,5,9,14,22,25,38],"accordingli":[14,38],"account":[14,15,18,20,21,22,24,25,27,29,35,38,41,44],"account_id":[22,25],"account_nam":15,"account_sid":44,"accur":[14,38],"accurateblockthreshold":[14,38],"achiev":[14,38],"ack":[14,38],"acl":20,"acquir":20,"across":[4,9,14,25,38,49,50,55,56],"act":[14,25,38],"action":[14,25,38],"action_list_oper":26,"action_on_failur":14,"activ":[20,25,35,41],"actual":[2,3,6,10,14,38,49,55,56],"acycl":[6,7,51],"adapt":22,"add":[3,6,9,10,13,14,20,22,25,28,29,30,36,41,51,56],"add_3":57,"add_attach":31,"add_daemon_heartbeat":9,"add_input_metadata":10,"add_metadata":[6,56],"add_metadata_two_output":[6,56],"add_mod":51,"add_on":[6,7,49,51,56],"add_output_metadata":[6,10,56],"add_three_preset":51,"add_to_environ":14,"add_two":56,"added":[10,14,20,25,38,50,51,56],"adder_1":56,"adder_2":56,"adder_resourc":51,"addfil":[14,38],"adding":[18,29],"addit":[5,9,13,14,16,17,18,20,22,38,45,49,52,56],"addition":[49,56],"additional_arg":16,"address":[9,12,14,19,22,25,38],"adl":[15,20],"adls2":[15,20],"adls2_client":15,"adls2_file_cach":15,"adls2_file_manag":15,"adls2_file_system":15,"adls2_path":15,"adls2_pickle_asset_io_manag":15,"adls2_pickle_io_manag":15,"adls2_prefix":15,"adls2_resourc":15,"adls2filehandl":15,"adls2resourc":15,"admin":25,"administr":[22,27],"advanc":[14,22,38],"advantag":50,"advertis":[14,38],"advis":16,"affect":[14,38],"after":[1,2,14,20,22,24,25,29,38,40,41,49,50,54,55,56],"after_cursor":9,"after_timestamp":9,"against":[2,5,6,7,9,11,14,29,41,51,56,57],"agent":21,"aggreg":[14,38],"ahead":[14,38],"aim":15,"airbyte_host":12,"airbyte_port":12,"airbyte_resourc":12,"airbyte_sync_op":12,"airbyteoutput":12,"airbyteresourc":12,"airflow_example_dags_repo":13,"airflow_execution_d":13,"airflow_hom":13,"airline_demo":[52,58],"aka":15,"album":21,"alert":[33,40,55],"alert_failur":6,"alert_start":6,"alert_success":6,"algorithm":[14,38],"alia":[3,6,9,49,51,53,56,57],"alias":[6,7,56],"align":[6,9,16,17,18,51],"aliv":[9,14,38],"all":[1,2,3,4,5,6,7,9,10,11,14,15,16,17,18,20,22,24,25,26,28,29,30,34,38,41,49,50,51,53,54,55,56,57],"all_ev":6,"all_node_ev":6,"all_user_ev":10,"alloc":[14,38],"allow":[1,2,3,6,7,9,10,11,12,14,20,22,24,27,29,31,34,38,40,45,47,49,50,51,53,54,56],"allow_host_key_chang":43,"aloha":3,"along":[1,14,20,22,38,39],"alreadi":[9,14,20,28,29,38],"also":[1,2,6,7,9,10,11,14,15,16,17,18,19,20,22,23,25,27,29,33,38,46,47,49,52,54,55,56,57],"alter":4,"altern":[3,9,14,41,51,56,58],"alwai":[22,25,34,45,50,55,57,58],"amazon":[14,20],"amazonaw":[14,20,29],"amazonec":14,"amazons3":20,"america":[41,50,55],"amount":[14,22,38],"amqp":16,"an_existing_mlflow_run_id":30,"an_op":40,"analyt":25,"ancestor":[1,6,7,11,51],"ani":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,20,22,24,27,28,30,31,34,35,38,39,40,45,46,49,50,51,52,53,54,55,56,57,58],"annot":[45,57],"anonym":[49,56],"anoth":[5,6,7,13,14,28,38,51,57],"ant":[14,38],"any_config":57,"apach":[14,25,38,42],"api":[1,4,5,6,9,12,14,15,21,22,24,27,28,30,31,33,34,38,40,46,47,49,50,51,52,54,56,57],"api_kei":[21,24],"api_secret":[14,24],"api_stepconfig":14,"apirefer":14,"app":[14,17,18,27,38,40],"app_id":[14,38],"app_kei":21,"appauthexampl":14,"appear":[3,6,10,14,20,27,38,56],"append":[20,49,56],"appli":[9,11,13,14,18,20,22,29,38,49,50,51,52,55,56],"applic":[14,18,21,22,25,27,29,38,42],"application_argu":42,"application_jar":42,"apply_op":51,"applylimitperuniquevalu":9,"appropri":[3,7,17,18,29,41,51,56,57],"arbitrari":[1,3,4,5,6,7,11,28,39,49,51,54,56,57],"arbitrarili":56,"arbyt":12,"archiv":25,"archiveuri":25,"aren":[10,40],"arg":[2,5,6,11,17,22,25,28,46,56,58],"argument":[1,2,3,5,6,7,8,9,11,14,16,17,18,22,25,34,38,46,49,50,51,52,53,54,55,56,57],"arn":14,"around":[9,14,16,17,18,38],"arrai":[3,5,14],"arrang":[6,7,51],"articl":16,"artifact":[2,9,14,22,38,49,51,56],"artifactid":[14,38],"artifactori":[14,38],"as_dagster_typ":[49,56,57],"asia":25,"asid":[14,38],"ask":[14,38],"asktimeout":[14,38],"assembl":51,"assert":[9,14,54,57],"assert_failur":57,"assert_success":57,"asset":[6,9,10,14,15,25,45,55,57],"asset1":1,"asset2":1,"asset_group":[1,14,15,25],"asset_kei":[1,4,9,10,24,49,55,56],"asset_key_prefix":[12,22,24,45],"asset_materi":[6,10,56],"asset_materialization_fn":55,"asset_materialization_plan":6,"asset_observ":6,"asset_partit":[4,9,49,56],"asset_partition_kei":10,"asset_partition_key_rang":10,"asset_partitions_def":[4,49,56],"asset_partitions_time_window":10,"asset_sensor":55,"asset_store_oper":6,"assetgroup":[1,14,15,25],"assetin":1,"assetkei":[1,9,10,12,22,24,49,55,56],"assetmateri":[6,10,22,45,49,55,56,57],"assetobserv":[6,10,56],"assetsdefinit":1,"assetsdefint":24,"assetsensordefinit":55,"assign":[1,9,10,14,15,25],"assist":21,"associ":[1,2,6,8,9,10,22,25,49,55,56],"assum":[1,18,29,49,50],"assumpt":14,"async":[49,56],"asynchron":[22,51],"attach":[4,6,10,14,15,25,28,39,48,49,51,55,56,57],"attempt":[5,6,9,14,38,43,49,56],"attempt_num":[49,56],"attempt_numb":9,"attit":20,"attribut":[2,6,9,25,49,54,55],"audit":[14,38],"auth":[25,28,29,44],"auth_token":[22,44],"authent":[14,15,38,41],"author":[6,7,9,13,33,49,56],"auto":[3,22,24,25],"autocommit":[14,41],"autom":[27,29],"automat":[2,3,5,6,10,14,20,22,24,28,35,38,46,49,54,56],"autosc":20,"autoscal":20,"avail":[3,5,6,8,9,10,13,14,15,16,20,22,23,25,28,29,35,38,45,46,48,51,54,55,56,57],"avoid":[9,14,38,49,56],"aws":[20,29],"aws_access_key_id":[14,30],"aws_account_id":[14,29],"aws_region":14,"aws_secret_access_kei":[14,30],"axi":50,"azur":20,"azure_data_lake_storage_kei":15,"azureblobcomputelogmanag":15,"azuredatabrick":20,"back":[9,14,15,16,18,25,29,32,36,38,45,55],"backend":[14,17,18,38],"backendconnectiontimeout":[14,38],"backfil":[2,50,55],"background":16,"backlog":[14,38],"backoff":[49,56],"backoff_delai":[49,56],"backpressur":[14,38],"backward":[14,38],"bad":3,"badg":1,"balthazar":16,"bar":[6,9,10,14,25,38,49,53,54,56,57],"bare":[3,5],"base":[1,5,7,9,10,11,14,15,16,17,18,19,22,25,31,32,34,36,38,40,45,47,49,50,55,56,57,58],"base_dir":[1,9,10],"base_path":[1,10],"basedir":10,"baseexcept":8,"baseoper":13,"basi":[29,51],"basic":[6,7,25,51],"basicprofil":[14,38],"bat":[6,56],"batch":[14,38],"batch_kwarg":26,"baz":[6,49,56],"becaus":[9,14,15,22,24,38],"becom":[3,5,34,46,54,57],"been":[5,6,9,10,12,14,38,53,56],"befor":[3,9,12,14,18,20,22,24,25,29,38,39,49,50,55,56],"before_cursor":9,"before_timestamp":9,"begin":[6,9,14,38,56],"behalf":25,"behavior":[6,11,13,14,20,22,38,49,51,56],"behind":[14,38,55],"being":[3,8,9,10,14,38,46,49,54,55,56],"belong":[6,7,8,14,20,25,38,51,55],"below":[3,14,20,25,27,29,38,41],"bertović":16,"bespok":53,"best":13,"beta":25,"better":[13,14,38],"between":[1,7,9,12,14,15,22,24,25,38,39,49,50,51,54,55,56],"beyond":[14,38,49],"bigger":[14,38],"bigquery_resourc":25,"bigqueryerror":25,"bigtabl":25,"binari":[14,25,38],"binaryio":9,"bind":[11,14,38,41],"bindaddress":[14,38],"bit":41,"bitnami":29,"blacklist":[14,38],"blank":[12,24],"blob":[6,15,20,22],"block":[9,14,15,16,36,38,40,56],"blockinterv":[14,38],"blockmanag":[14,38],"blockmanagerslavetimeoutm":[14,38],"blocks_fn":40,"blocksiz":[14,38],"blog":16,"blue":[3,21],"bodi":[5,6,7,10,27,28,40,46,49,54,56],"bool":[3,5,6,7,11,12,13,14,15,18,20,22,24,25,28,29,31,34,36,38,41,43,45,47,49,50,51,53,55,56,57],"bool_config":57,"boolean":[3,34,47,49,55,57],"boolean_column":34,"boolsourc":3,"boot":25,"bootdisksizegb":25,"bootdisktyp":25,"bootstrap":[14,29],"bot":40,"both":[3,6,9,13,14,20,21,22,26,29,34,38,51,55,56],"boto":14,"boto3":14,"botocor":14,"bound":[14,34,38,50,55],"boundari":[5,6,9,11,49,51,56],"bq_create_dataset":25,"bq_delete_dataset":25,"bq_op_for_queri":25,"bq_solid_for_queri":25,"bracket":57,"breakpoint":58,"brew":29,"bridg":[14,38],"broadcast":[14,38],"broker":[17,18],"broker_url":16,"browser":21,"bucket":[3,14,20,25,34,57],"bucket_prefix":3,"buffer":[14,38],"bufferediobas":45,"buffers":[14,38],"build":[1,6,7,8,10,11,12,22,24,29,46,49,51,54,55,56],"build_airbyte_asset":12,"build_assets_job":[1,24],"build_fivetran_asset":24,"build_hook_context":8,"build_init_logger_context":46,"build_init_resource_context":54,"build_input_context":10,"build_job":1,"build_op_context":[6,14],"build_output_context":10,"build_reconstructable_job":[6,11,51],"build_resourc":54,"build_run_status_sensor_context":55,"build_schedule_context":55,"build_schedule_from_partitioned_job":[50,55],"build_sensor_context":55,"build_solid_context":56,"buildkit":29,"buildup":[14,38],"built":[3,6,9,14,22,34,38,45,51],"builtin":[3,12,22,24,58],"bulk":25,"bundl":14,"bus":[14,38],"busi":57,"bypass":[22,29],"bypass_cach":22,"bypassmergethreshold":[14,38],"byte":[9,14,38,49,56],"cach":[14,22,38,41,53],"cache_column_metadata":41,"cachedexecutoridletimeout":[14,38],"cadenc":[50,55],"calcul":[14,22,38,49,56],"calculate_byt":[49,56],"call":[1,2,3,5,6,9,10,11,13,14,19,20,22,26,29,35,38,41,45,46,47,51,53,56,57],"call_user_provided_funct":9,"callabl":[3,8,9,13,14,22,31,34,35,40,46,49,50,53,54,55,56,57],"callback":8,"caller":[14,25,38,51],"callercontext":[14,38],"can":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,27,28,29,31,32,33,34,35,36,38,39,40,41,46,47,48,49,50,51,52,53,54,55,56,57,58],"cancel":[9,22],"cancel_and_wait":14,"cancel_run":22,"canned_acl":20,"cannot":[5,13,14,20,25,28,34,38,45,49,55,56],"capac":[14,25,38],"captur":[50,58],"card":31,"care":[7,11],"case":[6,7,8,9,14,16,17,18,22,23,34,38,39,46,49,51,53,54,56,57,58],"catalog":[22,49,56],"catch":5,"categor":34,"categori":34,"categorical_column":34,"caus":[2,8,14,25,38],"caution":[14,38],"celeri":29,"celery_docker_executor":17,"celery_docker_job_executor":17,"celery_enabled_job":[16,17,18],"celery_executor":16,"celery_k8s_job_executor":18,"celeryk8srunlaunch":18,"celeryq":[16,17,18],"central":[6,8,14,38,46,50],"central1":25,"cert":14,"certain":[6,9,11,14,34,38,39,41,49,51,56],"certif":[14,25,31],"chain":[14,38],"chang":[2,14,16,22,24,25,29,40,41,50],"channel":[2,31,40],"charact":[14,20,25,38],"chat":40,"chat_postmessag":40,"check":[3,5,6,9,14,22,26,34,38,45,47,49,53,54,55,56,57],"check_cluster_everi":14,"check_dagster_typ":57,"check_nam":21,"checker":3,"checkerror":[34,57],"checkpoint":[14,38],"checkpointinterv":[14,38],"checksum":[14,38],"child":[1,3,5,6,7,11,49,51,56,58],"children":[51,56],"choic":11,"chosen":14,"chunk":[9,14,38],"circumst":[14,38],"claim":29,"class":[1,3,4,5,6,7,8,9,10,11,12,13,14,15,18,20,22,24,25,28,29,32,34,35,36,37,38,41,42,43,45,46,47,48,49,50,51,52,53,54,55,56,57,58],"class_nam":9,"classestoregist":[14,38],"classmethod":[3,9],"classpath":[14,25,38],"clean":[14,38,54],"cleancheckpoint":[14,38],"cleaner":[14,38],"cleanup":[14,29,38,54],"clear":[14,38],"cli":[13,29],"click":40,"client":[2,14,15,19,22,25,30,38,40,41],"client_prefetch_thread":41,"client_session_keep_al":41,"clone":[4,14,38],"cloneconf":[14,38],"close":[9,14,38,41],"closefileafterwrit":[14,38],"cloud":[9,25],"cloudwatch_logg":14,"cls":[9,57],"cluster":[9,14,18,19,20,25,38,57],"cluster_config":25,"cluster_id":14,"cluster_log_conf":20,"clusternam":25,"coars":[14,38],"code":[2,5,6,8,9,14,20,22,25,27,33,38,39,45,46,47,49,51,56,57],"codec":[14,38],"coerc":[49,56],"cogroup":[14,38],"col":[49,56],"col_a":49,"col_b":49,"collect":[1,3,5,6,7,10,14,38,45,49,51,56],"collis":25,"color":[3,21],"colored_console_logg":46,"column":[34,41,49,56],"com":[14,16,17,18,20,22,24,25,27,29,38,40,43,49,56],"combin":[1,7,22,49,51,56],"come":[14,38,55],"comma":[14,38,51],"command":[2,14,16,17,18,22,25,29,38,39,42,52],"committ":[14,38],"common":[9,16,17,18,25,51,57],"commun":[2,9,12,14,24,25,38,49,56,57],"compani":[29,40],"compar":22,"compat":[14,15,25,38],"compelt":22,"compil":[13,22],"compile_project":22,"compile_sql":22,"complet":[6,12,14,18,20,22,24,25,29,34,38,50,51],"completed":24,"completekei":58,"complex":[53,56],"complex_repositori":53,"complex_solid":58,"complexrepositorydata":53,"complic":58,"compon":[1,3,7,9,12,22,24,25],"compos":[1,16,49],"composit":[3,4,7,51,56,57],"composite_solid":[7,22,39,56],"compositesoliddefinit":[3,7,56],"compositesolidexecutionresult":[51,56],"comprehens":24,"compress":[14,38,43],"comput":[1,4,5,6,7,8,10,14,15,20,24,25,28,35,38,46,49,51,55,56,57],"compute_fn":[49,56],"compute_input_event_dict":56,"compute_kind":1,"compute_log":[14,15],"compute_log_manag":[9,14,15],"compute_logs_data":9,"compute_output_events_dict":56,"compute_step_ev":56,"compute_step_failure_ev":56,"computelogmanag":9,"computemetadata":25,"concat":57,"concat_list":57,"concept":[18,29],"conceptu":1,"concert":[5,18],"concis":[14,38],"concret":[9,51],"concurr":[6,9,14,38],"condit":9,"conf":[14,20,25,38],"config":[1,2,5,7,8,9,10,11,13,14,15,16,17,18,19,20,21,22,23,25,27,28,29,30,31,32,33,34,35,36,38,39,40,41,45,46,49,50,52,53,54,55,56,57,58],"config_field":[6,51,54,57],"config_fil":[52,58],"config_fn":[3,51,56],"config_from_fil":58,"config_from_pkg_resourc":58,"config_from_yaml_str":58,"config_map":56,"config_or_config_fn":[9,46,49,54,56],"config_schema":[3,4,9,10,14,22,35,45,46,49,51,53,54,56,57],"config_sourc":[16,17,18],"config_typ":9,"config_valu":[3,5,9,57],"config_yaml":[9,16],"configbucket":25,"configmap":[3,6,7,11,18,29,48,56],"configmapenvsourc":[18,29],"configschema":[3,9,10,14,35,46,49,54,56,57],"configtyp":9,"configu":3,"configur":[1,2,3,5,7,9,10,11,12,14,15,17,18,19,20,22,23,24,25,27,28,29,31,32,35,36,38,39,40,41,42,45,46,49,50,52,54,55,56,57,58],"configurableclass":9,"configurableclassdata":[9,14,15],"configurabledefinit":[3,9,46,49,54,56],"conflict":[14,25,28,38],"conflictingexecutionparamserror":28,"conform":[3,7,11,13,25,28,49,56],"confus":[9,20,49,56],"conjunct":[3,55],"conn_str":9,"connect":[2,9,10,12,14,15,17,19,22,23,24,25,28,29,31,38,40,41,43,49,54,56],"connect_timeout":14,"connection_id":12,"connectionerror":28,"connectiontimeout":[14,38],"connector":[12,15,24,41],"connector_id":24,"consecut":[14,38],"consequ":[6,11,13,51],"conserv":[6,11,51],"consid":[14,20,22,38,39,55,57],"consider":[14,38],"consist":[10,49,50,51],"consol":[14,25,38,45],"consolid":9,"consolidatedsqliteeventlogstorag":9,"constant":3,"constitu":[1,6,7,13,56],"constraint":[22,28,34,49,56],"construct":[1,5,6,9,10,11,13,16,17,18,22,34,39,41,42,45,46,50,51,52,53,54,55,56,57,58],"construct_spark_shell_command":42,"constructor":[4,5,9,13,14,16,17,18,34,38,49,51,52,53,56,58],"consult":9,"consum":[1,9,14,38,49,56],"consume_ev":[6,10,56],"consume_logged_metadata_entri":10,"consumpt":[14,38],"contact":16,"contain":[2,3,6,7,9,11,12,13,14,15,16,17,18,20,22,23,24,25,29,31,34,38,40,49,50,51,53,54,55,56,57],"container":13,"container_kwarg":[17,23],"container_nam":14,"content":[1,14,20,22,38],"context":[1,3,4,5,8,9,14,15,20,21,22,25,27,28,30,31,33,34,35,38,39,40,41,45,46,47,49,50,51,53,54,55,57,58],"context_":[34,57],"context_manager_resourc":[6,8,10,54,56],"contextlib":54,"contextmanag":54,"continu":25,"continueonfailur":25,"contrain":3,"contrast":18,"contribut":9,"control":[9,14,20,38,49,53,55,56],"conveni":[46,58],"convent":13,"convert":[3,55,56,58],"cool":[14,15,25,49],"coordin":[14,38],"copi":[9,14,20,22,25,38,40],"copy_handle_to_local_temp":9,"core":[4,5,9,11,12,14,18,24,25,26,29,34,35,38,46,49,51,54,55,56],"core_concept":26,"correct":[1,5,49],"correctli":[14,20,29,38],"correpond":1,"correspond":[2,3,4,6,8,9,10,12,13,16,17,18,20,22,24,25,49,50,53,55,56],"corrupt":[14,38],"cost":[14,38],"costli":53,"could":[3,14,20,22,38],"count":[14,21,34],"cover":10,"cowboytyp":3,"cpu":[14,38],"cpu_count":6,"crash":[14,38],"creat":[1,3,6,7,8,9,10,11,12,13,14,18,19,20,21,22,23,24,25,27,29,31,33,38,40,41,45,49,50,51,53,54,55,56,57,58],"create_dagster_pandas_dataframe_typ":34,"create_databricks_job_op":20,"create_databricks_job_solid":20,"create_dbt_rpc_run_sql_solid":22,"create_issu":27,"create_k8s_job_task":18,"create_offset_partition_selector":50,"create_registered_model":30,"create_run":9,"create_schedule_definit":50,"create_shell_command_op":39,"create_shell_command_solid":39,"create_shell_script_op":39,"create_shell_script_solid":39,"create_spark_op":42,"create_task":16,"creation":[14,17,20,23,29,38,48,53],"cred":15,"credenti":[14,15,18,20,25,29,40],"criteria":[1,6,7,11,39,49,51,56],"critic":46,"cron":[9,50,55],"cron_schedul":[50,53,55],"cross":[6,9,11,20,25,51],"crossrealmtrustadminserv":25,"crossrealmtrustkdc":25,"crossrealmtrustrealm":25,"crossrealmtrustsharedpassworduri":25,"csv":[3,57],"csv_loader":10,"csv_loader_kei":10,"curiou":9,"curl":25,"current":[2,6,9,10,12,13,14,22,24,25,38,46,49,50,51,54,55,56,58],"current_tim":50,"current_valu":5,"curri":3,"cursor":[2,9,55],"custom":[3,6,9,10,13,14,18,20,22,25,28,29,34,38,41,49,51,56,57],"custom_dbt_cli_resourc":22,"custom_dbt_rpc_resourc":22,"custom_dbt_rpc_sync_resourc":22,"custom_instance_class_data":9,"custom_path_fs_io_manag":10,"custom_service_account":25,"custom_sync_dbt_rpc_resourc":22,"custom_tag":20,"custom_typ":49,"cyclic":54,"d9971c84d44d47f382a2928c8c161faa":29,"daemon":[9,25,55],"daemon_heartbeat":9,"dag":[6,7,13,14,38,51],"dag_bag":13,"dag_descript":13,"dag_id":13,"dag_kwarg":13,"dag_path":13,"dagbag":13,"daggraph":[14,38],"dagit":[1,7,9,11,13,28,29,31,32,36,40,49,50,51,52,55,56,58],"dagit_base_url":[31,40],"dagit_port":2,"dagredi":29,"dagrun":13,"dagster":[1,3,4,5,6,7,8,9,10,11,17,18,23,45,46,47,48,49,50,51,52,53,54,55,56,57,58],"dagster_airbyt":12,"dagster_airflow":13,"dagster_aw":[9,14,45,57],"dagster_azur":15,"dagster_celeri":[16,17,18],"dagster_celery_broker_host":[16,17,18],"dagster_celery_dock":17,"dagster_celery_k8":[16,18],"dagster_dask":19,"dagster_databrick":20,"dagster_datadog":21,"dagster_dbt":22,"dagster_dock":23,"dagster_docker_imag":29,"dagster_docker_image_tag":29,"dagster_docker_repositori":29,"dagster_ev":[9,45,55],"dagster_exampl":[52,58],"dagster_fivetran":24,"dagster_g":26,"dagster_gcp":25,"dagster_github":27,"dagster_graphql":28,"dagster_handl":46,"dagster_hom":[2,9,17,18,29,32,36],"dagster_imag":29,"dagster_inst":55,"dagster_k8":[18,29],"dagster_mlflow":30,"dagster_msteam":31,"dagster_mysql":[9,32],"dagster_pagerduti":33,"dagster_panda":[26,34],"dagster_papertrail":35,"dagster_pg_password":[18,29],"dagster_pipeline_factori":13,"dagster_postgr":[9,36],"dagster_prometheu":37,"dagster_pyspark":38,"dagster_run":[6,49,54,55,56],"dagster_shel":39,"dagster_slack":40,"dagster_snowflak":41,"dagster_spark":42,"dagster_ssh":43,"dagster_stag":20,"dagster_test":29,"dagster_twilio":44,"dagster_typ":[1,3,4,5,6,10,26,34,49,56,57],"dagster_type_load":[6,34,51,57],"dagster_type_m":57,"dagster_type_materi":[34,57],"dagsterassetmetadatavalu":[49,56],"dagsterconfigmappingfunctionerror":5,"dagsterdaemonschedul":55,"dagsterdbtclifatalruntimeerror":22,"dagsterdbtclihandledruntimeerror":22,"dagsterdbtclioutputsnotfounderror":22,"dagsterdbtcliruntimeerror":22,"dagsterdbtcliunexpectedoutputerror":22,"dagsterdbterror":22,"dagsterdbtrpcunexpectedpolloutputerror":22,"dagstererror":5,"dagsterev":[6,8,9,51,55,56],"dagstereventloginvalidforrun":5,"dagstereventtyp":[6,9],"dagsterexecutionstepexecutionerror":[5,9],"dagsterexecutionstepnotfounderror":5,"dagstergraphqlcli":28,"dagstergraphqlclienterror":28,"dagsterinst":[2,5,6,7,9,11,13,51,54,55,56],"dagsterinvalidconfigdefinitionerror":5,"dagsterinvalidconfigerror":[3,5],"dagsterinvaliddefinitionerror":[5,22],"dagsterinvariantviolationerror":[5,6,52,54,58],"dagsterlogmanag":[6,8,9,10,45,46,54,56],"dagstermil":[6,11,51],"dagstermillerror":45,"dagstermillexecutioncontext":45,"dagsterpipelinerunmetadatavalu":[49,56],"dagsterresourcefunctionerror":5,"dagsterrun":[6,55],"dagsterrunconflict":28,"dagsterrunnotfounderror":5,"dagsterrunstatu":9,"dagsterstepoutputnotfounderror":5,"dagstersubprocesserror":5,"dagstertyp":[1,5,6,10,14,26,34,49,56,57],"dagstertypecheckdidnotpass":5,"dagstertypecheckerror":5,"dagstertypekind":[34,57],"dagstertypeload":[34,57],"dagstertypemateri":[34,57],"dagsterunknownresourceerror":5,"dagsterunmetexecutorrequirementserror":5,"dagsterusercodeexecutionerror":[5,9],"dai":[50,55],"daili":[14,38,50,55],"daily_10am_schedul":50,"daily_partitioned_config":[50,55],"daily_schedul":55,"dashboard":[14,38,49,56],"dashboard_url":[49,56],"dask_enabled_job":19,"dask_executor":19,"data":[3,4,6,9,10,12,14,15,18,20,22,24,25,26,29,34,35,38,41,46,47,49,51,54,56,57],"databas":[2,9,14,22,25,29,32,36,41,49,50,54,55,56],"databricks_cli":20,"databricks_host":20,"databricks_job":20,"databricks_pyspark_step_launch":20,"databricks_token":20,"databrickserror":20,"datadog_op":21,"datadog_resourc":21,"datadogpi":21,"datafram":[22,26,34,38],"dataframe_constraint":34,"dataframe_load":34,"dataframe_materi":34,"dataframeconstraint":34,"datalakeservicecli":15,"dataproc_op":25,"dataproc_resourc":25,"dataproc_solid":25,"dataset":[25,26,49,56],"datasourc":26,"datasource_nam":26,"date":[2,14,20,22,47,50,55],"date_partition_rang":50,"datetim":[24,34,50,55],"datetime64":34,"datetime_column":34,"day_of_month":[50,55],"day_of_week":[50,55],"day_offset":[50,55],"db_name":[9,32,36],"db_statement_timeout":2,"dbf":20,"dbt":1,"dbt_cli_compil":22,"dbt_cli_pipelin":22,"dbt_cli_resourc":22,"dbt_cli_run":22,"dbt_cli_run_oper":22,"dbt_cli_snapshot":22,"dbt_cli_snapshot_fresh":22,"dbt_cli_test":22,"dbt_cloud":22,"dbt_cloud_auth_token":22,"dbt_cloud_host":22,"dbt_cloud_resourc":22,"dbt_cloud_run_op":22,"dbt_compile_op":22,"dbt_docs_generate_op":22,"dbt_execut":22,"dbt_ls_op":22,"dbt_output":22,"dbt_profiles_dir":22,"dbt_project":22,"dbt_rpc":22,"dbt_rpc_compile_sql":22,"dbt_rpc_job":22,"dbt_rpc_resourc":22,"dbt_rpc_run":22,"dbt_rpc_run_and_wait":22,"dbt_rpc_run_oper":22,"dbt_rpc_run_operation_and_wait":22,"dbt_rpc_snapshot":22,"dbt_rpc_snapshot_and_wait":22,"dbt_rpc_snapshot_fresh":22,"dbt_rpc_snapshot_freshness_and_wait":22,"dbt_rpc_sync_job":22,"dbt_rpc_sync_resourc":22,"dbt_rpc_test":22,"dbt_rpc_test_and_wait":22,"dbt_run_op":22,"dbt_seed_op":22,"dbt_snapshot_op":22,"dbt_test_op":22,"dbtclioutput":22,"dbtcliresourc":22,"dbtcloudoutput":22,"dbtcloudresourcev2":22,"dbtoutput":22,"dbtresourc":22,"dbtrpcoutput":22,"dbtrpcresourc":22,"dbtrpcsyncresourc":22,"dd_job":21,"dead":[14,38],"debian":25,"debug":[6,12,22,24,25,29,46,56,58],"debug_log":22,"debugg":58,"decid":[14,38],"declar":[6,7,14,15,49,51,56],"decor":[1,3,6,7,8,9,10,11,21,22,34,39,46,49,50,51,53,54,55,56,57],"decorated_fn":[8,50,55],"decreas":[14,38],"decrement":21,"dedupl":56,"deeplink":[31,40],"def":[1,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,29,30,31,33,38,39,40,41,49,51,53,54,56,57,58],"default":[1,2,3,4,6,7,9,10,11,12,13,14,15,16,17,18,20,22,24,25,26,27,28,29,30,31,34,36,38,39,40,41,43,45,48,49,50,51,52,53,54,55,56,57,58],"default_arg":13,"default_executor":[48,51],"default_flag":22,"default_output":[51,56],"default_statu":[31,40,50,55],"default_tag":20,"default_valu":[3,4,49,56],"defaultcor":[14,38],"defaultruncoordin":9,"defaultrunlaunch":9,"defaultschedulestatu":[50,55],"defaultsensorstatu":[31,40,55],"defin":[3,4,5,6,7,8,9,10,11,14,15,16,17,18,19,20,22,23,25,28,29,34,35,45,47,48,50,51,52,53,54,55,57],"define_dagstermill_op":45,"define_dagstermill_solid":45,"define_my_job":[6,11,51],"define_pipelin":2,"define_repo":2,"define_spark_config":42,"definit":[1,3,4,5,6,7,8,9,10,11,12,13,14,15,20,22,24,25,38,39,41,45,46,49,50,53,54,55,56],"delai":[14,38,49,56],"deleg":[9,16,18,46],"delet":[2,9,14,25,29,38],"delete_local_temp":9,"delin":[50,55],"deliv":20,"delta_rang":50,"deni":16,"denibertov":16,"depend":[1,4,6,7,11,13,14,15,22,25,38,40,45,54,56,57],"depende":51,"dependency_structur":51,"dependencydefinit":[6,7,51,56],"deploi":[14,25,29,38],"deploy":[14,17,18,19,28,29,38,55],"deploy_local_job_packag":14,"deploy_local_pipeline_packag":14,"deploy_mod":42,"deploymod":[14,38],"deprec":[6,14,22,38,48,55],"deqeueu":9,"dequeue_interval_second":9,"deriv":9,"descend":[1,6,7,11,51],"describ":[3,7,9,10,11,20,22,28,29,47,49,56],"descript":[1,3,4,5,6,7,9,10,11,13,14,20,22,34,35,38,39,42,45,46,48,49,50,51,53,54,55,56,57],"descriptor":49,"deseri":[10,55],"design":[1,6,10,22,56],"desir":[12,15,22,24,29,56],"destin":20,"destination_t":[12,24],"destruct":[14,38],"detail":[12,14,16,17,18,20,22,24,38,40,41,49,56],"detect":[14,38],"determin":[1,2,4,6,7,11,20,22,25,34,49,50,51,55,56,57],"determinist":[49,56,57],"dev":[3,14,16,17,18,20,29],"dev_s3":3,"develop":[25,27,45,57],"devstorag":25,"dfoo":25,"dict":[1,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,28,29,30,34,36,38,39,40,41,45,48,49,50,51,52,53,54,55,56,57,58],"dictionari":[1,3,5,6,7,8,10,11,22,24,48,49,50,51,53,54,55,56,58],"dictread":57,"dictwrit":57,"did":[56,58],"died":9,"differ":[1,3,6,10,11,14,16,17,18,22,38,39,49,50,51,55,56],"dir":[1,9,14,22,25,38],"direct":[1,6,7,11,14,38,51],"directli":[2,3,6,7,9,13,14,15,21,22,32,36,38,39,45,46,49,51,53,55,56],"directori":[1,2,9,10,13,14,15,16,20,22,25,38,41,53,58],"dirnam":4,"disabl":[9,14,16,17,18,22,23,29,38,39,41],"disable_schedule_on_trigg":[22,24],"disallow":9,"discret":[7,11,50],"disk":[9,14,20,25,38,49,56],"diskconfig":25,"dispatch":[6,8,28,46],"displai":[1,2,4,14,22,34,38,40,49,55,56,57],"distcp":25,"distinct":7,"distinguish":[4,9,34,57],"distribut":[14,15,18,19,21,25,29],"div_2":57,"div_i":57,"divid":[14,38],"dkr":29,"do_someth":[8,10],"do_something_on_failur":8,"do_something_on_success":8,"do_stuff":10,"doc":[9,12,14,16,17,18,20,22,24,25,26,29,40,42],"docker":[13,16,18,29],"docker_executor":23,"docker_image_tag":30,"docker_job":23,"docker_password":17,"dockeroper":13,"dockerrunlaunch":23,"docstr":[49,56],"document":[2,3,9,12,14,20,21,22,24,33,38,40,42,52,58],"doe":[5,6,7,9,14,22,23,28,34,38,49,50,51,54,55,56,57],"doesn":41,"dog":[6,56],"dogstatsd":21,"don":55,"done":[9,32,36,57],"doubl":[14,38],"down":[1,2,6,7,11,14,16,20,21,28,38,51,54],"download":[9,15,41],"downstream":[1,4,6,7,10,11,22,45,49,51,56],"downtim":55,"draw":[18,29],"drive":25,"driver":[14,20,25,38],"driver_node_type_id":20,"driverloglevel":25,"drop":[14,22,38],"dry":29,"dspark":20,"dtype":34,"dublin":34,"due":[14,15,38],"dump":[1,6,7,11,14,38,39,49,51,56],"dump_profil":[14,38],"dunderfil":58,"durat":[14,19,38,50],"dure":[5,6,8,9,14,28,38,39,41,46,49,54,56],"dynam":[6,11,14,20,38,39,41,45,50,51,53],"dynamic_partitioned_config":50,"dynamicalloc":[14,38],"dynamicout":4,"dynamicoutput":[4,6,56],"each":[1,3,4,6,7,9,10,11,12,14,15,16,18,19,20,22,23,24,25,29,38,45,46,47,49,50,51,54,55,56],"eager":9,"earlier":55,"eas":49,"easi":[3,6,9,11,51],"easier":14,"easiest":[9,10,46,49,54,56],"easili":35,"east":14,"east1":25,"eastern":34,"echo":[39,49],"echo_2":49,"ecr":29,"ecs":14,"ecsrunlaunch":14,"edg":51,"edit":[7,11],"effect":[14,29,38,49,56],"effici":[14,38],"egg":[14,25,38],"either":[1,2,3,4,5,6,7,8,9,10,13,14,15,20,22,24,28,29,34,38,40,41,46,49,50,51,54,55,56,57],"elaps":55,"element":[3,5,14,29,38],"elimin":2,"els":[25,57],"email":29,"embed":58,"emit":[6,9],"emit_1":57,"emit_2":57,"emit_3":57,"emit_metadata":[49,56],"emit_two_four":51,"empti":[2,14,18,22,25,29,51],"empty_str":57,"emr_pyspark_step_launch":14,"emr_stag":14,"emrclusterst":14,"emrerror":14,"emrjobrunn":14,"emrstepst":14,"enabl":[1,7,9,11,14,16,17,18,20,23,25,38,41,47,49,51,56],"enable_elastic_disk":20,"enable_encrypt":20,"enablecompress":[14,38],"enablekerbero":25,"encapsul":[13,25,29,49,56],"encod":[1,2,6,7,11,20,22,39,49,51,56,58],"encrypt":[20,25],"encryption_typ":20,"encryptionconfig":25,"end":[1,6,7,16,27,30,49,50,51,55,56],"end_mlflow_on_run_finish":30,"end_mlflow_run_on_pipeline_finish":30,"end_offset":[50,55],"endpoint":[12,14,20,22,24,38],"endpoint_url":14,"enforc":[5,13,14,34,38],"enforce_ord":34,"engin":[6,9,25,41],"engine_ev":6,"engine_event_data":9,"engineev":9,"enough":[2,14,38],"enqueu":9,"ensur":[9,13,20,21,29,39,41,55],"entail":16,"enterpris":27,"entir":[14,22,38,50,51],"entireti":[14,38],"entiti":[14,38],"entri":[1,2,3,4,9,10,14,22,25,38,49,56],"entry_data":[49,56],"enum":[3,5,14,28,56],"enum_valu":3,"enumer":14,"enummeta":3,"enumvalu":3,"env":[3,12,15,17,22,24,29,30,41],"env_config_map":[18,29],"env_secret":[18,29],"env_to_tag":30,"env_var":[17,18,23,29],"envfrom":[18,29],"environ":[1,2,3,6,11,13,14,15,17,18,20,22,23,25,27,28,29,30,32,36,38,50,51,52,55,58],"environment":20,"environment_var":[50,55],"ephemer":[2,6,7,9,11,16,25,26,45,51,54,55,56],"equal":[14,38,50,55],"equival":[3,25,52,57],"error":[1,2,3,6,9,10,12,14,24,28,31,33,38,40,45,46,49,52,55,56,58],"error_cl":9,"error_info":9,"error_object":28,"error_toler":34,"especi":[14,16,17,18,38],"essenti":[14,38],"establish":57,"estim":[14,38],"etc":[6,14,18,22,25,29,38,50,56,58],"europ":34,"evalu":[34,50,53,55],"evaluate_tick":55,"evaluatevalueresult":9,"evaluation_fn":55,"even":[14,38,41,55],"event":[2,4,5,6,8,10,14,18,21,22,29,31,32,33,36,38,40,45,51,55,58],"event_act":33,"event_list":[51,56],"event_log":[9,32,36],"event_log_entri":9,"event_log_storag":[9,32,36],"event_metadata_fn":34,"event_specific_data":6,"event_storag":9,"event_storage_data":9,"event_typ":[6,9],"event_type_valu":6,"eventlog":[14,38],"eventlogentri":[9,55],"eventlogrecord":9,"eventlogstorag":9,"eventqueu":[14,38],"eventrecordsfilt":9,"events_for_nod":6,"eventu":[9,49,56],"eventv2_cr":33,"everi":[14,16,17,18,20,22,38,43,55],"evict":[14,38],"exact":[14,34,38],"exactli":[3,20],"examin":[49,56,58],"exampl":[1,2,3,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,24,25,27,28,29,30,31,33,38,39,40,41,46,49,50,51,52,53,54,55,56,57,58],"example_adls2_op":15,"example_external_task_marker_child":13,"example_job":14,"example_mapping_kei":4,"example_pig_oper":13,"example_pipelin":52,"example_preset":52,"example_redshift_op":14,"example_s3_op":14,"example_secretsmanager_op":14,"example_secretsmanager_secrets_op":14,"example_secretsmanager_secrets_op_2":14,"example_skip_dag":13,"example_trigger_target_dag":13,"example_xcom":13,"exampleenum":3,"exc_info":5,"exceed":[14,22,38],"except":[3,5,6,7,8,11,14,22,25,28,38,41,46,49,51,56],"excess":[14,38],"excit":9,"exclud":[14,22,38,51,56],"execut":[1,2,3,4,5,7,8,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,28,29,38,39,41,43,45,46,47,48,50,52,54,55,57,58],"execute_in_process":[3,5,6,7,11,13,14,21,27,30,33,40,41,55],"execute_pipelin":[13,31,51,52],"execute_pipeline_iter":51,"execute_plan":16,"execute_queri":[14,41],"execute_solid":56,"execute_solid_within_pipelin":56,"execute_solids_within_pipelin":56,"executeinprocessresult":[1,6,7,11],"execution_d":13,"execution_fn":55,"execution_plan":9,"execution_plan_snapshot_id":9,"execution_time_to_partition_fn":50,"execution_timezon":[50,55],"executionplan":9,"executor":[1,3,5,11,14,15,16,17,18,19,20,23,25,29,38,48,49,51,54,56],"executor_config":9,"executor_creation_fn":9,"executor_def":[1,6,7,9,11,16,17,18,19,23,29,48],"executor_id":[14,38],"executorallocationratio":[14,38],"executordefinit":[1,3,6,7,9,11,16,17,18,19,23,29,48,51],"executoridletimeout":[14,38],"executorrequir":9,"exist":[2,3,5,6,7,9,14,18,19,20,25,28,34,38,41,47,50,51,52,54,55,56,57],"exit":[2,14,22,25,38,39,54],"expect":[9,12,14,16,17,18,22,24,25,28,34,38,39,49,56,57],"expectation_events_during_comput":56,"expectation_results_during_comput":56,"expectationresult":[6,45,49,56],"expens":[9,14,38],"expensive_job":53,"expensive_schedul":53,"experi":[29,30],"experienc":55,"experiment":[4,9,14,38,49,54,55,56,57],"experiment_nam":30,"experimentalwarn":58,"expir":13,"explicit":[7,56,57],"explicitli":[1,6,7,9,10,49,56,57,58],"explod":56,"explor":45,"exponenti":[49,56],"export":[2,9,20,29],"expos":[3,12,16,17,18,22,24,29,46,56],"express":[14,34,38,49,50],"ext":9,"extend":[10,14,38,50,55],"extens":9,"extern":[9,14,20,25,29,38,54,55,57],"external_pipeline_origin":9,"external_version_fn":57,"externalpipelineorigin":9,"extra":[14,20,22,30,38],"extra_tag":30,"extraclasspath":[14,38],"extract":25,"extrajavaopt":[14,20,38],"extralibrarypath":[14,38],"extralisten":[14,38],"extras_requir":9,"face":[9,14,38],"facil":57,"factori":[11,22,39,41],"fail":[2,5,8,12,14,18,20,22,24,25,28,29,31,34,38,40,49,54,55,56,57],"fail_fast":22,"fail_pod_on_run_failur":[18,29],"failur":[2,4,8,9,14,20,22,28,31,38,39,40,45,49,55,56],"failure_data":56,"failure_ev":[31,40,55],"failure_hook":8,"failure_typ":28,"fair":[14,38],"fake":15,"fake_redshift_resourc":14,"fakeadls2resourc":15,"fall":[18,25,29,55],"fallback":40,"fals":[3,5,9,12,13,14,15,20,22,25,28,29,34,38,41,43,47,49,50,56,57,58],"fan":[51,57],"fast":[14,16,17,18,22,38],"faster":[14,38],"fatal":[22,25,46],"favor":48,"featur":[9,14,16,20,25,38],"feedback":29,"femal":21,"fetch":[9,14,22,38,41],"fetch_result":[14,41],"fetchfailur":[14,38],"fetchtimeout":[14,38],"few":[14,38],"fewer":[14,38],"fh_1":9,"fh_2":9,"field":[3,4,5,9,13,14,18,20,22,29,32,36,38,39,49,53,56,57],"field_alias":3,"field_util":3,"fieldnam":57,"file":[1,2,3,4,10,13,14,15,16,18,22,25,29,32,36,38,39,41,43,45,49,52,53,56,57,58],"file_handl":9,"file_manag":[9,45,57],"file_nam":53,"file_obj":9,"file_relative_path":[4,39,58],"file_result":4,"file_system":15,"filehandl":[9,45,57],"filemanag":[9,14,15,25,45,57],"filenam":[4,14],"filenotfounderror":58,"fileoutputcommitt":[14,38],"filepath":[10,49,56],"files_in_directori":4,"files_pipelin":9,"filesystem":[1,6,7,9,10,11,14,15,25,38,49,56,57],"fileuri":25,"fileystem":[14,20],"fill":50,"filter":[2,9,14,22,34,38,57],"filter1":[14,38],"final":[1,14,22,25,38,40],"final_foobar_st":[12,24],"find":[9,13,14,16,22,24,27,29,33,38],"fine":[27,53],"finish":[14,30,38,40],"fire":55,"firewal":[14,38],"first":[2,5,6,14,21,22,27,29,33,34,38,40,41,46,49,50,53,55,56,57],"fit":[14,38],"fivetran_api_kei":24,"fivetran_api_secret":24,"fivetran_asset":24,"fivetran_resourc":24,"fivetran_sync_op":24,"fivetranoutput":24,"fivetranresourc":24,"fix":[2,14,38,50],"fixed_server_id":2,"fixtur":29,"flag":[2,9,16,22,25,29,34,41],"flake":[49,56],"flakey_oper":[49,56],"flat_asset_kei":[49,56],"flavor":25,"flexibl":[49,56],"float":[3,4,5,9,12,14,18,20,22,24,31,34,38,49,55,56,57],"float_column":34,"floatmetadatavalu":[49,56],"flow":[6,7,14,34,49,51,56,57],"flower":[16,29],"flush":[14,38],"flux":9,"fmt":[50,55],"follow":[3,4,6,9,10,13,14,15,16,17,18,19,22,23,25,27,29,36,38,49,50,51,52,55,56],"foo":[1,6,8,9,10,11,14,25,31,38,40,49,51,53,54,56,57],"foo_job":[6,11,51],"foo_job_arg":11,"foo_job_kwarg":11,"foo_resourc":1,"foobar":[3,12,24],"footprint":[14,38],"for_run_failur":55,"forc":[14,38],"forefront":1,"fork":[14,38,58],"forked_pdb":[6,56,58],"forkedpdb":[6,56,58],"form":[1,14,20,23,38,51,53],"format":[3,7,8,11,12,14,22,24,25,28,31,34,38,40,41,50,53,55,57],"forver":22,"forward":[5,14,17,29,38],"found":[5,13,14,16,20,22,24,27,28,29,38,47,49,51,56],"foundat":49,"four":[14,16,38,51],"fraction":[14,38],"fragment":[6,9],"framework":[5,6,7,9,13,25,28,39,49,56],"free":[14,38],"freeli":5,"frequenc":[14,38],"frequent":[14,16,17,18,20,38],"fresh":[2,22],"friend":[9,57],"from":[1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,30,31,32,33,34,35,36,38,39,40,41,45,47,49,50,51,52,53,54,55,56,57,58],"from_config_valu":9,"from_current_modul":1,"from_def":54,"from_fil":52,"from_modul":1,"from_package_modul":1,"from_package_nam":1,"from_pkg_resourc":52,"from_python_enum":3,"from_val":54,"from_yaml_str":52,"front":[14,38],"frozenset":[20,34,42,51,56],"fs_asset_io_manag":1,"fs_io_manag":[1,10],"fspath":[49,56],"full":[14,16,20,22,23,25,38,49,51,56],"full_control":25,"full_refresh":22,"fulli":[9,14,22,38,46,49,54,56],"fulltrac":29,"function":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,22,24,31,34,35,38,39,40,41,46,49,51,53,54,55,56,57,58],"further":[14,20,38],"futur":53,"gain":9,"garbag":[14,38],"gate":9,"gatewai":37,"gather":[4,6,11],"gaug":21,"gceclusterconfig":25,"gcepdkmskeynam":25,"gcloud":29,"gcp":29,"gcs":25,"gcs_bucket":25,"gcs_file_manag":25,"gcs_kei":25,"gcs_path":25,"gcs_pickle_asset_io_manag":25,"gcs_pickle_io_manag":25,"gcs_prefix":25,"gcs_resourc":25,"gcsfilehandl":25,"ge_data_context":26,"ge_validation_op_factori":26,"ge_validation_solid_factori":26,"gen":15,"gen2":15,"gender":21,"gener":[1,2,5,6,7,9,10,12,13,14,15,18,20,22,24,25,26,29,34,38,39,41,49,50,51,55,56,57],"generate_doc":22,"generate_materi":22,"get":[2,6,9,10,13,14,16,18,20,21,22,24,25,28,29,38,45,51,52,53,56,58],"get_addresses_for_step_output_vers":9,"get_all_job":53,"get_all_pipelin":53,"get_base_job":1,"get_batch":26,"get_connect":41,"get_connector_detail":24,"get_connector_sync_statu":24,"get_context":45,"get_daemon_heartbeat":9,"get_dag":13,"get_dagster_logg":58,"get_environment_yaml":52,"get_input_asset_kei":10,"get_input_asset_partit":10,"get_job":[22,53],"get_job_failure_ev":[6,55],"get_job_success_ev":[6,55],"get_logged_ev":10,"get_logged_metadata_entri":10,"get_manifest":22,"get_mapping_kei":[6,56],"get_modul":51,"get_observ":10,"get_on":41,"get_output_asset_kei":10,"get_output_asset_partit":10,"get_output_event_for_comput":56,"get_output_events_for_comput":56,"get_output_identifi":10,"get_partit":50,"get_repo_id":27,"get_resource_vers":47,"get_run":22,"get_run_artifact":22,"get_run_config_for_partition_kei":50,"get_run_result":22,"get_run_scoped_output_identifi":10,"get_run_statu":28,"get_run_step":22,"get_secret_valu":14,"get_solid_vers":47,"get_step_success_ev":56,"get_system_temp_directori":[14,15],"get_tag":[6,45,56],"get_template_context":13,"getdbt":22,"getenv":[14,16,17,18,27,31,40],"getrunbyid":22,"giant":[14,38],"github":43,"github_app_id":27,"github_app_private_rsa_kei":27,"github_hostnam":27,"github_installation_id":27,"github_job":27,"github_op":27,"github_private_kei":27,"github_resourc":27,"give":[1,6,14,15,20,28,38,41,56],"given":[1,6,9,10,12,13,14,20,22,24,28,31,34,38,40,47,49,50,51,52,53,54,55,56,57],"gke":29,"glob":[14,38,52,58],"global":[25,54,57],"goe":[14,38],"going":[14,22,38,49,56],"good":[3,14,15,25,27,34,38],"googl":25,"googleapi":25,"gql":28,"grab":9,"gracefulli":[14,38],"grain":[14,38,53],"grandchild":[49,56],"grant":[25,27],"graph":[1,3,4,5,11,12,14,20,24,38,39,41,51,56],"graph_a":51,"graph_def":[6,7,11,51],"graphdefinit":[5,6,7,11,40,46,49,51,55],"graphin":7,"graphout":7,"graphql":[9,29,31,32,36,40,50,55],"graphx":[14,38],"great_expect":26,"greater":[9,14,20,38],"greatexpect":26,"green":3,"group":[1,14,25,53],"groupid":[14,38],"grow":[14,38],"grpc":9,"grpc_host":2,"grpc_port":2,"grpc_socket":2,"gserviceaccount":25,"guarante":[9,14,20,38],"guest":[16,17,18],"guid":[14,19,25,27,29,34,38],"had":[14,38],"hadoop":[14,25,38],"hadoopjob":25,"hand":[14,38,40],"handi":35,"handl":[1,10,14,24,38,39,45,46,49,51,56,57],"handle_input":10,"handle_output":[10,47],"handle_str":[51,56],"handled_output":[6,10],"handler":[14,35,46],"hang":41,"happen":[5,14,38,55],"happi":9,"hard":[9,14,25,38,46],"hardcod":[10,54],"hardcoded_io_manag":10,"hardcoded_resourc":54,"has":[1,3,5,6,7,9,10,12,14,15,20,22,25,28,31,34,38,49,50,51,52,53,56,57,58],"has_error":[49,56],"has_input_nam":10,"has_job":53,"has_output":47,"has_partition_kei":[6,10,56],"has_tag":[6,45,56],"have":[1,4,5,6,9,10,12,14,20,22,24,25,28,29,34,35,38,41,47,49,53,54,55,56,57,58],"haw":3,"hcf":25,"hdf":[14,25,38],"hdfs_user_guid":25,"heap":[14,38],"heartbeat":[9,14,38],"heartbeat_timeout":2,"heartbeatinterv":[14,38],"hei":40,"hello":[3,31,39,49,56,57],"hello_op":58,"hello_world":[39,49,56],"hello_world_daily_schedul":50,"hello_world_partition_set":50,"hello_world_pipelin":50,"hello_world_with_default":3,"help":[9,10,14,16,38,53,54],"helper":[10,54],"here":[6,7,14,16,17,18,20,21,22,24,25,27,29,33,38,40,47,49,51,56],"heurist":13,"hierarch":[49,56],"high":[14,38],"higher":[6,14,38],"highlight":[49,56],"highlycompressedmapstatu":[14,38],"hint":57,"histogram":21,"histor":[2,5,24],"histori":[2,9,14,38,50],"hit":[14,38],"hive":25,"hivejob":25,"hoc":13,"hold":[3,49],"home":[17,22,25],"honor":[14,41],"honua":3,"hook":[7,9,11,30,31,40,51],"hook_complet":6,"hook_def":[6,8,11,31,40,51],"hook_error":6,"hook_fn":8,"hook_skip":6,"hook_to_invok":8,"hook_url":31,"hookcontext":[8,31,40],"hookdefinit":[8,30,31,40,51],"hope":[16,17,18],"host":[2,12,14,20,21,22,28,38,43],"hostnam":[2,9,14,16,25,27,28,32,36,38],"hour":[25,50,55],"hour_of_dai":[50,55],"hour_offset":[50,55],"hourli":[14,38,50,55],"hourly_partitioned_config":[50,55],"hous":[14,38],"how":[1,3,6,7,10,11,14,16,20,21,22,38,51,55,56],"howev":[3,14,22,28,38,39,53],"href":22,"html":[14,16,17,18,20,23,25,26,38,42],"http":[12,14,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,38,40,41,42,43,49,50,55,56],"http_proxi":31,"https_proxi":31,"human":[3,6,7,10,14,35,39,46,48,49,50,51,54,55,56],"hydrat":[14,57],"hyphen":25,"iam":25,"iana":[50,55],"idea":[14,27,38],"idempot":[16,17,18,20],"idempotency_token":20,"ident":[54,57],"identifi":[4,7,10,11,22,34,48,49,50,55,56,57],"identity_imp":57,"identity_partition_selector":50,"idl":[14,38],"ids":13,"ietf":25,"ifnotpres":29,"ignor":[3,6,9,11,14,38],"ignore_handled_error":22,"ignore_missing_v":34,"illeg":[14,38],"imag":[13,17,18,23,25,29],"image_nam":[17,18],"image_pull_polici":[18,29],"image_pull_secret":[18,29],"image_vers":25,"imagepullpolici":29,"imageuri":25,"imagevers":25,"immedi":[9,14,38],"immun":[14,38],"impact":[14,38],"implement":[6,7,9,10,11,12,14,15,16,18,22,24,25,34,38,47,48,49,51,55,56],"implementor":9,"implicitli":57,"import":[1,2,3,6,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,27,29,30,31,38,39,40,41,49,50,51,54,56,58],"import_df_to_bq":25,"import_file_to_bq":25,"import_gcs_paths_to_bq":25,"imprecis":[14,38],"improv":[9,14,38,41],"in_process":[6,18,48,51],"in_process_executor":[6,51],"inbound":[14,38],"includ":[1,5,6,7,9,11,12,13,14,16,17,18,20,22,23,24,25,28,29,31,33,38,40,49,50,51,52,55,56,57],"include_exampl":13,"include_rel":22,"include_sidecar":14,"inclus":50,"incom":[14,31,38],"incompat":[5,15,49,56],"incorrect":25,"increas":[14,38,41],"increment":[14,21,22,38],"incur":9,"indefinit":41,"independ":[25,54],"index":[2,9,14,22,38,49,50,51,53,55,56],"indic":[2,3,5,9,20,25,28,34,41,49,55,56],"individu":[4,6,48],"inf":34,"infer":[1,7,25,28,49,56],"infinit":[14,38,41],"info":[2,9,10,14,16,22,25,27,38,45,46,49,56,58],"inform":[1,2,7,14,17,20,22,23,25,28,38,40,49,51,55,56,58],"ingest":47,"inherit":[5,9,13,34,46,49,54,56,57,58],"init":[20,34,54,57],"init_context":[9,10,14,35,45,46,51,54],"init_script":20,"initexecutorcontext":9,"initi":[3,5,6,9,10,12,13,14,15,19,20,22,24,30,38,45,46,54,55,56,58],"initial_last_sync_complet":24,"initialexecutor":[14,38],"initializationact":25,"initialr":[14,38],"initloggercontext":[14,35,46],"initresourcecontext":[10,54],"inject":[5,18,22,29,45,49,56],"inlin":39,"inner":[9,46,49,54,56,57],"inner_nod":6,"inner_typ":3,"input":[1,3,5,6,7,9,14,22,26,34,38,39,45,46,49,51,54,57],"input1":10,"input_config_schema":10,"input_dagster_typ":26,"input_def":[7,22,39,45,49,51,56],"input_events_during_comput":56,"input_map":[6,7,56],"input_nam":56,"input_valu":56,"inputcontext":[10,49,56],"inputdefinit":[7,10,34,39,45,49,51,56,57],"inputmap":[6,7,56],"ins":[1,7,9,10,49,57],"insensit":9,"insid":[1,12,14,22,24,25,38],"inst_data":[9,14,15,32],"instal":[13,14,20,25,27,29,33,40],"installation_id":27,"instanc":[3,5,6,7,8,10,11,13,14,18,20,22,25,29,30,31,34,38,40,46,47,51,54,55,56,57],"instance_config_map":[18,29],"instance_pool_id":20,"instance_ref":55,"instance_typ":9,"instanceof":57,"instanceref":[9,55],"instancetyp":9,"instanti":[6,9,14,15,22,32,35,36,46,51,54,56],"instead":[1,2,3,5,6,9,11,13,14,15,16,17,18,20,22,28,34,38,39,51,53,55,57],"instruct":[22,27,29,33],"insuffici":[14,38],"int":[1,3,4,5,6,9,12,13,14,20,22,24,25,28,34,43,49,50,51,53,54,55,56,57],"integ":[3,9,22,34,46,49,57],"integer_column":34,"integr":[12,14,20,21,22,24,27,29,33,35,37,38,40,41,43,44],"intend":[6,7,9,14,18,22,28,49,51,53,56,57],"intens":20,"intent":9,"inter":2,"interact":[6,11,14,17,22,26,38,45,51],"interchang":56,"interfac":[1,2,9,12,14,22,24],"intermedi":[9,14,38],"intern":[1,2,6,10,14,22,24,25,28,32,34,36,38,48,51,56,57],"internal_asset_dep":1,"internal_ip_onli":25,"internaliponli":25,"interpol":[14,38],"interrupt":[14,38],"interv":[9,14,22,38,50,55],"intmetadatavalu":[49,56],"introduc":[16,17,18],"introduct":16,"intsourc":[3,9,14,20,22,27,32,36,38,41,55],"intuit":[7,14],"invalid":[5,22,28,49,52,56,58],"invalid_line_no":22,"invalid_output_nam":28,"invalid_step_kei":28,"invalidoutputerror":28,"invalidoutputerrorinfo":28,"invalidsteperror":28,"invari":5,"invert":1,"invoc":[1,6,7,8,11,13,29,46,51,54,55],"invok":[3,4,6,7,8,9,10,11,13,14,17,18,22,30,35,46,51,55,56],"io_manag":[1,6,7,10,11,14,15,22,24,25,49,56],"io_manager_kei":[1,4,10,22,24,49,56],"iomanag":[1,10,22,47,56],"iomanagerdefinit":[1,10,14,15,25],"iomanagerdefnit":10,"ipc":2,"ipc_output_fil":2,"ipipelin":[9,51],"is_builtin":[34,57],"is_pres":[49,56],"is_requir":[3,4,34,49,56],"is_valid":[49,56],"isinst":[10,57],"isol":[13,29],"ispreempt":25,"issu":[14,33,38,41],"item":[3,4],"iter":[1,14,38,51],"its":[1,2,4,6,7,9,10,11,13,14,16,17,18,20,22,24,38,45,46,49,50,51,53,54,55,56],"itself":[1,2,3,5,6,7,11,14,38,51],"ivi":[14,38],"ivy2":[14,38],"ivyset":[14,38],"jar":[14,25,38],"jar_file_uri":25,"jarfileuri":25,"java":[14,38],"javaseri":[14,38],"javax":[14,38],"jitter":[49,56],"jni":[14,38],"job":[1,3,4,5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,33,35,38,40,41,42,46,47,49,50,51,53,54,55,56,57],"job_config":25,"job_def":[6,46],"job_definition_id":22,"job_id":22,"job_imag":[18,29],"job_nam":[8,9,13,28,50,53,55],"job_namespac":[18,29],"job_runn":29,"job_scoped_clust":25,"job_select":[40,55],"job_wait_timeout":18,"job_with_all_asset":1,"job_with_multiple_select":1,"job_with_one_select":1,"jobconfigvalidationinvalid":28,"jobdefinit":[1,5,6,7,11,13,15,46,48,49,51,53,55],"jobfactori":11,"jobid":25,"jobnotfounderror":28,"join":[4,14,38,57],"json":[1,2,3,4,6,7,11,12,22,24,38,39,49,51,56],"json_console_logg":46,"jsonmetadatavalu":[49,56],"jsonrpc_vers":22,"jupyt":[6,11,45,51],"just":[3,23],"jvm":[14,20,38],"k8s":18,"k8s_job":29,"k8s_job_executor":29,"k8srunlaunch":[18,29],"kafka":[14,38],"kdc":25,"kdcdbkeyuri":25,"keep":[14,29,38,41,50],"keepal":43,"keepalive_interv":43,"kei":[1,2,3,4,5,6,7,8,9,10,11,12,14,15,16,17,18,20,21,22,23,24,25,27,28,29,30,33,34,38,43,45,48,50,51,54,55,57],"kerber":25,"kerbero":25,"kerberosconfig":25,"key_fil":43,"key_label_nam":3,"key_str":43,"key_typ":3,"keypassworduri":25,"keystor":25,"keystorepassworduri":25,"keystoreuri":25,"keyword":[3,17,22,49,54],"kib":[14,38],"kill":[14,22,38],"killblacklistedexecutor":[14,38],"killen":[14,38],"killtimeout":[14,38],"kind":[1,4,6,11,34,45,51,57],"kit":40,"kms":20,"kms_kei":20,"kmskeyuri":25,"know":[1,6,11,14,16,38,39,41,51],"known":50,"kryo":[14,38],"kryoregistr":[14,38],"kryoseri":[14,38],"kube":19,"kubeconfig":[18,29],"kubeconfig_fil":[18,29],"kubectl":29,"kubernet":[9,14,16,19,28,38],"kwarg":[3,5,6,7,9,11,13,22,39,46,54,56,57,58],"lab":22,"label":[4,18,25,29,34,49,50,56],"lack":[14,38],"lake":[15,20],"lambda":[6,11,50,51],"lambda_solid":[51,56],"larg":[14,38],"larger":[14,38],"last":[6,10,14,22,24,38,50,55,56],"last_completion_tim":55,"last_run_kei":55,"latenc":[14,38],"later":[14,38],"latest":[9,14,16,17,18,20,25,26,29,38,42],"latter":[9,46,49,54,56],"launch":[2,9,12,14,17,18,20,22,23,24,29,38,50,55],"launch_run":9,"launcher":[2,6,14,18,20,23,29,56],"launchpipelineexecut":2,"lazi":[2,53],"lazili":53,"lazy_loaded_repositori":53,"lead":[14,38],"leader":[14,38],"leaf":56,"least":[14,38],"leav":[3,14,29,38,51],"left":[12,24,29,40],"legaci":[6,8,9,13,14,38,49,54],"len":[49,56,57],"length":[3,5,14,25,38,41],"lengthi":9,"less":[9,14,16,17,18,38,50],"let":[14,16,38],"letter":[25,49],"level":[1,2,3,6,7,9,10,11,14,16,22,25,34,38,46,49,51,56,58],"lib":25,"libjar":25,"librari":[9,12,14,16,20,21,22,24,27,28,29,33,34,35,37,38,39,40,41,43,44,46],"lifecycl":[51,56],"lifetim":25,"like":[3,6,9,11,14,18,22,24,27,28,29,38,39,41,45,46,49,50,51,54,56],"limit":[9,14,22,38,56],"line":[14,22,38,52],"lineag":[14,38,49,56],"linear":[49,56],"lint":29,"list":[1,2,3,4,5,6,7,9,10,11,12,13,14,15,17,18,20,22,23,24,25,29,30,34,38,39,40,45,47,48,49,50,51,52,53,55,56,57,58],"list_file_system":15,"list_objects_v2":14,"list_run_artifact":22,"list_vers":2,"listdir":53,"listen":[14,16,17,18,38],"listenerbu":[14,38],"liter":3,"littl":[14,38],"live":[1,2,14,38,55],"liveupd":[14,38],"load":[1,2,3,6,7,9,10,11,14,18,22,29,32,36,38,39,41,49,50,51,52,53,56,57,58],"load_assets_from_dbt_manifest":22,"load_assets_from_dbt_project":22,"load_dict":57,"load_incluster_config":[18,29],"load_input":[10,47],"load_kube_config":[18,29],"load_table_from_local_parquet":41,"loaded_input":[6,10],"loader":[3,34,57],"loader_vers":57,"loadrepositori":2,"local":[1,9,14,15,16,17,19,20,23,38,51,52,57],"local_artifact_storag":[1,9,10],"local_artifact_storage_data":9,"local_bas":[52,58],"local_compute_log_manag":9,"local_dagster_job_package_path":20,"local_dbt_rpc_resourc":22,"local_dir":[14,15,38],"local_disk0":20,"local_file_manag":9,"local_job_package_path":14,"local_output_notebook_io_manag":45,"local_pipeline_package_path":[14,20],"local_warehous":[52,58],"localartifactstorag":9,"localclust":19,"localcomputelogmanag":9,"localfilehandl":57,"localhost":[2,14,16,17,18,28,30,31,33,40],"locat":[9,14,18,20,25,28,29,38],"log":[2,5,6,8,10,12,14,15,16,18,20,22,24,25,29,30,32,35,36,38,45,51,54,56,58],"log_ev":[6,10,56],"log_group_nam":14,"log_level":[2,14],"log_manag":[6,9,10,54],"log_materi":[6,56],"log_param":30,"log_request":22,"log_stream_nam":14,"logblockupd":[14,38],"logconf":[14,38],"logger":[3,6,7,11,12,14,22,24,35,43,45,48,51,56,58],"logger_config":[14,35,46],"logger_def":[7,11,45,46,48],"logger_fn":[14,35,46],"logger_to_init":46,"loggerdefinit":[3,7,11,14,35,46,48],"logging_tag":[6,45],"loggingconfig":25,"logic":[10,13,14,35,38,46,49,54,56,57],"login":[14,20,29,41],"login_timeout":41,"loglevel":16,"logs_captur":6,"logs_start":22,"logwrit":25,"long":[14,15,20,25,38,55],"longer":[7,14,38,49,56],"longform":[14,38],"look":[1,3,9,13,22,51,55],"lookup":[14,38],"lookuptimeout":[14,38],"loop":[14,29,38],"los_angel":[41,50,55],"lost":[14,38],"lot":[14,38],"low":20,"lower":[14,34,38],"lowercas":[16,17,18],"lsf":19,"lz4":[14,38],"lz4compressioncodec":[14,38],"lzf":[14,38],"lzfcompressioncodec":[14,38],"machin":[2,14,25,38],"machineri":[9,32,34,36,45,49,56,57],"machinetyp":25,"machinetypeuri":25,"maco":29,"macro":22,"made":[6,7,14,38,45,46,50,51,54,55,56],"magic":[9,54],"magic_word":9,"magicmock":[15,54],"mai":[1,3,5,6,7,8,9,11,14,15,16,17,18,20,22,25,29,38,39,41,45,46,48,49,50,51,52,53,54,55,56,57,58],"main":[20,25,34,38,40],"main_class":42,"mainclass":25,"mainjarfileuri":25,"mainpythonfileuri":25,"maintain":9,"majmin":29,"make":[2,3,7,9,10,14,15,16,17,18,20,25,27,38,41,50,53,54],"make_airflow_dag":13,"make_airflow_dag_container":13,"make_airflow_dag_for_oper":13,"make_airflow_example_dag":13,"make_bar_job":[6,11,51],"make_dagster_job_from_airflow_dag":13,"make_dagster_pipeline_from_airflow_dag":13,"make_dagster_repo":13,"make_dagster_repo_from_airflow_dag_bag":13,"make_dagster_repo_from_airflow_dags_path":13,"make_dagster_repo_from_airflow_example_dag":13,"make_email_on_run_failure_sensor":58,"make_expensive_job":53,"make_expensive_schedul":53,"make_job":11,"make_python_type_usable_as_dagster_typ":57,"make_repo_from_dag_bag":13,"make_repo_from_dir":13,"make_request":[12,22,24],"make_slack_on_pipeline_failure_sensor":40,"make_slack_on_run_failure_sensor":40,"make_teams_on_pipeline_failure_sensor":31,"make_values_resourc":54,"malform":5,"man":21,"manag":[1,2,5,6,8,14,15,16,20,22,25,38,45,46,47,49,54,56],"managed_logg":46,"managedgroupconfig":25,"mani":[6,14,18,20,29,38,49,53,55,56],"manifest":22,"manifest_json":22,"manipul":57,"manner":54,"manual":[14,20,22,24,38,41],"map":[1,3,5,6,7,8,10,11,12,14,18,22,25,34,38,50,51,56,57],"map_config_op":3,"mapped_op":4,"mappedinputplacehold":51,"mapping_from":56,"mapping_kei":[4,6,10,56],"mapping_to":56,"mapr":25,"mapreduc":[14,25,38],"mapreducetutori":25,"maps_from":56,"maps_to":56,"mark":[3,14,18,38],"markdown":[34,49,56,57],"markdownmetadatavalu":[49,56],"master":[14,25,29,38],"master_url":42,"masterconfig":25,"match":[5,9,14,22,34,38,47,49,50,54,56],"materi":[1,3,6,9,10,12,14,15,22,24,25,34,45,49,55,56,57],"materialization_events_during_comput":56,"materializations_during_comput":56,"materialize_df":57,"math_pipelin":51,"matter":[14,38,55],"maven":[14,38],"max":[14,34,38,49,56],"max_attempt":14,"max_catchup_run":55,"max_completion_wait_time_second":20,"max_concurr":6,"max_concurrent_run":9,"max_datetim":34,"max_retri":[22,49,56],"max_tick_retri":55,"max_valu":34,"max_work":[2,20],"maxattempt":[14,38],"maxblocksinflightperaddress":[14,38],"maxchunksbeingtransf":[14,38],"maxconsecutiveattempt":[14,38],"maxexecutor":[14,38],"maxfailedexecutorspernod":[14,38],"maxfailedtasksperexecutor":[14,38],"maxfailur":[14,38],"maxfailuresperhour":25,"maxim":[14,38],"maximum":[2,9,12,14,20,22,24,25,38,49,55,56],"maxpartitionbyt":[14,38],"maxrat":[14,38],"maxrateperpartit":[14,38],"maxregisteredresourceswaitingtim":[14,38],"maxremoteblocksizefetchtomem":[14,38],"maxreqsinflight":[14,38],"maxresults":[14,38],"maxretainedfil":[14,38],"maxretri":[14,38],"maxsiz":[14,38],"maxsizeinflight":[14,38],"maxtaskattemptsperexecutor":[14,38],"maxtaskattemptspernod":[14,38],"md_str":[49,56],"mean":[3,4,14,34,38,40,55,58],"meant":[5,14,15,25,34,57],"measur":[14,38],"mechan":[14,16,38,41],"median":[14,38],"meet":[1,6,7,11,39,49,51,56],"mem_io_manag":10,"member":[5,9,53],"memoiz":[2,10,51],"memoizableiomanag":47,"memoizaton":[7,11],"memoized_run_tag":47,"memori":[6,7,9,10,11,14,15,20,38,41],"memory_onli":[14,38],"memory_only_s":[14,38],"memoryfract":[14,38],"memorymapthreshold":[14,38],"memoryoverhead":[14,38],"merg":[14,22,38,52],"meso":[14,38],"mesos_sandbox":[14,38],"messag":[5,6,8,9,14,28,31,35,38,40,45,46,55,58],"message_fn":[31,40],"met":9,"metadata":[1,4,6,7,9,10,11,14,22,25,26,28,38,39,41,47,51,57],"metadata_entri":[1,4,5,22,49,56,57],"metadataentri":[1,4,34,49,56],"metadatavalu":[4,34,49,56],"method":[4,6,9,10,11,12,13,14,21,22,24,26,30,35,40,41,46,47,49,51,54,56],"metric":[14,21,25,38],"mgmt":14,"mgr":10,"mib":[14,38],"midnight":[50,55],"might":[3,14,38,39,57],"migrat":[2,49],"mileston":[14,38],"millisecond":[2,14,38],"min":[20,34],"min_datetim":34,"min_valu":34,"min_work":20,"minexecutor":[14,38],"minim":[14,38],"minimum":[14,20,38,55],"minimum_interval_second":55,"minrateperpartit":[14,38],"minregisteredresourcesratio":[14,38],"minut":[14,20,25,38,50,55],"minute_of_hour":[50,55],"minute_offset":[50,55],"mirror":21,"mismatch":15,"miss":[22,55],"missing_column":[49,56],"missing_th":[49,56],"mitig":[14,38],"mixin":9,"mlf_exampl":30,"mlflow_op":30,"mlflow_s3_endpoint_url":30,"mlflow_solid":30,"mlflow_track":30,"mlflow_tracking_uri":30,"mlflowclient":30,"mnt":17,"moab":19,"mock":[8,10,15,54],"mock_resourc":54,"mode":[2,6,7,8,9,13,14,28,38,41,45,50,51,52,55,56],"mode_def":[6,8,9,11,20,22,31,45,51,56],"modedefinit":[6,8,9,20,22,31,45,48,51,56],"model":[13,22],"modifi":[13,16,17,18,22,49,56],"modifyaconnector":24,"modul":[1,2,6,9,11,13,14,15,16,17,18,29,32,36,46,49,51,52,56,58],"module_nam":[2,9,13],"moduletyp":1,"monitor":[9,12,14,22,24,38,40,55],"month":[50,55],"monthli":[50,55],"monthly_partitioned_config":[50,55],"more":[5,6,7,14,16,20,22,25,27,38,40,41,49,54,55,56,58],"most":[14,16,17,18,20,22,24,34,38,51,55,56,57,58],"mostli":15,"mount":[14,18,29],"mrkdwn":40,"msg":[46,49],"msg_fn":9,"msteams_resourc":31,"much":[9,14,29,38],"mult_two":51,"multi":[1,7,14,16,38],"multi_asset":1,"multi_or_in_process_executor":[1,7],"multi_out":49,"multidependencydefinit":[51,57],"multipl":[1,2,6,7,11,14,16,24,25,38,49,51,55,56,57],"multipli":[14,38],"multiprocess":[6,48,51,58],"multiprocess_executor":[6,11,51],"must":[1,2,3,4,6,7,8,9,10,11,13,14,15,16,17,18,20,25,28,29,31,34,38,39,46,47,48,49,50,51,52,54,55,56,57],"mutabl":51,"mutat":[2,28],"my_airbyte_job":12,"my_airbyte_resourc":12,"my_asset":1,"my_assets_job":1,"my_aws_key_id":30,"my_channel":40,"my_composed_airbyte_job":12,"my_composed_fivetran_job":24,"my_custom_dbt_run":22,"my_custom_path_fs_io_manag":10,"my_dag_bag":13,"my_dagster_job":13,"my_dashboard":[49,56],"my_dataset":[49,56],"my_dbt_cli_job":22,"my_dbt_cloud_job":22,"my_dbt_cloud_resourc":22,"my_dbt_output":22,"my_dbt_rpc_job":22,"my_downstream_op":51,"my_experi":30,"my_first_dbt_model":22,"my_fivetran_job":24,"my_fivetran_resourc":24,"my_funct":[49,56],"my_graph":[6,11,39,51],"my_int_var":54,"my_io_manag":[1,10],"my_io_manager_kei":10,"my_job":[10,14,15,16,25,40,53,54,55],"my_message_fn":[31,40],"my_modul":[16,17,18],"my_new_project":22,"my_op":[10,25,38,54],"my_other_t":[49,56],"my_pipelin":[20,31,40],"my_project":29,"my_pyspark_resourc":38,"my_repo":[17,18,31,40],"my_repo_nam":13,"my_return_n_":53,"my_run_config_fn":50,"my_s3_endpoint":30,"my_sas_token":15,"my_schedul":53,"my_secret":30,"my_sensor":55,"my_simple_airbyte_job":12,"my_simple_fivetran_job":24,"my_slack_token":40,"my_snowflake_job":41,"my_spark":20,"my_spark_job":38,"my_storage_account":15,"my_str_var":54,"my_tabl":[49,56],"my_table_schema":[49,56],"my_text_label":[49,56],"my_upstream_asset":1,"my_upstream_graph":51,"my_upstream_op":51,"my_us":17,"my_valu":22,"my_vari":22,"myclass":[49,56],"mycompani":[18,29],"myconfigurableclass":9,"mycoolsit":[40,49,56],"mycorp":14,"myiomanag":10,"mymodul":11,"mysql_db":32,"mysql_url":32,"mysqleventlogstorag":[9,32],"mysqlrunstorag":[9,32],"mysqlschedulestorag":[9,32],"mytabl":[49,56],"n_worker":19,"naiv":[25,34],"name":[1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,26,27,28,29,30,31,34,38,39,40,41,42,45,48,49,50,51,52,53,55,56,57,58],"name1":[14,38],"name2":[14,38],"namedtemporaryfil":9,"namedtupl":45,"namespac":[1,18,29],"nativ":[14,38],"necessari":[9,14,20,22,24,38,57],"need":[6,7,10,11,14,15,16,20,21,25,27,33,34,35,38,40,49,51,53,56,57,58],"neg":[6,9,14,38,49,56],"neither":[25,34,57],"nest":[6,7,11,30,51,56],"net":[14,38],"netti":[14,38],"network":[9,14,15,17,23,25,38],"network_timeout":41,"network_uri":25,"networkuri":25,"never":[6,10,12,14,16,17,18,22,24,38,55,56],"new":[9,14,15,16,17,18,20,29,33,38,40,46,49,51,52,53,54,56],"new_clust":20,"newer":[14,38],"newli":9,"next":[4,24,49,56],"next_asset":1,"no_host_key_check":43,"node":[1,3,6,7,11,14,15,20,22,25,38,45,51,56],"node_a":51,"node_b":51,"node_def":[6,7],"node_info_to_asset_kei":22,"node_nam":6,"node_str":6,"node_typ":20,"node_type_id":20,"nodedefinit":[6,7],"nodehandl":[6,51,56],"nodeinvoc":[6,7,51,56],"nois":40,"non":[3,9,14,17,23,25,34,38,39],"non_argument_dep":1,"non_nul":34,"non_scalar_schema":3,"noncancel":[14,38],"none":[1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,24,25,26,28,29,30,31,32,34,39,40,41,42,43,45,46,48,49,50,51,52,53,54,55,56,57,58],"none_resourc":54,"noneabl":[3,5],"nonetyp":3,"nor":[25,34,57],"normal":[8,22,56],"normalized_nam":13,"nosigint":58,"not_start":9,"note":[1,3,9,10,14,15,16,17,18,20,22,27,28,32,33,36,38,39,41,46,49,53,55,56],"notebook":[6,11,45,51],"notebook_path":45,"noth":[22,39,54,55,57],"nothing_int_job":57,"nothing_job":57,"notic":46,"notif":40,"novaluesentinel":[4,49,56],"novel":1,"now":[20,27,28,48],"ntype":57,"null":[9,34,49],"nullabl":49,"nullable_concat":57,"num":[6,7,14,38,49,51,56],"num_allowed_row":34,"num_input":20,"num_row":[49,56],"num_work":20,"number":[2,6,9,12,14,19,20,22,24,25,28,34,38,41,49,50,55,56],"numconnectionsperp":[14,38],"numer":[34,41],"numeric_column":34,"numinst":25,"numlocalssd":25,"numpi":41,"numrbackendthread":[14,38],"numretri":[14,38],"oar":19,"oauth":[14,38],"oauth2accesstoken":29,"obj":10,"object":[3,6,7,8,9,10,11,12,14,15,16,17,18,20,22,24,25,26,28,29,31,34,38,40,45,46,47,48,49,50,51,53,54,55,56,57],"object_store_oper":6,"objectadmin":25,"objectstreamreset":[14,38],"observ":[4,10],"occasion":[14,38],"occur":[5,6,7,9,11,14,25,28,38,39,49,51,56],"ocsp":41,"ocsp_response_cache_filenam":41,"ocur":6,"of_typ":34,"off":[2,14,24,25,29,38,47],"offer":[14,38],"offheap":[14,38],"offici":[20,28],"offset":[14,22,38,50],"often":[5,14,38],"old":[14,15,38],"older":[14,38],"omit":[14,22,25,28,34,38,56,57,58],"onc":[3,6,9,27,33,40,54,56,57],"one":[1,2,3,4,5,6,7,9,10,11,14,16,17,18,19,20,22,23,25,28,38,41,46,49,50,51,52,53,55,56,57,58],"ones":[50,55],"ongo":9,"onli":[1,2,3,5,6,7,9,10,11,12,14,20,22,24,25,34,38,39,41,46,47,48,49,50,51,53,54,55,56,57],"onlin":21,"onto":[13,29,56],"oom":[14,38],"op_a":[10,51],"op_b":[10,51],"op_c":51,"op_config":[3,4,6,8,53,57],"op_def":10,"op_definit":[12,22,24,25],"op_except":8,"op_kwarg":13,"op_output_valu":8,"op_retry_polici":[6,7,11],"op_select":[6,7,11,28],"op_to_invok":6,"opdefinit":[8,10,12,20,22,24,25,39,41,49,56],"open":[9,14,27,38,57],"opencostinbyt":[14,38],"oper":[12,13,14,22,24,26,27,28,38,41,48,51],"opexecutioncontext":6,"ops":[1,3,4,6,7,10,11,14,15,20,21,22,25,26,33,34,39,41,46,51,53,54,56,57],"opt":[18,29],"optim":[14,20,38],"option":[1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30,31,34,35,36,38,39,40,41,43,45,46,47,48,49,50,51,52,53,54,55,56,57,58],"optionalcompon":25,"orchestr":[4,9],"order":[3,9,14,15,18,20,22,29,34,38,49,56,57],"order_bi":22,"ordinari":[14,57],"org":[14,25,38,42,50,55],"organ":[49,56],"origin":[3,5,9,18,22,29,51],"original_exc_info":5,"original_root":5,"other":[1,3,5,6,7,9,11,14,18,22,38,41,49,50,51,53,56,58],"other_asset":1,"other_asset_key_a":1,"other_asset_key_b":1,"other_expensive_job":53,"other_op":[12,24],"other_op_a":[6,7,11],"other_op_b":[6,7,11],"other_result":51,"other_solid":[50,52,55],"other_solid_a":51,"other_solid_b":51,"otherwis":[6,9,14,18,22,24,29,38,41,47,49,56],"ought":34,"our":9,"out":[1,2,4,6,7,10,12,14,22,24,29,38,56,57],"outer":56,"outer_graph":6,"outliv":29,"output":[1,2,4,5,6,7,8,9,12,14,22,24,25,26,28,31,34,38,40,45,47,49,51,57,58],"output_asset_partition_kei":[6,56],"output_asset_partitions_time_window":[6,56],"output_captur":[6,51,56],"output_config_schema":10,"output_def":[7,22,39,45,49,51,56],"output_events_during_comput":56,"output_for_nod":6,"output_for_solid":[51,56],"output_map":[6,7,56],"output_nam":[4,6,10,45,49,51,56],"output_notebook":45,"output_notebook_nam":45,"output_valu":[6,56],"outputcontext":[10,47,49,56],"outputdefinit":[7,10,22,34,45,49,51,56,57],"outputmap":[6,7,56],"outsid":[9,10,14,29,38,54],"over":[2,14,21,22,28,38,50,53,55],"overestim":[14,38],"overhead":[14,38],"overload":20,"overrid":[2,3,13,14,22,26,29,38,39,56],"overridden":[14,22,31,38,40,50,55],"override_system_timezon":2,"overview":[18,20,29,49,56],"overwrit":[1,14,15,25,38],"overwritten":[1,6,7,11,25,45,51],"own":[5,6,11,14,22,38,49,51,54,56],"owner":[20,27],"pack":[14,38],"packag":[1,2,9,14,15,20,25,38,51,52,58],"package_modul":1,"package_nam":[1,2],"packet":43,"page":[14,21,22,24,27,38],"pagerduty_op":33,"pagerduty_resourc":33,"pagerduty_test":33,"pagin":22,"pair":[9,18,20,23,29,49,50,51,55,56],"panda":22,"pandascolumn":34,"papertrail_logg":35,"parallel":[14,25,38],"param":[2,3,9,14,22,36,38],"paramet":[1,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,24,26,28,31,34,35,38,39,40,41,45,46,47,48,49,50,51,52,53,54,55,56,57,58],"parameter":[7,11,50,55,56],"parametr":51,"paramiko":43,"paramstyl":41,"parent":[1,10,22,30,49,56],"parent_run_id":[9,30,51],"parquet":3,"pars":[3,5,6,8,9,12,22,24,52,56,57,58],"part":[4,27,31,49],"parti":9,"partial":[3,25],"partially_specified_config":3,"particular":[1,6,9,10,14,38,50],"particularli":9,"partit":[1,2,6,7,9,10,11,14,38,49,52,56],"partition_fn":50,"partition_kei":[6,10,11,50,56],"partition_map":1,"partition_selector":50,"partition_set":[50,53,55],"partition_set_def":50,"partitionedconfig":[7,11,48,50],"partitionmap":1,"partitionmetadataentri":[4,49,56],"partitions_def":[1,7,11,50],"partitionscheduledefinit":[50,55],"partitionsdefinit":[1,7,11,50],"partitionset":50,"partitionsetdefinit":[50,53],"pase":57,"pass":[1,2,3,6,7,9,10,11,13,14,15,16,17,18,19,20,21,22,23,25,28,29,30,31,34,38,39,40,45,46,49,50,51,53,54,55,56,57],"password":[9,14,17,18,23,25,29,32,36,41,43],"past":[9,50,55],"patch":[22,24],"path":[1,2,4,9,10,13,14,15,16,18,20,22,25,38,45,49,52,56,57,58],"path_desc":[14,15,25,57],"path_prefix":2,"pathlik":[49,56],"pathmetadatavalu":[49,56],"pattern":[9,52,58],"paus":[14,38],"pawel":16,"pawelzni":16,"payload":[24,31,33],"pbs":19,"pdb":[6,56,58],"peer":4,"pem":14,"pend":[14,16,38],"pendingnodeinvoc":8,"pendulum":50,"peopl":38,"per":[1,6,9,10,14,19,25,29,38,55,56],"perform":[2,5,9,14,22,27,38,41,47,49,50,53,56,57],"period":[9,14,22,38,50,55],"periodicgc":[14,38],"permiss":[3,5,9,14,16,17,18,19,20,22,23,25,27,29,30,36,38,41,57],"permit":[6,51],"persist":[9,14,15,20,25,29,34,38,49,51,55,56,57],"person":27,"photo":21,"pick":[16,17,18,25],"pickl":[1,3,10,14,15,25],"pid":6,"piec":[9,14,20,38],"pig":25,"pigjob":25,"pip":33,"pipe":39,"pipelin":[4,6,7,8,9,10,11,13,14,20,22,28,30,31,35,39,40,45,46,47,48,49,50,52,53,54,55,56,58],"pipeline_cancel":6,"pipeline_code_origin":9,"pipeline_context":45,"pipeline_def":[6,13,45,46,51,52,56],"pipeline_def_for_backwards_compat":54,"pipeline_dequeu":6,"pipeline_enqueu":6,"pipeline_failur":6,"pipeline_failure_sensor":55,"pipeline_nam":[6,8,9,10,13,28,31,40,50,51,55,56],"pipeline_run":[6,9,31,40,45,54,55,56],"pipeline_run_statu":55,"pipeline_select":[40,55],"pipeline_snapshot_id":9,"pipeline_start":[6,51,56],"pipeline_success":6,"pipelineconfigurationinvalid":28,"pipelinedefinit":[6,11,13,40,45,46,48,51,53,55,56],"pipelineexecutionresult":51,"pipelinefailuresensorcontext":[31,40,55],"pipelinenotfounderror":28,"pipelinerun":[6,9,13,45,54,55,56],"pipelinerunreact":55,"pipelinerunstatu":[9,28,55],"pkg_resourc":[52,58],"pkg_resource_def":[52,58],"place":[9,10,14,22,29,34,38,49,57],"placehold":3,"placement":25,"plai":55,"plain":40,"plan":[9,13,14,18],"plan_context":9,"plane":[14,38],"planorchestrationcontext":9,"platform":25,"playground":[7,11],"pleas":[9,14,38],"plu":55,"plug":9,"pluggabl":[3,9],"plugin":9,"plus_minu":[49,56],"pod":[16,18,28,29],"point":[2,14,16,17,18,38,45],"pointer":51,"polici":[7,9,11,18,29,49,51,56],"poll":[12,14,20,22,24,38],"poll_interv":[12,22,24],"poll_interval_sec":20,"poll_run":22,"poll_sync":24,"poll_timeout":[12,22,24],"polling_timeout":9,"pollinginterv":[14,38],"pool":[14,20,38],"poor":[14,38],"pop":[6,10,56],"popul":22,"port":[2,9,12,14,20,22,28,29,32,35,36,38,43],"port_numb":28,"posit":[6,14,38,49,50,55,56,58],"positional_input":56,"possibl":[3,9,14,18,20,29,38,50],"post":[3,16,22,24,31,33,40],"post_messag":31,"postgr":[9,18,29],"postgres_db":[9,36],"postgres_password_secret":[18,29],"postgres_url":36,"postgreseventlogstorag":[9,36],"postgresql":[18,29],"postgresrunstorag":[9,36],"postgresschedulestorag":[9,36],"postmessag":40,"postpend":13,"potenti":[14,22,38,51],"power":9,"pre":[3,9,14,22,28,38],"preambl":5,"preced":[1,7,14,38,56],"predefin":[2,49,52],"predict":[6,11,51],"preemptibl":25,"prefer":[6,7,49,51,55,56],"preferdirectbuf":[14,38],"prefix":[2,12,14,15,16,20,22,24,25,45],"pregel":[14,38],"prepend":[14,38],"presenc":[3,34,49,56],"present":[3,6,14,18,25,27,28,29,33,38,40,47,48,49,53,56],"preserv":[9,14,38,49],"preset":[13,28,51,56],"preset_def":[6,11,51],"presetdefinit":[51,52],"presetnotfounderror":28,"pressur":[14,38],"pretti":27,"prevent":[14,38],"preview":[2,25],"previou":[1,5,9,14,15,24,25,38,47,49,51,56],"primarili":[14,28,38,55],"primit":[3,5],"princip":25,"print":[2,29,49,54,56],"printgcdetail":20,"prior":24,"prioriti":6,"priv":29,"privat":[20,27,29],"proactiv":[14,38],"problem":22,"proce":[1,5],"process":[1,2,3,4,5,6,7,9,11,13,14,20,22,26,29,38,41,51,55],"process_directori":4,"process_fil":4,"produc":[1,4,5,6,7,9,10,22,49,51,54,56,57,58],"product":[16,51],"profil":[14,20,22,38],"profile_nam":14,"profiles_dir":22,"program":[14,25,38],"programat":[6,7,12,22,24,27,49],"programmat":[34,57],"progress":[9,12,14,22,24,29,38],"project":[22,25],"project_and_instance_metadata":25,"project_dir":22,"project_id":[22,25],"projectid":25,"prometheus_cli":37,"prometheus_resourc":37,"prometheusresourc":37,"proper":[14,38],"properli":[14,38,41],"properti":[6,8,9,10,14,15,22,24,25,34,38,45,49,51,53,56,57,58],"protect":[14,38],"protocol":[21,31],"provid":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,27,28,29,30,33,34,35,38,39,40,41,43,44,46,47,48,49,50,51,52,54,55,56,57,58],"provis":[20,25,27,33],"proxi":[14,31,38],"ptat":[14,38],"public":[14,17,20,21,23,38],"publish":21,"pull":[14,18,22,23,27,29],"purpos":[8,14,38,57],"push":29,"put":[1,14,38,40,49,56],"putobjectacl":20,"py37":29,"pyamqp":[16,17,18],"pyfil":[14,38],"pyformat":41,"pylint":39,"pyspark":[14,20,25],"pyspark_resourc":38,"pysparkjob":25,"pytest":29,"python":[1,2,3,5,6,9,11,13,14,15,16,20,21,25,34,38,41,46,49,51,52,56,57,58],"python_artifact":[49,56],"python_fil":[2,20],"python_logging_levels_nam":9,"python_modul":[16,29],"python_typ":57,"python_valu":3,"pythonartifactmetadatavalu":[49,56],"pythonerror":28,"pythonfileuri":25,"pythonobjectdagstertyp":[49,56,57],"pythonoper":13,"pythonpath":[14,38],"qmark":41,"qualifi":[14,38],"qualiti":[49,56],"quantil":[14,38],"queri":[1,2,6,7,9,11,14,21,22,25,28,41,51],"query1":25,"query2":25,"query3":25,"query4":25,"queryfileuri":25,"querylist":25,"queu":9,"queue":[9,14,16,18,38],"queuedruncoordin":9,"quickstart":27,"quit":[14,29,38],"quux":9,"rabbitmq":[16,17,18,29],"rack":[14,38],"rais":[5,6,7,10,11,12,22,24,28,39,41,45,49,51,52,54,55,56,58],"raise_on_error":[5,6,7,11,51,56],"random":[49,56],"randomli":[29,49,56],"rang":[10,14,38,50,53,58],"rapidli":[14,38],"rasset_key_prefix":22,"rate":[14,38],"rather":[9,14,29,38,49,51,54,56,57],"ratio":[14,38],"raw":[9,14,22,38],"raw_conn":41,"raw_output":22,"rawmetadatavalu":[49,56],"rbackend":[14,38],"rdd":[14,38],"reach":[14,16,38],"react":55,"read":[2,3,9,10,13,14,20,27,38,39,57],"read_csv":10,"read_data":9,"read_fil":9,"read_writ":25,"readabl":[3,6,7,10,14,35,39,46,48,49,50,51,54,55,56,57],"readi":57,"readonli":25,"readrc":58,"readthedoc":[16,23],"real":16,"realm":25,"reaper":[14,38],"reason":[5,28,55],"rebuild":2,"recalcul":22,"receiv":[2,5,14,34,38,57],"receive_processed_config_valu":[3,56],"recent":[24,55],"reclaim":[14,38],"recommend":[12,13,14,20,22,24,38,51,56,57],"recon_repo":13,"reconstruct":[13,14,38,56],"reconstruct_context":[51,56],"reconstruct_job":11,"reconstructable_arg":11,"reconstructable_bar_job":[6,11,51],"reconstructable_foo_job":[6,11,51],"reconstructable_kwarg":11,"reconstructablepipelin":[6,11,51],"reconstructablerepositori":[13,51],"reconstructor_function_nam":11,"reconstructor_module_nam":11,"reconstructor_working_directori":11,"record":[1,6,9,10,14,38,49,56],"recov":[14,38],"recoveri":[14,38,55],"recoverymod":[14,38],"recurs":[3,5],"red":3,"redact":[14,38],"redi":[16,17,18],"redshift_configur":14,"redshift_resourc":14,"reduc":[14,38],"reducebykei":[14,38],"redund":[14,38],"reexecut":51,"reexecute_pipelin":51,"reexecute_pipeline_iter":51,"ref":[9,22,43],"refactor":56,"refer":[1,13,14,15,18,20,21,22,25,26,29,33,38,40,42,49,56,57],"referenc":[1,14,49,56],"referencetrack":[14,38],"refresh":[13,22,28],"refresh_from_airflow_db":13,"regardless":[14,38],"regex":[14,38],"region":[14,20,25,29,38],"region_nam":14,"regist":[14,38],"registr":[14,38],"registrationrequir":[14,38],"registri":[17,23,29],"regress":[14,38],"regular":[9,10,57],"rehydr":9,"reindex":2,"rel":[4,58],"relat":[4,14,22,25,38,47,49,56],"relationship":[1,25],"relative_path":58,"relaunch":[14,38],"releas":25,"relev":[2,5,14,22,26,27,38],"reli":53,"reliabl":20,"reload":28,"reload_repository_loc":28,"reloadnotsupport":28,"reloadrepositorylocationinfo":28,"reloadrepositorylocationstatu":28,"remain":7,"remap":56,"rememb":[14,38],"remot":[2,9,14,20,25,28,29,38,43],"remote_host":43,"remote_port":43,"remov":[14,38],"render":[14,38],"repeat":[3,9,57],"repeat_word":3,"repl":[6,11,51],"replac":[6,7,11,14,38],"replai":[14,38],"replenish":[14,38],"replic":[14,38],"replica":[14,38],"repo":[13,14,29,38],"repo_location_nam":18,"repo_nam":[13,27],"repo_own":27,"report":[9,22,24,25],"report_engine_ev":9,"repositori":[1,2,13,14,18,22,23,27,28,29,31,38,40,51,55],"repository_data":53,"repository_location_nam":28,"repository_nam":[28,55],"repositorydata":53,"repositorydefinit":[1,7,13,51,53],"repositorylocationloadfailur":28,"repositorylocationnotfound":28,"repres":[1,3,4,7,9,10,12,14,22,24,38,47,49,50,51,52,54,55,56],"represent":[3,6,9,14,15,22,49,51,56,57],"request":[2,10,12,14,20,22,24,25,27,28,31,38,41,49,56],"request_6":24,"request_max_retri":[12,22,24],"request_retry_delai":[12,22,24],"request_token":22,"requir":[1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,24,25,29,34,38,39,41,45,48,49,51,54,55,56,57],"required_resource_kei":[1,5,8,9,10,14,15,20,21,22,30,31,33,34,38,39,40,41,42,45,49,51,54,56,57],"rerais":5,"reserv":[1,10],"reset":[14,38],"resid":[1,14,38,57],"resolut":[14,38],"resolv":[2,3,5,14,38,54],"resolve_standoff":3,"resolved_run_config":45,"resolvedrunconfig":45,"resourc":[1,3,5,6,7,8,9,10,11,14,15,16,18,20,21,25,27,30,31,33,34,37,38,39,40,41,43,45,47,48,49,51,52,56,57,58],"resource_config":[10,51,54],"resource_def":[1,7,9,10,11,12,14,15,20,21,22,24,25,27,30,31,33,38,40,41,45,48,51,54],"resource_definit":38,"resource_fn":[5,10,54],"resource_keys_to_init":45,"resource_nam":[5,54],"resource_str":[52,58],"resource_to_init":54,"resourcedefinit":[1,3,5,7,9,10,11,12,14,15,20,21,22,24,25,27,30,31,33,37,38,40,41,42,43,44,48,54],"resources_config":[6,56],"resourceversioncontext":47,"respect":[2,14,16,20,29,41,45],"respond":20,"respons":[2,9,12,21,22,24,41],"response_dict":22,"rest":[12,22,24],"restart":[2,14,20,25,28,38,49,56],"restrict":[20,25],"result":[1,2,3,4,7,9,10,11,12,13,14,16,17,18,21,22,24,25,28,38,41,45,46,49,50,51,54,55,56,57,58],"result_for_handl":[51,56],"result_for_solid":[51,56],"resum":9,"resume_run":9,"resync":24,"resync_and_pol":24,"resync_paramet":24,"retain":[14,38],"retainedbatch":[14,20,38],"retaineddeadexecutor":[14,38],"retaineddriv":[14,38],"retainedexecut":[14,38],"retainedexecutor":[14,38],"retainedjob":[14,38],"retainedrootrdd":[14,38],"retainedstag":[14,38],"retainedtask":[14,38],"rethrown":5,"retri":[6,7,9,11,12,14,16,17,18,20,22,23,24,29,38,49,51,55],"retriev":[6,10,12,18,20,24,25,27,29,51,53,56],"retry_attempt":56,"retry_interv":22,"retry_numb":[6,56],"retry_polici":[49,56],"retrymod":9,"retrypolici":[7,11,49,51,56],"retryrequest":[45,49,56],"retrywait":[14,38],"return":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,22,24,26,28,31,34,38,39,40,41,45,46,47,49,50,51,52,53,54,55,56,57,58],"return_cod":22,"return_n":53,"return_n_":53,"return_on":[6,7,51],"return_text":22,"reus":[14,25,38],"reusabl":9,"revers":[14,22,38],"reverseproxi":[14,38],"reverseproxyurl":[14,38],"reviv":[14,38],"rewritten":[14,38],"rfc":25,"rfc1035":25,"rich":16,"rigidli":[14,38],"role":[3,20,25,41],"roll":[14,38],"root":[9,14,25,29,38],"root_input_manag":10,"root_manag":1,"root_manager_kei":[10,49,56],"root_run_id":9,"rootinputmanag":[10,49,56],"rootinputmanagerdefinit":10,"rootlogg":25,"rootprincipalpassworduri":25,"rouberol":16,"rout":33,"routing_kei":33,"row":[22,34,49,56],"rowcountconstraint":34,"rowdict":57,"rpc":[14,16,17,18,38],"rsa":27,"rule":[3,5,34,57],"run":[1,5,7,8,10,11,13,14,16,17,18,20,21,22,23,24,25,26,27,28,30,31,32,36,38,40,45,46,47,49,50,52,54,56,58],"run_cancel":6,"run_config":[3,6,7,9,11,13,14,20,21,27,28,30,33,40,41,45,51,52,53,55,56],"run_config_fn":55,"run_config_fn_for_partit":50,"run_config_for_partition_fn":50,"run_coordin":9,"run_coordinator_data":9,"run_dbt_cloud_op":22,"run_dbt_nightly_sync":22,"run_dequeu":6,"run_enqueu":6,"run_failur":6,"run_failure_sensor":55,"run_fn":21,"run_id":[5,6,7,8,9,10,11,22,28,45,46,49,51,54,56,58],"run_job":22,"run_job_and_pol":22,"run_kei":[53,55],"run_launch":[9,18,29],"run_launcher_data":9,"run_nam":20,"run_oper":22,"run_result":22,"run_resultsjson":22,"run_sql":22,"run_start":6,"run_status_sensor":55,"run_status_sensor_fn":55,"run_status_sensor_to_invok":55,"run_storag":[9,32,36],"run_storage_data":9,"run_success":6,"run_updated_aft":9,"runawai":[14,38],"runconfigdata":28,"runconfigvalidationinvalid":28,"runconflict":28,"runcoordin":9,"runfailuresensorcontext":[40,55],"runlaunch":[9,14,18,23,29],"runnabl":58,"runner":29,"runrequest":[53,55],"runshardedeventscursor":9,"runstatussensorcontext":55,"runstatussensordefinit":55,"runstorag":9,"runtim":[3,4,5,7,11,14,20,22,25,34,38,46,56,57],"runtime_metadata_fn":22,"s3_bucket":[14,57],"s3_file":14,"s3_file_manag":[14,45],"s3_job_package_path":14,"s3_kei":[14,57],"s3_path":[14,57],"s3_pickle_asset_io_manag":14,"s3_pickle_io_manag":14,"s3_pipeline_package_path":14,"s3_prefix":14,"s3_resourc":[3,14],"s3_session":14,"s3computelogmanag":[9,14],"s3coordin":14,"s3filecach":14,"s3filehandl":[14,45,57],"safe":[14,38,40,54],"safe_mod":13,"safeti":[14,38],"same":[1,2,3,4,5,6,9,10,14,16,20,38,46,49,54,55,56,57],"sampl":[4,22,25],"sample_data":10,"sample_output":10,"sanit":[49,56],"sas":15,"satisfi":[3,6,9,46,49,51,54,56],"satur":[14,38],"saturdai":55,"save":[14,26,38],"saveashadoopfil":[14,38],"scaffold":[2,13],"scaffold_config":2,"scala":[14,38],"scala2":20,"scalar":[3,6,51],"scalar_typ":3,"scalarunion":3,"scale":[14,20,38],"scan":[14,38],"scenario":[14,38],"schedul":[14,19,22,24,25,36,38,50,53],"schedule_definit":50,"schedule_nam":50,"schedule_storag":[9,32,36],"schedule_storage_data":9,"schedule_typ":24,"scheduled_execution_tim":55,"scheduledefinit":[1,50,53,55],"scheduleevaluationcontext":[50,55],"scheduler_data":9,"schedulerbacklogtimeout":[14,38],"schedulestorag":9,"schema":[3,5,7,9,10,11,12,14,22,24,28,34,35,41,46,49,54,56,57],"schema1":24,"schema2":24,"schema_nam":24,"scheme":[14,38],"scope":[6,11,14,20,25,27,35,38,46,51,54],"scoped_resources_build":6,"scopedresourc":54,"scratch":[14,38],"script":[14,20,25,38,39,51,52],"scriptvari":25,"search":[14,38,49,56],"second":[9,12,14,18,20,22,24,31,38,41,43,49,50,55,56],"secondaryworkerconfig":25,"seconds_to_wait":[49,56],"secret":[7,11,14,15,18,20,24,29],"secret_bool_op":3,"secret_int_op":3,"secret_job":3,"secret_kei":15,"secret_key_kei":20,"secret_op":3,"secret_scop":20,"secretid":14,"secrets_tag":14,"secrets_to_env_vari":20,"secretsmanager_resourc":14,"secretsmanager_secrets_resourc":14,"section":[14,18,29,38],"secur":[2,18,25,29],"securili":27,"securityconfig":25,"see":[9,12,13,14,16,17,18,19,22,23,24,25,26,27,29,38,40,41,42,47,51],"seed":22,"seek":[9,14,38],"seem":27,"select":[1,3,6,7,11,14,22,25,41,51],"select_color":3,"selected_unique_id":22,"selector":[3,5,15,16,17,18,19,20,22,23,29,50],"self":[10,14,25,38,53,57],"semicolon":25,"send":[2,9,12,14,16,21,22,24,31,38,40,43],"send_messag":8,"sens":[16,17,18],"sensit":[14,25,38],"sensor":[31,40,53],"sensor_nam":55,"sensordefinit":[1,53,55],"sensorevaluationcontext":55,"sent":[2,14,20,38,40,55],"separ":[4,9,10,14,25,29,38,51],"sequenc":[1,49,50,51,55,56],"sequenti":20,"serd":[9,25],"seri":[9,16],"serial":[1,9,10,14,15,25,38,55],"serializ":[4,9,11,14,15,38,49,56],"serializable_error_info_from_exc_info":9,"serializableerrorinfo":9,"serv":[2,14,28,38,50],"server":[2,9,12,14,20,21,22,25,28,29,30,31,38,41],"servic":[14,18,20,22,25,29,33,38],"service_account_nam":[18,29],"service_check":21,"serviceaccount":25,"serviceaccountscop":25,"servlet":[14,38],"session":[14,41],"set":[1,2,3,4,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32,34,35,36,38,39,41,45,46,48,49,50,51,52,54,55,56,57,58],"set_input":57,"set_op":57,"set_trac":[6,56,58],"setup":[14,24,30,38],"seven":[14,15],"sever":[3,14,20,33],"sge":19,"shape":[3,5],"shard":9,"share":[14,15,25,27,38,54],"shell":[14,22,38],"shell_command":39,"shell_command_op":39,"shell_command_solid":39,"shell_op":39,"shell_script_path":39,"shell_solid":39,"shim":[34,45,57],"ship":51,"short":[14,25,38,49,56],"shortcut":56,"should":[2,3,5,6,7,9,10,11,12,13,14,15,16,17,18,20,22,24,25,29,32,34,36,38,39,41,45,46,47,49,50,51,53,54,55,56,57,58],"should_autocreate_t":36,"should_execut":[50,55],"should_start_background_run_thread":9,"show":[2,10,14,22,38,58],"show_profil":[14,38],"showconsoleprogress":[14,38],"shown":[20,25,41],"shrink":[14,38],"shuffl":[14,20,38],"shut":[2,14,16,28,38],"shutdown":[2,14,38],"shutdown_repository_loc":28,"shutdownrepositorylocationinfo":28,"sid":44,"side":[6,11,14,20,38,40,41,49,51,56],"sidecar":14,"sign":25,"signal":[2,16],"signatur":[7,9,49,56],"signific":[9,14,38],"significantli":[14,38],"silenc":[14,38],"similar":56,"simpl":[4,34,41,53],"simple_job":53,"simple_repositori":53,"simpler":[14,38],"simpli":[14,22,38],"simplifi":56,"simultan":[14,38],"sinc":[2,6,9,10,14,16,20,25,38,51,56],"singl":[1,2,3,6,7,11,14,15,18,20,22,25,38,39,49,50,51,52,55,56,57],"sit":1,"site":[5,14,25,38],"situat":[14,38],"size":[14,20,25,38,49,56],"skip":[10,14,22,38,55,56,58],"skip_empty_fil":14,"skip_messag":55,"skipreason":55,"slack":[8,9],"slack_job":40,"slack_message_on_failur":8,"slack_message_on_success":8,"slack_on_failur":40,"slack_on_pipeline_failur":40,"slack_on_run_failur":40,"slack_on_success":40,"slack_op":40,"slack_resourc":40,"slack_sdk":40,"slack_token":40,"sleep":57,"slice":50,"slightli":55,"slow":[14,16,17,18,29,38],"slower":[14,38],"slowli":[14,38],"slurm":19,"small":[14,38],"smaller":[14,38],"snappi":[14,38],"snappycompressioncodec":[14,38],"snapshot":22,"snapshot_fresh":22,"snippet":25,"snowflak":15,"snowflake_account":41,"snowflake_databas":41,"snowflake_op_for_queri":41,"snowflake_password":41,"snowflake_resourc":41,"snowflake_schema":41,"snowflake_us":41,"snowflake_warehous":41,"snowflakeconnect":41,"socket":[2,14,38],"softwar":[14,15,25],"softwareconfig":25,"solid":[3,6,7,8,9,10,13,16,20,25,26,28,30,31,39,40,45,47,48,49,50,51,52,55,58],"solid_config":[6,8,45,56],"solid_def":[6,10,45,51,56],"solid_definit":22,"solid_except":8,"solid_handl":[6,45],"solid_nam":[31,45,56],"solid_output_valu":8,"solid_result_list":[51,56],"solid_retry_polici":51,"solid_select":[9,28,50,51,52,55],"solid_selection_str":51,"solid_to_invok":56,"soliddefinit":[3,6,8,10,20,22,39,45,51,56],"solidexecutioncontext":[6,22,56],"solidexecutionresult":[51,56],"solidinvoc":51,"solids_to_execut":[9,51],"solidversioncontext":47,"solut":13,"some":[3,9,10,14,15,16,18,20,22,28,29,38,55,58],"some_asset":1,"some_asset_kei":1,"some_celery_backend_url":18,"some_celery_broker_url":18,"some_config":3,"some_config1":3,"some_config2":3,"some_directori":53,"some_job":53,"some_model_nam":30,"some_modul":2,"some_op":[6,7,11,12,24],"some_param":30,"some_run_id":28,"some_sensor":53,"some_solid":[50,51,52,55],"some_validation_fn":[49,56],"someon":3,"someth":[56,58],"sometim":29,"somewher":40,"sonnest":[50,55],"soonest":[50,55],"sort":[3,14,22,38,57],"sourc":[1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58],"source_asset":1,"sourceasset":1,"sourcehashversionstrategi":47,"space":[9,14,20,38],"spark":[1,14,20,25,38],"spark_conf":[20,38,42],"spark_config":14,"spark_daemon_java_opt":20,"spark_env_var":20,"spark_hom":42,"spark_local_dir":[14,20,38],"spark_local_ip":[14,38],"spark_python_task":20,"spark_resourc":42,"spark_sess":38,"spark_vers":20,"spark_worker_memori":20,"sparkconf":[14,25,38],"sparkcontext":[14,38],"sparkjob":25,"sparklisten":[14,38],"sparkoperror":42,"sparkpi":20,"sparkr":[14,38],"sparkr_driver_r":[14,38],"sparksess":38,"sparkspi":20,"sparksqljob":25,"spars":[14,38],"spawn":[2,18],"spec":57,"special":[14,38],"specif":[3,6,8,9,14,16,19,20,22,25,31,38,40,45,46,51,54,55,56,57],"specifi":[1,2,3,5,6,7,8,9,10,11,12,13,14,16,18,20,22,23,24,25,29,31,34,38,40,41,45,46,49,50,51,54,55,56,57],"specul":[14,20,38],"speed":[14,38],"spill":[14,38],"spin":39,"splendidrunstorag":9,"split":[50,55],"spread":[14,25,38],"spun":13,"sql":[9,14,22,25,38,41],"sql_queri":[25,41],"sqlalchemi":41,"sqleventlogstorag":9,"sqlite":9,"sqliteeventlogstorag":9,"sqliterunstorag":9,"sqliteschedulestorag":9,"sqlrunstorag":9,"sqlschedulestorag":9,"squar":57,"src":[38,41],"ssd":25,"sse":20,"ssh":[19,20],"ssh_port":43,"ssh_public_kei":20,"ssh_resourc":43,"sshresourc":43,"ssl":[2,14,25],"sslmode":14,"stabil":[14,38],"stabl":[16,17,18,23,29],"stack":[5,9],"stackoverflowerror":[14,38],"stage":[14,15,25,38],"staging_bucket":14,"staging_prefix":[14,20],"standalon":[14,38,51],"standard":[7,9,11,14,25,38,46,49,56],"start":[2,9,14,17,18,19,24,29,31,34,38,40,49,50,55,56],"start_aft":[12,24],"start_asset":1,"start_dat":[50,55],"start_resync":24,"start_sync":24,"stat":[14,38],"state":[5,9,14,15,20,22,25,28,38,49,55,56],"statement":2,"static":[1,4,9,10,34,49,50,52,53,54,56,58],"static_partitioned_config":50,"staticmethod":9,"statu":[9,14,22,24,25,28,31,38,40,49,50,55,56],"status":2,"stderr":[2,9,14,15],"stderrfrom":20,"stdin":58,"stdout":[2,9,14,15,20,22,58],"step":[5,6,8,9,10,14,16,17,18,20,22,23,27,28,29,30,31,38,40,47,49,51,56,58],"step_context":10,"step_event_list":[51,56],"step_events_by_kind":56,"step_execution_context":[6,8,56],"step_expectation_result":[6,56],"step_failur":[6,56],"step_handl":6,"step_input":[6,56],"step_kei":[6,8,9,10,28,58],"step_keys_to_execut":9,"step_kind_valu":6,"step_launch":[6,56],"step_output":[6,56],"step_output_vers":9,"step_restart":6,"step_select":51,"step_skip":6,"step_start":6,"step_success":[6,56],"step_up_for_retri":6,"stepexecutioncontext":10,"stepfailuredata":56,"stepkind":6,"steplaunch":[6,56],"stepoutputhandl":9,"still":[3,14,25,38],"stop":[2,9,14,20,22,31,38,40,50,55],"stopgracefullyonshutdown":[14,38],"storag":[2,5,14,15,18,20,25,28,29,30,32,36,38,48,51],"storage_account":15,"storage_account_key_kei":20,"storage_account_nam":20,"storage_id":9,"storagefract":[14,38],"storagelevel":[14,38],"store":[1,2,9,10,14,20,25,27,29,38,40,49,56,57],"store_serialized_dag":13,"str":[1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,22,24,25,26,28,31,34,35,39,40,41,45,46,48,49,50,51,52,53,54,55,56,57,58],"str_param":57,"str_valu":56,"straightforward":57,"strategi":[3,6,11,14,38,47,51],"stream":[9,12,14,20,38,51],"streamingcontext":[14,38],"strict":[9,14,16,17,18,19,20,23,25,29,36],"strict_column_list":34,"strict_flag":22,"strictcolumnsconstraint":34,"strictli":[14,20,38],"string":[1,2,3,4,5,6,7,9,11,12,14,16,17,18,20,22,23,24,25,27,28,29,30,33,34,38,39,40,43,45,47,48,49,50,51,52,53,55,56,57,58],"string_column":34,"stringio":9,"stringsourc":[1,3,5,12,14,15,16,17,18,19,20,21,22,23,24,25,27,29,31,32,36,38,41,43,44],"structur":[6,7,9,14,38,46,49,51,56,58],"structured_asset_kei":[49,56],"structured_asset_key_2":[49,56],"stub":[49,56],"stuff":58,"sub":[1,9,14,38],"sub0":25,"subclass":[5,9,13,14,38,47,53,57,58],"subminor":25,"submiss":25,"submit":[9,14,18,20,25,28,38,42,55],"submit_job_execut":28,"submit_pipeline_execut":28,"submit_run":9,"subnet":25,"subnetwork":25,"subnetwork_uri":25,"subnetworkuri":25,"subselect":[1,50,52,55],"subsequ":[1,7,14,15,22,25,29,38,41],"subset":[12,22,24,51],"substanti":[14,38],"subtract":50,"succe":[8,20,56],"succeed":[8,22,24,49,56],"success":[2,5,6,8,9,12,14,22,24,28,31,34,38,40,41,49,51,56,57],"success_hook":8,"successfulli":[22,24],"suffix":[14,38],"suggest":[20,22],"suit":26,"suitabl":[14,15,25],"suite_nam":26,"sum":57,"sum_job":57,"sum_op":57,"summari":33,"summarize_directori":4,"sundai":[50,55],"super":30,"supervis":[14,38],"suppli":[3,5,7,11,18,22,29,50,58],"support":[1,4,9,11,13,14,15,20,21,22,25,27,33,38,39,40,46,49,50,55,56],"suppress":2,"sure":[14,27,38],"surfac":[2,14],"sustainedschedulerbacklogtimeout":[14,38],"svc":[21,29],"svv":29,"switch":[6,7,11,51],"symbol":[14,38],"sync":[12,24,50],"sync_and_pol":[12,24],"sync_foobar":[12,24],"synchron":[5,9,22,28,51],"syntax":[6,22,57],"synthes":47,"sys":5,"system":[2,3,5,6,9,11,14,15,16,20,28,38,48,49,51,54,56,57],"tab":[12,24,33,58],"tabl":[1,12,13,22,24,25,41,56],"table1":24,"table2":24,"table_nam":[12,24],"table_schema":[49,56],"tablecolumn":[49,56],"tablecolumnconstraint":49,"tableconstraint":49,"tablemetadatavalu":[49,56],"tablerecord":[49,56],"tableschema":[49,56],"tableschemametadatavalu":[49,56],"tabluar":[49,56],"tabular":[49,56],"tag":[1,6,7,9,11,13,14,20,21,25,28,29,30,39,45,47,49,51,52,55,56],"tag_concurrency_limit":9,"tags_fn":55,"tags_fn_for_partit":50,"tags_for_partition_fn":[50,55],"tagsmor":20,"take":[7,14,19,20,22,26,31,34,38,40,41,49,50,53,54,55,56,57],"taken":24,"tar":25,"target":[6,11,14,18,22,29,38,50,51,55],"target_dir":22,"target_path":22,"task":[13,14,17,18,22,25,29,38],"task_definit":14,"task_id":22,"task_tag":22,"taskinst":13,"team":9,"teams_on_failur":31,"teams_on_pipeline_failur":31,"teams_on_success":31,"teams_pipelin":31,"teams_solid":31,"teams_webhook_url":31,"teamsclient":31,"teardown":54,"technic":22,"tell":[6,7,9,24,51],"temp":9,"tempfil":9,"templat":13,"temporari":[1,9,10],"tend":[14,38],"term":[20,49,50],"termin":[20,22,25,41],"test":[2,5,9,15,22,25,38,49,51,52,55,56],"test_handle_output":10,"test_load_input":10,"test_project":29,"test_util":13,"test_valu":3,"text":[2,22,27,31,40,49,56],"text_fn":40,"text_messag":31,"text_metadata":[49,56],"text_usag":40,"textio":9,"textmetadatavalu":[49,56],"tgtlifetimehour":25,"tgz":25,"than":[3,6,9,14,16,17,18,20,25,27,29,38,49,50,51,54,56,57],"thank":29,"the_asset_group":1,"the_job":51,"the_resourc":54,"thei":[1,2,3,6,7,9,10,11,13,14,15,20,22,38,49,51,54,56,57,58],"them":[1,2,5,9,10,14,20,22,24,25,29,34,38,39,46,49,51,55,56,57,58],"themselv":[6,7,51],"therefor":22,"thi":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,24,25,27,28,29,30,31,32,33,34,35,36,38,39,40,41,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58],"thin":[21,27,33,40],"thing":[14,27,38,51,58],"third":9,"those":[1,6,7,10,11,14,20,22,38,41,46,51,55],"though":[14,38],"thousand":[14,38],"thrash":25,"thread":[1,2,9,14,19,22,38,41],"threaddump":[14,38],"threads_per_work":19,"three":1,"threshold":[14,22,34,38],"through":[3,9,13,14,20,22,34,38,45,46,49,50,56,57,58],"throw":[3,5,14,22,28,38,56],"thrown":[5,8,22,34,57],"thu":6,"tick":55,"ticket":25,"tie":55,"tighter":27,"tightli":[14,38],"time":[1,2,3,4,6,7,10,11,12,13,14,16,17,21,22,23,24,25,38,39,41,49,50,51,55,56,57],"timeout":[2,14,19,20,31,37,38,41,43],"timeout_second":20,"timestamp":[9,24,34],"timewindowpartitionsdefinit":[6,10,56],"timezon":[2,34,41,50,55],"titl":27,"tmp":[14,15,25,29,38],"to_job":[6,7,11,20,46,51],"togeth":[49,56],"toggl":47,"token":[15,20,22,27,29,40,44],"too":[14,29,38],"tool":[9,13,20,22,34,49,51,52,56,57],"top":[1,3,6,7,9,12,22,24,51,56],"topic":40,"torn":54,"torrentbroadcastfactori":[14,38],"total":[14,20,38],"touch":9,"toward":14,"trace":[5,9,46],"track":[14,30,38,49,51,56],"transfer":[14,38],"transform":[14,38,57],"transform_word":3,"transient":[9,14,38],"transit":15,"transport":28,"travers":18,"treat":[49,56,57],"tri":[14,38],"trigger":[8,14,22,31,33,38,40,55],"triggerrun":22,"true":[3,4,5,6,7,9,10,11,12,13,14,18,20,22,24,25,29,34,36,38,41,43,47,49,50,51,55,56,57,58],"trust":25,"truststor":25,"truststorepassworduri":25,"truststoreuri":25,"try":[14,16,28,38,49,56],"tune":[14,38],"tupl":[5,6,9,11,24,49,56,57],"tuple_input":57,"tuple_op":57,"turn":[2,14,24,29,38,53,55],"twilio_resourc":44,"two":[1,10,20,49,51,54,56,57],"txt":[9,25],"type":[1,5,6,7,8,9,10,12,13,14,15,18,20,24,25,26,28,29,34,39,40,41,45,46,47,50,51,52,53,54,55,58],"type_check_fn":[34,49,56,57],"typecheck":[5,34,45,49,56,57],"typecheckcontext":[6,34,57],"typehint":7,"typic":[1,5,6,9,13,14,38,40,51,53],"typing_typ":[34,57],"ubuntu":20,"udf":25,"ugli":3,"uksouth":20,"uncondition":[14,38],"unconnect":57,"unconstrain":57,"under":[1,6,7,9,14,16,17,18,25,29,38,49,56],"underestim":[14,38],"underli":[6,7,13,14,15,16,17,18,22,39,46,49,54,56],"underneath":22,"underscor":25,"underutil":20,"unexpect":[5,14,22,38],"unifi":[14,38],"uniform":[9,46],"uninstal":29,"union":[1,3,4,6,7,9,10,12,14,16,17,18,22,24,25,29,30,34,40,45,46,49,50,51,53,54,55,56,57],"uniqu":[2,3,4,6,7,9,10,13,16,21,25,34,47,48,49,51,52,56,57],"unique_id":[13,22],"unit":[6,7,14,29,38,49,51,55,56],"unix":9,"unknown":5,"unless":[12,14,22,38,49,50,55,56],"unlik":[1,3,49,56],"unlimit":[14,38],"unpars":22,"unpersist":[14,38],"unrecover":[49,56],"unregist":[14,38],"unrol":[14,38],"unrollfract":[14,38],"unsaf":[14,38],"unsatisfi":1,"unset":20,"unsign":14,"unspecifi":[3,25,49],"unstructur":9,"unsuccess":[12,24],"until":[2,12,14,20,22,24,38],"untitl":20,"untyp":57,"unus":[14,34,38,57],"unusu":[14,38],"unwil":[14,38],"unzip":20,"up_for_retri":[49,56],"updat":[14,22,24,38],"update_connector":24,"update_job":22,"update_schedule_typ":24,"updatejobbyid":22,"upload":[14,20],"upon":[9,20,22,29,47,54],"upper":[14,34,38],"upstream":[1,6,7,10,11,49,51,56],"upstream_output":10,"uri":[25,30,41],"url":[2,14,15,16,17,18,20,22,23,25,28,31,35,38,40,49,56],"urlmetadatavalu":[49,56],"usabl":[9,57],"usable_as_dagster_typ":[49,56,57],"usag":[1,9,10,13,14,28,30,38,40,49,56],"use":[1,2,3,4,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,33,34,36,38,39,40,41,43,45,46,48,49,50,51,53,54,55,56,57,58],"use_airflow_template_context":13,"use_http":[12,28],"use_ssl":14,"use_unsigned_sess":14,"used":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,22,23,24,25,26,27,28,29,30,33,34,38,40,41,45,46,48,49,50,51,52,54,55,56,57,58],"usefetchcach":[14,38],"useful":[2,14,25,28,29,38,50,51,54,55,56,58],"uselegacymod":[14,38],"usepassword":29,"user":[1,2,3,5,6,7,8,9,10,12,14,15,20,21,22,24,25,26,27,32,34,35,36,38,39,40,41,45,46,47,49,50,51,53,54,56,57],"user1":17,"user_code_error_boundari":[5,9],"user_messag":9,"useraccount":25,"userclasspathfirst":[14,38],"userdeploy":29,"userguid":[16,17,18],"usernam":[9,14,17,23,29,32,36,43],"uses":[5,10,20,21,25,45,49,56],"using":[1,2,3,4,6,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,27,29,30,31,34,38,39,40,41,43,46,49,51,52,53,54,55,56,57,58],"usr":25,"usual":[1,10,13,14,38,53],"utc":[13,34,50,55],"utc_date_str":13,"utc_execution_date_str":13,"util":[4,6,10,14,15,28,29,34,49,50,56],"valid":[1,3,6,9,10,14,22,25,26,34,38,41,50,55,57],"validate_default_paramet":41,"validate_run_config":6,"validate_t":[49,56],"validateoutputspec":[14,38],"validation_operator_nam":26,"validation_operators_and_act":26,"valu":[1,2,3,4,5,6,7,8,9,10,11,12,14,15,16,17,18,20,22,23,24,25,28,29,30,31,32,34,36,38,39,41,43,45,49,50,51,53,54,55,56,57],"var":[17,22],"vari":51,"variabl":[2,3,14,15,17,18,20,22,23,25,27,29,30,32,36,38,41,50,55],"variant":[4,14,38],"variat":[16,17,18],"varieti":[22,28],"variou":[14,25,27,38,55],"verbos":[14,20,38],"veri":[6,11,14,38,51,57],"verifi":[14,31],"verify_cert_path":14,"version":[2,3,7,9,10,11,14,15,16,17,18,20,22,25,29,38,46,49,51,54,56,57],"version_strategi":[6,7,11,51],"versionstrategi":[7,11,47,51],"very_cool_packag":9,"very_secret_env_vari":3,"very_secret_env_variable_bool":3,"very_secret_env_variable_int":3,"via":[1,2,3,6,9,10,13,14,15,16,20,22,25,29,31,37,38,40,45,50,51,54,55,58],"viabl":9,"view":[21,22,29,50],"viewabl":[7,11],"violat":5,"visibl":29,"visitor":21,"visual":[34,57],"void":50,"vol1":17,"vol2":17,"volum":[17,18,20,29],"volume_mount":[18,29],"volumemount":[18,29],"vvv":29,"wai":[1,6,9,10,11,14,24,29,38,50,51,54,56,57],"wait":[2,12,14,18,20,22,24,38,49,56,57],"wait_for_log":[14,20],"wait_for_process":9,"wait_int":57,"wal":[14,38],"walk":4,"want":[3,12,13,14,16,17,18,20,22,24,26,27,28,29,30,31,38,40,55,56,57,58],"warehous":41,"warm":29,"warn":[2,14,21,22,38,46],"warn_error":22,"wast":[14,38],"wave":40,"weak":[14,38],"web":[14,16,38],"webclient":40,"webhook":31,"week":[50,55],"weekli":[50,55],"weekly_partitioned_config":[50,55],"well":[3,5,6,7,11,14,20,22,24,29,30,38,41,49,56,57],"were":[10,16,17,18,22,51,55,56],"west":[14,20,29],"wget":25,"what":[7,9,14,26,38,49,55,56],"whatev":51,"when":[1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30,32,36,38,39,40,41,45,46,47,48,49,50,51,52,53,54,55,56,57,58],"whenev":[7,11,14,35,46,49,56],"where":[1,2,4,6,8,9,10,14,17,18,22,25,26,28,29,34,38,39,49,50,55,56,57],"whether":[3,6,7,9,10,11,14,18,22,25,28,29,31,38,40,45,47,49,50,51,55,56],"which":[1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,26,27,28,29,30,31,34,35,38,39,40,41,45,46,47,48,49,50,51,52,53,54,55,56,57],"while":[3,5,9,14,20,22,38,47,50,56],"whitelist":9,"who":[9,14,38],"whole":[9,10,14,38],"whom":3,"whose":[1,3,5,6,9,10,14,20,45,47,51,56,57,58],"why":55,"window":[6,10,25,50,55,56],"wish":[9,14,22,38,49,56,57],"with_additional_config":52,"with_hook":[11,31,40],"within":[1,3,5,6,7,9,10,11,13,14,18,20,21,22,24,25,27,28,29,30,33,34,35,38,46,48,49,51,53,54,56,57],"without":[3,5,9,13,14,16,19,25,28,38,55,57],"won":[10,14,16,38],"word":[3,49,50,57],"wordcount":25,"work":[2,4,9,14,18,22,25,29,38,40,47,50,57,58],"worker":[2,9,14,17,18,19,20,25,29,38],"worker_main":16,"workerconfig":25,"working_directori":2,"workload":[14,20,38],"workspac":[2,9,20,40],"world":[3,39,56],"would":[1,9,16,22,24,45,49,50,56],"wrap":[3,5,6,9,10,11,15,22,39,45,46,49,51,54,56],"wrapper":[21,27,33,40],"write":[7,9,11,14,16,20,27,38,51,54,55,56,57],"write_csv":10,"write_data":9,"write_fil":9,"writeaheadlog":[14,38],"writehead":57,"writeif":25,"writer":57,"writerow":57,"written":[14,38],"www":[17,25,50,55],"xlarg":20,"xloggc":[14,38],"xml":25,"xmlfor":25,"xmx":[14,38],"yaml":[1,2,9,10,14,15,16,17,18,29,32,36,52,53,57,58],"yaml_directori":53,"yaml_str":[52,58],"yarn":[14,19,25,38],"yes":[14,38],"yet":[6,10,53,55,56],"yield":[3,4,6,7,9,10,12,22,24,26,45,49,51,53,54,55,56],"yield_ev":45,"yield_materi":[12,22,24],"yield_result":45,"yml":[22,26],"you":[1,2,3,5,6,7,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35,36,38,39,40,41,45,46,49,50,51,53,54,55,56,57,58],"your":[1,6,9,10,11,13,14,15,17,18,20,22,25,26,27,28,29,30,31,33,34,35,36,38,40,41,45,51,54],"your_kei":21,"your_org_her":28,"your_service_account":29,"yourself":9,"zadrozni":16,"zero":[14,22,25,38,39],"zip":[14,20,25,38],"zone":[25,41,50,55],"zoneuri":25,"zookeep":[14,38],"zstd":[14,38],"zstdcompressioncodec":[14,38],"世界":3,"你好":3},"titles":["Home","Software-Defined Assets (Experimental)","Dagster CLI","Config","Dynamic Mapping & Collect","Errors","Execution","Graphs","Hooks","Internals","IO Managers","Jobs","Airbyte (dagster-airbyte)","Airflow (dagster-airflow)","AWS (dagster-aws)","Azure (dagster-azure)","Celery (dagster-celery)","Orchestration on Celery + Docker","Orchestration on Celery + Kubernetes","Dask (dagster-dask)","Databricks (dagster-databricks)","Datadog (dagster-datadog)","dbt (dagster-dbt)","Orchestration on Docker","Fivetran (dagster-fivetran)","GCP (dagster-gcp)","Great Expectations (dagster-ge)","GitHub (dagster-github)","GraphQL (dagster-graphql)","Kubernetes (dagster-k8s)","MLflow (dagster-mlflow)","Microsoft Teams (dagster-msteams)","MySQL (dagster-mysql)","PagerDuty (dagster-pagerduty)","Pandas (dagster-pandas)","Papertrail (dagster-papertrail)","PostgreSQL (dagster-postgres)","Prometheus (dagster-prometheus)","Pyspark (dagster-pyspark)","Shell (dagster-shell)","Slack (dagster-slack)","Snowflake (dagster-snowflake)","Spark (dagster-spark)","SSH / SFTP (dagster-ssh)","Twilio (dagster-twilio)","Dagstermill","Loggers","Versioning and Memoization","[Legacy] Modes","Ops","Partitions","[Legacy] Pipelines","[Legacy] Presets","Repositories","Resources","Run Requests","[Legacy] Solids","Types","Utilities"],"titleterms":{"AWS":14,"ECS":14,"GCS":25,"Ins":49,"K8s":29,"Ops":[12,22,24,49],"about":29,"access":29,"airbyt":12,"airflow":13,"alias":51,"api":[2,16,17,18,20,23,25,29,39,55],"app":16,"asset":[1,2,12,22,24,49,56],"aws":14,"azur":15,"backend":16,"best":16,"bigqueri":25,"broker":16,"built":[10,46,57],"celeri":[16,17,18],"chart":29,"cli":[2,16,22],"client":28,"cloud":22,"cloudwatch":14,"cluster":29,"collect":4,"compos":56,"comput":9,"config":[3,6,51],"configur":[6,16,51],"context":[6,10,56],"coordin":9,"core":22,"custom":[16,46],"daemon":2,"dagit":2,"dagster":[2,12,13,14,15,16,19,20,21,22,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"dagstermil":45,"dask":19,"databrick":20,"datadog":21,"dataproc":25,"dbt":22,"debug":2,"defin":[1,46,49,56],"definit":51,"depend":51,"develop":29,"docker":[17,23],"dump":2,"dynam":4,"emr":14,"enabl":29,"error":[5,22],"event":[9,49,56],"except":9,"execut":[6,27,49,51,56],"executor":[6,9],"exist":29,"expect":26,"experiment":[1,10],"faster":29,"file":9,"fivetran":24,"from":[29,46],"function":50,"gcp":25,"gcr":29,"get":33,"github":27,"graph":[6,7],"graphql":[2,27,28],"great":26,"grpc":2,"handl":9,"heartbeat":2,"helm":29,"hook":8,"input":[10,56],"instanc":[2,9],"intern":9,"issu":27,"job":[2,6,11],"k8s":29,"kei":[49,56],"kind":29,"kubernet":[18,29],"launcher":9,"legaci":[2,20,22,25,30,39,48,50,51,52,55,56],"list":16,"local":29,"log":[9,46],"logger":46,"make":57,"manag":[9,10],"manual":29,"map":4,"memoiz":47,"metadata":[49,56],"microsoft":31,"minikub":29,"mlflow":30,"mode":48,"monitor":16,"msteam":31,"mysql":32,"new":57,"note":29,"ops":49,"orchestr":[17,18,23],"other":16,"out":49,"output":[10,56],"pagerduti":33,"panda":34,"papertrail":35,"partit":[50,55],"pipelin":[2,51],"post":27,"postgr":36,"postgresql":36,"practic":16,"preset":52,"primit":57,"prometheu":37,"pvc":29,"pyspark":38,"python":[28,29],"queri":27,"quickstart":16,"reconstruct":[6,11,51],"redi":29,"redshift":14,"repositori":53,"request":55,"resourc":[12,22,24,54],"result":6,"retri":56,"root":10,"rpc":22,"run":[2,6,9,29,51,55],"schedul":[2,9,55],"schema":[6,51],"secretsmanag":14,"sensor":[2,55],"setup":29,"sftp":43,"shell":39,"slack":40,"snowflak":41,"softwar":1,"solid":[22,56],"spark":42,"ssh":43,"start":[16,33],"storag":9,"tabl":49,"task":16,"team":31,"termin":16,"test":[14,29,57],"twilio":44,"type":[3,22,49,56,57],"util":[3,22,58],"valid":29,"version":47,"wipe":2,"worker":16,"your":16}},"tableOfContents":{"items":[{"url":"#software-defined-assets","title":"Software-Defined Assets","items":[{"url":"#relevant-apis","title":"Relevant APIs"},{"url":"#overview","title":"Overview"},{"url":"#defining-assets","title":"Defining assets","items":[{"url":"#a-basic-software-defined-asset","title":"A basic software-defined asset"},{"url":"#assets-with-dependencies","title":"Assets with dependencies"}]},{"url":"#combining-assets-in-groups","title":"Combining assets in groups"},{"url":"#viewing-and-materializing-assets-in-dagit","title":"Viewing and materializing assets in Dagit","items":[{"url":"#loading-assets-into-dagit","title":"Loading assets into Dagit"},{"url":"#viewing-assets-in-dagit","title":"Viewing assets in Dagit"},{"url":"#materializing-assets-in-dagit","title":"Materializing assets in Dagit"}]},{"url":"#source-assets---representing-assets-are-generated-somewhere-else","title":"Source assets - representing assets are generated somewhere else","items":[{"url":"#customizing-how-assets-are-materialized-with-io-managers","title":"Customizing how assets are materialized with IO managers"}]},{"url":"#building-jobs-that-materialize-assets","title":"Building jobs that materialize assets"},{"url":"#testing","title":"Testing"},{"url":"#examples","title":"Examples","items":[{"url":"#multi-component-asset-keys","title":"Multi-component asset keys"},{"url":"#explicit-dependencies","title":"Explicit dependencies"},{"url":"#using-context-in-assets","title":"Using context in assets"}]},{"url":"#further-reading","title":"Further Reading"}]}]},"githubLink":"https://github.com/dagster-io/dagster/tree/master/docs/content/concepts/assets/software-defined-assets.mdx"}},"__N_SSG":true}