[Git][debian-gis-team/universal-pathlib][upstream] New upstream version 0.3.10

Antonio Valentino (@antonio.valentino) gitlab at salsa.debian.org
Sun Mar 1 11:01:16 GMT 2026



Antonio Valentino pushed to branch upstream at Debian GIS Project / universal-pathlib


Commits:
49c128d5 by Antonio Valentino at 2026-03-01T10:39:39+00:00
New upstream version 0.3.10
- - - - -


7 changed files:

- CHANGELOG.md
- README.md
- dev/requirements.txt
- docs/install.md
- upath/_flavour_sources.py
- upath/extensions.py
- upath/tests/test_extensions.py


Changes:

=====================================
CHANGELOG.md
=====================================
@@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ## [Unreleased]
 
+## [0.3.10] - 2026-02-22
+
+### Fixed
+- upath.extensions: fix ProxyUPath as copy or move target on 3.14+ (#547)
+
+### Changed
+- upath: updated flavours (#545)
+- ci: updated development dependencies (#550)
+
 ## [0.3.9] - 2026-01-31
 
 ### Fixed
@@ -354,7 +363,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 ### Added
 - started a changelog to keep track of significant changes
 
-[Unreleased]: https://github.com/fsspec/universal_pathlib/compare/v0.3.9...HEAD
+[Unreleased]: https://github.com/fsspec/universal_pathlib/compare/v0.3.10...HEAD
+[0.3.10]: https://github.com/fsspec/universal_pathlib/compare/v0.3.9...v0.3.10
 [0.3.9]: https://github.com/fsspec/universal_pathlib/compare/v0.3.8...v0.3.9
 [0.3.8]: https://github.com/fsspec/universal_pathlib/compare/v0.3.7...v0.3.8
 [0.3.7]: https://github.com/fsspec/universal_pathlib/compare/v0.3.6...v0.3.7


=====================================
README.md
=====================================
@@ -50,7 +50,7 @@ project as a dependency if you want to use it with `s3` and `http` filesystems:
 name = "myproject"
 requires-python = ">=3.9"
 dependencies = [
-    "universal_pathlib>=0.3.9",
+    "universal_pathlib>=0.3.10",
     "fsspec[s3,http]",
 ]
 ```


=====================================
dev/requirements.txt
=====================================
@@ -10,8 +10,8 @@ ocifs==1.3.4
 webdav4[fsspec]==0.10.0
 # gfrivefs @ git+https://github.com/fsspec/gdrivefs@master broken ...
 morefs[asynclocalfs]==0.2.2
-dvc==3.65.0
-huggingface_hub==1.2.3
+dvc==3.66.1
+huggingface_hub==1.4.1
 lakefs-spec==0.12.0
 ossfs==2025.5.0
 fsspec-xrootd==0.5.1


=====================================
docs/install.md
=====================================
@@ -57,7 +57,7 @@ When adding `universal-pathlib` to your project, specify the filesystem extras y
 name = "myproject"
 requires-python = ">=3.9"
 dependencies = [
-    "universal_pathlib>=0.3.9",
+    "universal_pathlib>=0.3.10",
     "fsspec[s3,http]",  # Add the filesystems you need
 ]
 ```


=====================================
upath/_flavour_sources.py
=====================================
@@ -341,8 +341,8 @@ class DataFileSystemFlavour(AbstractFileSystemFlavour):
     __orig_version__ = '2025.10.0'
     protocol = ('data',)
     root_marker = ''
-    sep = ""  # type: ignore[assignment]
-    altsep = " "  # type: ignore[assignment]
+    sep = ''  # type: ignore[assignment]
+    altsep = ' '  # type: ignore[assignment]
 
 
 class DatabricksFileSystemFlavour(AbstractFileSystemFlavour):
@@ -630,7 +630,7 @@ class HadoopFileSystemFlavour(AbstractFileSystemFlavour):
 
 class HfFileSystemFlavour(AbstractFileSystemFlavour):
     __orig_class__ = 'huggingface_hub.hf_file_system.HfFileSystem'
-    __orig_version__ = '1.2.3'
+    __orig_version__ = '1.4.1'
     protocol = ('hf',)
     root_marker = ''
     sep = '/'
@@ -1027,7 +1027,7 @@ class ZipFileSystemFlavour(AbstractFileSystemFlavour):
 
 class _DVCFileSystemFlavour(AbstractFileSystemFlavour):
     __orig_class__ = 'dvc.fs.dvc._DVCFileSystem'
-    __orig_version__ = '3.65.0'
+    __orig_version__ = '3.66.1'
     protocol = ('dvc',)
     root_marker = '/'
     sep = '/'


=====================================
upath/extensions.py
=====================================
@@ -24,6 +24,7 @@ from upath.core import UnsupportedOperation
 from upath.core import UPath
 from upath.types import UNSET_DEFAULT
 from upath.types import JoinablePathLike
+from upath.types import OnNameCollisionFunc
 from upath.types import PathInfo
 from upath.types import ReadablePath
 from upath.types import ReadablePathLike
@@ -520,9 +521,13 @@ class ProxyUPath:
         )
 
     def _copy_from(
-        self, source: ReadablePath | Self, follow_symlinks: bool = True
+        self,
+        source: ReadablePath | Self,
+        follow_symlinks: bool = True,
+        on_name_collision: OnNameCollisionFunc | None = None,
+        **kwargs: Any,
     ) -> None:
-        self.__wrapped__._copy_from(source, follow_symlinks=follow_symlinks)  # type: ignore  # noqa: E501
+        self.__wrapped__._copy_from(source, follow_symlinks=follow_symlinks, on_name_collision=on_name_collision, **kwargs)  # type: ignore  # noqa: E501
 
     @property
     def anchor(self) -> str:


=====================================
upath/tests/test_extensions.py
=====================================
@@ -245,3 +245,21 @@ def test_proxy_subclass_incompatible_protocol_uri(uri, protocol):
     # ProxyUPath wraps the underlying path, so it should also raise TypeError
     with pytest.raises(TypeError, match=r".*incompatible with"):
         MyProxyPath(uri, protocol=protocol)
+
+
+def test_proxy_upath_copy_from_local(tmp_path):
+    """Test ProxyUPath accepts extra kwargs in _copy_from()
+
+    Regression test for https://github.com/fsspec/universal_pathlib/issues/546
+    """
+
+    class MyProxyPath(ProxyUPath):
+        pass
+
+    source = UPath(tmp_path / "test.txt")
+    source.write_text("hello")
+
+    destination = MyProxyPath("memory://bla/test_copy_from.txt")
+    source.move(destination)
+
+    assert destination.read_text() == "hello"



View it on GitLab: https://salsa.debian.org/debian-gis-team/universal-pathlib/-/commit/49c128d547bcc7fbf7a386f46abe97a7ffdcc45c

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/universal-pathlib/-/commit/49c128d547bcc7fbf7a386f46abe97a7ffdcc45c
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20260301/d4327ffb/attachment-0001.htm>


More information about the Pkg-grass-devel mailing list