Skip to content

Releases: fsspec/universal_pathlib

v0.3.8

11 Jan 22:11
89d2e6d

Choose a tag to compare

What's Changed

  • build(deps-dev): bump the pip-dependencies group with 2 updates by @dependabot[bot] in #501
  • DOC: describe UPath/s3fs behavior with is_dir() by @lagamura in #503
  • Do not hardcode Python executable name by @avalentino in #504
  • tests: remove two unused helper functions introduced in #492 by @ap-- in #505
  • Fix iterdir behaviour when raising NotADirectory for all UPath subclasses by @ap-- in #506
  • Fix error behavior for the hardlink_to backport and symlink_to for upath.extensions by @ap-- in #508
  • Fix GitHub tests without a network connection by @QuLogic in #509
  • tests: split base test cases into joinable/readable/writable tests by @ap-- in #507
  • upath.extensions: fix is_relative_to for extensions by @ap-- in #510
  • Add missing pathlib abc tests by @ap-- in #511
  • Split test suite according to abcs by @ap-- in #513
  • Fix upath core touch by @ap-- in #515
  • Handover fs instance in UPath.with_segments() if possible by @ap-- in #516
  • Fix DataPath error handling for unsupported methods by @ap-- in #517
  • Fix HTTPPath error handling for unsupported methods by @ap-- in #518
  • upath.implementations.tar: fix error handling for write methods by @ap-- in #519
  • upath.implementations.zip: disable write mode in universal-pathlib by @ap-- in #520
  • upath.implementations.cloud: fix error handling on HfPath by @ap-- in #521
  • upath.implementations.github: adjust GitHubPath error reporting by @ap-- in #522
  • Refactor and cleanup test suite by @ap-- in #514
  • tests: xfail on name resolution error in github suite by @ap-- in #523
  • Fix behaviour of UPath.parent and UPath.parents by @ap-- in #529
  • Adjust behavior of UPath.copy and UPath.copy_into with str and Path targets by @ap-- in #530
  • Fix S3Path copy to Local: name collision of file / dir by @ap-- in #533
  • cut release 0.3.8 by @ap-- in #534

New Contributors

Full Changelog: v0.3.7...v0.3.8

v0.3.7

03 Dec 00:06
63b6f1c

Choose a tag to compare

What's Changed

  • Fix typing example in README by @mmwinther in #484
  • add FTPPath implementation by @ap-- in #485
  • upath: fix maintainer display on pypi by @ap-- in #486
  • Catch and assert warnings in tests by @ap-- in #487
  • Fix trailing slash behavior by @ap-- in #488
  • Tests without network connection by @ap-- in #492
  • Require .cwd() for relative paths in .rename() by @ap-- in #493
  • Fix MemoryPath root by @ap-- in #495
  • upath.core: deprecate keyword arguments for UPath.rename() by @ap-- in #496

New Contributors

Full Changelog: v0.3.6...v0.3.7

v0.3.6

13 Nov 17:04
069de5b

Choose a tag to compare

What's Changed

