-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a means to track which dagster libraries have been loaded in a process. This can be used for example to show which libraries and their versions were used when loading definitions for a specific code location. ### How I Tested These Changes added test, can add more ``` (py39) ~/dagster:al/02-10-DagsterLibraryRegistry$ ls -l python_modules/libraries/ | grep -v total | wc -l 43 (py39) ~/dagster:al/02-10-DagsterLibraryRegistry$ grep "DagsterLibraryRegistry.register" python_modules/libraries/ -r | wc -l 43 ``` remove a register call and ensure new test fails
- Loading branch information
1 parent
c8e4fb2
commit ec70f8a
Showing
48 changed files
with
145 additions
and
84 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
import os | ||
import subprocess | ||
from pathlib import Path | ||
|
||
|
||
def test_all_libraries_register() -> None: | ||
# attempt to ensure all libraries in the repository register with DagsterLibraryRegistry | ||
register_call = "DagsterLibraryRegistry.register" | ||
|
||
library_dir = Path(__file__).parents[2] / "libraries" | ||
assert str(library_dir).endswith("python_modules/libraries") | ||
|
||
for library in os.listdir(library_dir): | ||
result = subprocess.run(["grep", register_call, (library_dir / library), "-r"]) | ||
assert ( | ||
result.returncode == 0 | ||
), f"Dagster library {library} is missing call to {register_call}." |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
from dagster._core.utils import check_dagster_package_version | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .version import __version__ | ||
|
||
check_dagster_package_version("dagit", __version__) | ||
DagsterLibraryRegistry.register("dagit", __version__) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
from typing import Dict, Mapping | ||
|
||
from dagster._core.utils import check_dagster_package_version | ||
|
||
from ..version import __version__ | ||
|
||
|
||
class DagsterLibraryRegistry: | ||
_libraries: Dict[str, str] = {"dagster": __version__} | ||
|
||
@classmethod | ||
def register(cls, name: str, version: str): | ||
check_dagster_package_version(name, version) | ||
cls._libraries[name] = version | ||
|
||
@classmethod | ||
def get(cls) -> Mapping[str, str]: | ||
return cls._libraries.copy() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
from dagster._core.utils import check_dagster_package_version | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .version import __version__ | ||
|
||
check_dagster_package_version("dagster-aws", __version__) | ||
DagsterLibraryRegistry.register("dagster-aws", __version__) |
4 changes: 2 additions & 2 deletions
4
python_modules/libraries/dagster-azure/dagster_azure/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
from dagster._core.utils import check_dagster_package_version | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .version import __version__ | ||
|
||
check_dagster_package_version("dagster-azure", __version__) | ||
DagsterLibraryRegistry.register("dagster-azure", __version__) |
4 changes: 2 additions & 2 deletions
4
python_modules/libraries/dagster-celery-docker/dagster_celery_docker/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
from dagster._core.utils import check_dagster_package_version | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .executor import celery_docker_executor as celery_docker_executor | ||
from .version import __version__ as __version__ | ||
|
||
check_dagster_package_version("dagster-celery-docker", __version__) | ||
DagsterLibraryRegistry.register("dagster-celery-docker", __version__) |
4 changes: 2 additions & 2 deletions
4
python_modules/libraries/dagster-celery-k8s/dagster_celery_k8s/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
from dagster._core.utils import check_dagster_package_version | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .executor import celery_k8s_job_executor as celery_k8s_job_executor | ||
from .launcher import CeleryK8sRunLauncher as CeleryK8sRunLauncher | ||
from .version import __version__ as __version__ | ||
|
||
check_dagster_package_version("dagster-celery-k8s", __version__) | ||
DagsterLibraryRegistry.register("dagster-celery-k8s", __version__) |
4 changes: 2 additions & 2 deletions
4
python_modules/libraries/dagster-celery/dagster_celery/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
from dagster._core.utils import check_dagster_package_version | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .executor import celery_executor | ||
from .version import __version__ | ||
|
||
check_dagster_package_version("dagster-celery", __version__) | ||
DagsterLibraryRegistry.register("dagster-celery", __version__) | ||
|
||
__all__ = ["celery_executor"] |
4 changes: 2 additions & 2 deletions
4
python_modules/libraries/dagster-census/dagster_census/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 2 additions & 2 deletions
4
python_modules/libraries/dagster-dask/dagster_dask/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
from dagster._core.utils import check_dagster_package_version | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .data_frame import DataFrame as DataFrame | ||
from .executor import dask_executor as dask_executor | ||
from .resources import dask_resource as dask_resource | ||
from .version import __version__ as __version__ | ||
|
||
check_dagster_package_version("dagster-dask", __version__) | ||
DagsterLibraryRegistry.register("dagster-dask", __version__) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 2 additions & 2 deletions
4
python_modules/libraries/dagster-datadog/dagster_datadog/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
from dagster._core.utils import check_dagster_package_version | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .resources import datadog_resource | ||
from .version import __version__ | ||
|
||
check_dagster_package_version("dagster-datadog", __version__) | ||
DagsterLibraryRegistry.register("dagster-datadog", __version__) | ||
|
||
__all__ = ["datadog_resource"] |
4 changes: 2 additions & 2 deletions
4
python_modules/libraries/dagster-datahub/dagster_datahub/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
from dagster._core.utils import check_dagster_package_version | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .resources import datahub_kafka_emitter, datahub_rest_emitter | ||
from .version import __version__ | ||
|
||
check_dagster_package_version("dagster-datahub", __version__) | ||
DagsterLibraryRegistry.register("dagster-datahub", __version__) | ||
|
||
__all__ = ["datahub_rest_emitter", "datahub_kafka_emitter"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5 changes: 5 additions & 0 deletions
5
python_modules/libraries/dagster-duckdb-pandas/dagster_duckdb_pandas/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,9 @@ | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .duckdb_pandas_type_handler import ( | ||
DuckDBPandasTypeHandler as DuckDBPandasTypeHandler, | ||
duckdb_pandas_io_manager as duckdb_pandas_io_manager, | ||
) | ||
from .version import __version__ | ||
|
||
DagsterLibraryRegistry.register("dagster-duckdb-pandas", __version__) |
5 changes: 5 additions & 0 deletions
5
python_modules/libraries/dagster-duckdb-pyspark/dagster_duckdb_pyspark/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,9 @@ | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .duckdb_pyspark_type_handler import ( | ||
DuckDBPySparkTypeHandler as DuckDBPySparkTypeHandler, | ||
duckdb_pyspark_io_manager as duckdb_pyspark_io_manager, | ||
) | ||
from .version import __version__ | ||
|
||
DagsterLibraryRegistry.register("dagster-duckdb-pyspark", __version__) |
5 changes: 5 additions & 0 deletions
5
python_modules/libraries/dagster-duckdb/dagster_duckdb/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,6 @@ | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .io_manager import build_duckdb_io_manager as build_duckdb_io_manager | ||
from .version import __version__ | ||
|
||
DagsterLibraryRegistry.register("dagster-duckdb", __version__) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,8 @@ | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .factory import ge_validation_op_factory | ||
from .version import __version__ | ||
|
||
DagsterLibraryRegistry.register("dagster-ge", __version__) | ||
|
||
__all__ = ["ge_validation_op_factory"] |
4 changes: 2 additions & 2 deletions
4
python_modules/libraries/dagster-github/dagster_github/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
from dagster._core.utils import check_dagster_package_version | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .resources import github_resource | ||
from .version import __version__ | ||
|
||
check_dagster_package_version("dagster-github", __version__) | ||
DagsterLibraryRegistry.register("dagster-github", __version__) | ||
|
||
__all__ = ["github_resource"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5 changes: 5 additions & 0 deletions
5
python_modules/libraries/dagster-managed-elements/dagster_managed_elements/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,6 @@ | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .types import * # noqa: F403 | ||
from .version import __version__ | ||
|
||
DagsterLibraryRegistry.register("dagster-managed-elements", __version__) |
4 changes: 2 additions & 2 deletions
4
python_modules/libraries/dagster-mlflow/dagster_mlflow/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
from dagster._core.utils import check_dagster_package_version | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .hooks import end_mlflow_on_run_finished | ||
from .resources import mlflow_tracking | ||
from .version import __version__ | ||
|
||
check_dagster_package_version("dagster-mlflow", __version__) | ||
DagsterLibraryRegistry.register("dagster-mlflow", __version__) | ||
|
||
__all__ = ["mlflow_tracking", "end_mlflow_on_run_finished"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 2 additions & 2 deletions
4
python_modules/libraries/dagster-mysql/dagster_mysql/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,10 @@ | ||
from dagster._core.utils import check_dagster_package_version | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .event_log import MySQLEventLogStorage | ||
from .run_storage import MySQLRunStorage | ||
from .schedule_storage import MySQLScheduleStorage | ||
from .storage import DagsterMySQLStorage | ||
from .version import __version__ | ||
|
||
check_dagster_package_version("dagster-mysql", __version__) | ||
DagsterLibraryRegistry.register("dagster-mysql", __version__) | ||
__all__ = ["DagsterMySQLStorage", "MySQLEventLogStorage", "MySQLRunStorage", "MySQLScheduleStorage"] |
4 changes: 2 additions & 2 deletions
4
python_modules/libraries/dagster-pagerduty/dagster_pagerduty/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
from dagster._core.utils import check_dagster_package_version | ||
from dagster._core.libraries import DagsterLibraryRegistry | ||
|
||
from .hooks import pagerduty_on_failure as pagerduty_on_failure | ||
from .resources import pagerduty_resource as pagerduty_resource | ||
from .version import __version__ as __version__ | ||
|
||
check_dagster_package_version("dagster-pagerduty", __version__) | ||
DagsterLibraryRegistry.register("dagster-pagerduty", __version__) |
Oops, something went wrong.