diff --git a/justfile b/justfile
index d240c6a92be0249547b7f7d2e7e32352475d5979..953a8031f47e5d39f58448f548a90156efb018f9 100644
--- a/justfile
+++ b/justfile
@@ -13,7 +13,7 @@ sync:
 build:
     uv build
 
-publish
+publish:
     uv publish
 
 requirements:
diff --git a/mitm_tooling/transformation/superset/asset_bundles/identifier.py b/mitm_tooling/transformation/superset/asset_bundles/identifier.py
index 4fcb5ed37f8f2fbae63b3900a2f084be20d9ffae..8fa65b61e606c8823e3a288061fa2a8a373fe9d2 100644
--- a/mitm_tooling/transformation/superset/asset_bundles/identifier.py
+++ b/mitm_tooling/transformation/superset/asset_bundles/identifier.py
@@ -1,9 +1,10 @@
+from typing import Self
 from uuid import UUID
 
 import pydantic
 
 from mitm_tooling.transformation.superset.definitions import DatasetIdentifierMap, \
-    DatabaseIdentifier, MitMDatasetIdentifier, BaseSupersetDefinition, DashboardIdentifier
+    DatabaseIdentifier, MitMDatasetIdentifier, BaseSupersetDefinition, DashboardIdentifier, SupersetMitMDatasetDef
 
 VizDashboardIdentifierMap = dict[str, DashboardIdentifier]
 VizCollectionIdentifierMap = dict[str, VizDashboardIdentifierMap]
@@ -18,6 +19,11 @@ class DatasourceIdentifierBundle(BaseSupersetDefinition):
         if self.database is not None:
             return self.database.uuid
 
+    @classmethod
+    def from_mitm_dataset(cls, mitm_dataset: SupersetMitMDatasetDef) -> Self:
+        return cls(database=DatabaseIdentifier(uuid=mitm_dataset.database_uuid),
+                   ds_id_map={t.table_name: t for t in (mitm_dataset.tables or [])})
+
 
 class MitMDatasetIdentifierBundle(DatasourceIdentifierBundle):
     mitm_dataset: MitMDatasetIdentifier | None = None
@@ -27,3 +33,12 @@ class MitMDatasetIdentifierBundle(DatasourceIdentifierBundle):
     def mitm_dataset_uuid(self) -> UUID | None:
         if self.mitm_dataset is not None:
             return self.mitm_dataset.uuid
+
+    @classmethod
+    def from_mitm_dataset(cls, mitm_dataset: SupersetMitMDatasetDef) -> Self:
+        return cls(mitm_dataset=mitm_dataset.identifier,
+                   database=DatabaseIdentifier(uuid=mitm_dataset.database_uuid),
+                   ds_id_map={t.table_name: t for t in (mitm_dataset.tables or [])},
+                   viz_id_map={
+                       'default': {dash.dashboard_title: dash for dash in
+                                   (mitm_dataset.dashboards or [])}})
diff --git a/mitm_tooling/transformation/superset/definitions/mitm_dataset.py b/mitm_tooling/transformation/superset/definitions/mitm_dataset.py
index 8df850e8ed813be58e784a7bd2e6dd486cb5396c..f0fd70d9694b5a4f2d034850009e40f3091fa7cf 100644
--- a/mitm_tooling/transformation/superset/definitions/mitm_dataset.py
+++ b/mitm_tooling/transformation/superset/definitions/mitm_dataset.py
@@ -1,6 +1,6 @@
 from mitm_tooling.definition import MITM
 from mitm_tooling.representation import Header
-from mitm_tooling.transformation.superset.definitions import SupersetDefFile, StrUUID, DatasetIdentifier, \
+from ..definitions import SupersetDefFile, StrUUID, DatasetIdentifier, \
     DashboardIdentifier, ChartIdentifier, \
     MitMDatasetIdentifier, SupersetObjectMixin
 
diff --git a/pyproject.toml b/pyproject.toml
index 006bad0f6e607f144be40d3a648f55750154d1d3..ff734aa2a58b0b94bf5c0c8bb0889ad1a5428f4e 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
 [project]
 name = "mitm-tooling"
-version = "0.5.0"
+version = "0.5.1"
 description = ""
 authors = [{ name = "Leah Tacke genannt Unterberg", email = "l.tgu@pads.rwth-aachen.de" }]
 requires-python = ">=3.11,<3.14"
@@ -30,16 +30,6 @@ dev = [
 
 [tool.uv]
 
-[[tool.uv.index]]
-name = "testpypi"
-url = "https://test.pypi.org/"
-explicit = true
-
-[[tool.uv.index]]
-name = "PyPI"
-url = "https://pypi.org/simple/"
-default = true
-
 [tool.hatch.build.targets.sdist]
 include = ["mitm_tooling"]