Added

  • upath: add UnsupportedOperation exception for better pathlib compatibility (#474)
  • upath: backport pathlib 3.10-3.14 method signatures (follow_symlinks, newline, case_sensitive, recurse_symlinks, walk_up, etc.) (#476)
  • docs: add ProxyUPath usage example (#475)
  • tests: add comprehensive pathlib backport signature tests (#474, #476, #477)

Fixed

  • upath.types: correct st_birthtime and st_birthtime_ns availability (Windows 3.12+, macOS, FreeBSD only) (#476, #477)
  • upath: fix stat() return type to use StatResultType protocol (#476)
  • upath: fix equality checks for extensions and local paths (#477)
  • upath.implementations.local: fix _copy_from method (#477)
  • upath.core: remove unneeded lines in _fs_factory (#478)

Changed

  • upath.core: raise TypeError when creating UPath with incompatible protocols (#477)

Full Changelog: v0.3.5...v0.3.6

v0.3.5

09 Nov 03:57
78825b6

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.3.4...v0.3.5

v0.3.4

16 Oct 08:02
b6c3e58

Choose a tag to compare

What's Changed

  • Add full simplecache protocol support by @ap-- in #453
  • support JSON schema generation by @pmeier in #451
  • build(deps): bump pathlib-abc from 0.5.1 to >=0.5.1,<0.6.0 by @dependabot[bot] in #450
  • upath.core: deprecate _protocol_dispatch=False by @ap-- in #454

Full Changelog: v0.3.3...v0.3.4

v0.3.3

08 Oct 20:58
2fe5882

Choose a tag to compare

What's Changed

  • Add upath.implementations.zip.ZipPath by @ap-- in #442
  • Add upath.implementations.tar.TarPath by @ap-- in #443
  • Support chaining for zip and tar paths by @ap-- in #440
  • upath.core: remove chain_parser from overloads for upath class narrowing by @ap-- in #436
  • Cut release 0.3.3 by @ap-- in #447

Full Changelog: v0.3.2...v0.3.3

v0.3.2

05 Oct 14:50
70826a2

Choose a tag to compare

What's Changed

Added

  • upath.types: add storage_options submodule with TypedDict classes for all filesystem implementations (#432)
  • upath.implementations: add storage_options type annotations to all UPath subclass constructors (#432)
  • upath: add type overloads to narrow UPath type based on protocol parameter (#431)
  • upath.registry: add overloads to get_upath_class() to return correct subclass type based on protocol (#429)
  • typesafety: add comprehensive tests for storage_options type checking (#432)
  • typesafety: add tests for protocol-based type narrowing (#429, #431)

Fixed

  • upath: fix chained paths .path property to return correct normalized paths (#426)
  • upath.implementations: correct .path normalization for cloud and http paths (#426)
  • upath._protocol: raise error when explicitly requesting empty protocol but another protocol is found (#430)
  • upath.core: adjust Pydantic v2 schema to support None protocol (#430)
  • tests: add xfail when hitting GitHub rate limit (#429)

Full Changelog: v0.3.1...v0.3.2

v0.3.1

03 Oct 18:22
fa3a086

Choose a tag to compare

What's Changed

  • UPath implement .info by @ap-- in #416
  • Stricter upath types and remove Compat* protocol by @ap-- in #417
  • Fix type annotations for upath.core, upath.extensions and upath.implementations by @ap-- in #420
  • Backport types and methods to local by @ap-- in #421
  • typesafety: add thorough typechecks to UPath interface by @ap-- in #414
  • Upath add move into by @ap-- in #422
  • Upath add from_uri by @ap-- in #423
  • Chore license and ci permissions by @ap-- in #424
  • Cut release 0.3.1 by @ap-- in #425

Full Changelog: v0.3.0...v0.3.1

v0.3.0

29 Sep 22:07
e5050cc

Choose a tag to compare

What's Changed

Fixed

  • upath: support relative paths (#405)
  • upath: implement chain functionality (#346)
  • upath: fix upath suffixes (#407)
  • upath: update flavours (#350, #351, #400, #403, #411)
  • upath: fix GH test skipping (#361)
  • ci: update ubuntu runners (#359)
  • ci: address skip_existing deprecation (#369)
  • tests: split protocol mismatch test (#365)
  • tests: ensure non-local upaths raise with builtin open (#368)
  • tests: add an xfail test for // behaviour on s3 (#370)
  • tests: fix xfail call args (#409)
  • tests: add a os.PathLike test (#410)

Added

  • upath: api extensions via upath.extensions.ProxyUPath (#372)
  • upath: add upath.types in preparation for deriving from pathlib-abc (#364)
  • upath: add optional support for pydantic (#395) thanks @pmeier 🙏 ❤️
  • upath: list late registered protocols (#358)
  • repo: add a security policy (#327)
  • ci: start running against 3.14 (#363)

Changed

  • upath: inherit from pathlib_abc.ReadablePath and pathlib_abc.WritablePath (#366, #402, #404)
  • upath: drop Python 3.8 (#360)
  • upath: remove deprecated accessor support (#362)

New Contributors

Full Changelog: v0.2.6...v0.3.0

v0.2.6

13 Dec 00:54
4efb8da

Choose a tag to compare

What's Changed

  • Fix: ensure typing_extension is dependency for earlier python versions by @mgxd in #290
  • Fix sftp join issue for non-root prefixed paths by @ap-- in #294
  • Fix: Add support for abfss protocol by @jslorrma in #311
  • Added: expanduser no-op by @ollie-bell in #293
  • tests: minor fixes for tests by @ap-- in #312
  • tests: allow configuring smb port via env var by @ap-- in #314
  • tests: reenable py3.13 tests on windows by @ap-- in #295
  • ci: switch to trusted publishing by @ap-- in #320
  • Update flavours by @ap-- in #285, #299, #313, #319

New Contributors

Full Changelog: v0.2.5...v0.2.6