diff --git a/java/pom.xml b/java/pom.xml
index 6810e4396..32284a233 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -6,5 +6,5 @@
 
     <groupId>com.logicalclocks</groupId>
     <artifactId>hopsworks</artifactId>
-    <version>3.4.2</version>
+    <version>3.4.3</version>
 </project>
diff --git a/python/hopsworks/core/dataset_api.py b/python/hopsworks/core/dataset_api.py
index abd20a256..a8f182fc7 100644
--- a/python/hopsworks/core/dataset_api.py
+++ b/python/hopsworks/core/dataset_api.py
@@ -304,3 +304,82 @@ def mkdir(self, path: str):
         return _client._send_request(
             "POST", path_params, headers=headers, query_params=query_params
         )["attributes"]["path"]
+
+    def copy(self, source_path: str, destination_path: str, overwrite: bool = False):
+        """Copy a file or directory in the Hopsworks Filesystem.
+
+        ```python
+
+        import hopsworks
+
+        project = hopsworks.login()
+
+        dataset_api = project.get_dataset_api()
+
+        directory_path = dataset_api.copy("Resources/myfile.txt", "Logs/myfile.txt")
+
+        ```
+        # Arguments
+            source_path: the source path to copy
+            destination_path: the destination path
+            overwrite: overwrite destination if exists
+        # Raises
+            `RestAPIError`: If unable to perform the copy
+        """
+        if self.exists(destination_path):
+            if overwrite:
+                self.remove(destination_path)
+            else:
+                raise DatasetException(
+                    "{} already exists, set overwrite=True to overwrite it".format(
+                        destination_path
+                    )
+                )
+
+        _client = client.get_instance()
+        path_params = ["project", self._project_id, "dataset", source_path]
+        query_params = {
+            "action": "copy",
+            "destination_path": destination_path,
+        }
+        _client._send_request("POST", path_params, query_params=query_params)
+
+    def move(self, source_path: str, destination_path: str, overwrite: bool = False):
+        """Move a file or directory in the Hopsworks Filesystem.
+
+        ```python
+
+        import hopsworks
+
+        project = hopsworks.login()
+
+        dataset_api = project.get_dataset_api()
+
+        directory_path = dataset_api.move("Resources/myfile.txt", "Logs/myfile.txt")
+
+        ```
+        # Arguments
+            source_path: the source path to move
+            destination_path: the destination path
+            overwrite: overwrite destination if exists
+        # Raises
+            `RestAPIError`: If unable to perform the move
+        """
+
+        if self.exists(destination_path):
+            if overwrite:
+                self.remove(destination_path)
+            else:
+                raise DatasetException(
+                    "{} already exists, set overwrite=True to overwrite it".format(
+                        destination_path
+                    )
+                )
+
+        _client = client.get_instance()
+        path_params = ["project", self._project_id, "dataset", source_path]
+        query_params = {
+            "action": "move",
+            "destination_path": destination_path,
+        }
+        _client._send_request("POST", path_params, query_params=query_params)
diff --git a/python/hopsworks/version.py b/python/hopsworks/version.py
index c25496876..137fae93f 100644
--- a/python/hopsworks/version.py
+++ b/python/hopsworks/version.py
@@ -14,4 +14,4 @@
 #   limitations under the License.
 #
 
-__version__ = "3.4.2"
+__version__ = "3.4.3"