git: 8e6e2e32c8c9 - main - filesystems/py-universal-pathlib: New port: Pathlib API extended to use fsspec backends
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 05 Oct 2026 06:12:29 UTC
The branch main has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=8e6e2e32c8c95e6275fe4256070d34c6a4e2c4db
commit 8e6e2e32c8c95e6275fe4256070d34c6a4e2c4db
Author: Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-10-05 06:03:58 +0000
Commit: Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-10-05 06:12:23 +0000
filesystems/py-universal-pathlib: New port: Pathlib API extended to use fsspec backends
PR: 299046
Approved by: Baptiste Daroussin <bapt@FreeBSD.org> (on behalf of portmgr@)
---
filesystems/Makefile | 1 +
filesystems/py-universal-pathlib/Makefile | 26 ++++++++++++++++++++++
filesystems/py-universal-pathlib/distinfo | 3 +++
.../files/patch-pyproject.toml | 17 ++++++++++++++
filesystems/py-universal-pathlib/pkg-descr | 3 +++
5 files changed, 50 insertions(+)
diff --git a/filesystems/Makefile b/filesystems/Makefile
index 1ca38dbdb20e..710061fcbf25 100644
--- a/filesystems/Makefile
+++ b/filesystems/Makefile
@@ -102,6 +102,7 @@
SUBDIR += py-pyfakefs
SUBDIR += py-s3fs
SUBDIR += py-tahoe-lafs
+ SUBDIR += py-universal-pathlib
SUBDIR += py-zfs-autobackup
SUBDIR += rar2fs
SUBDIR += rubygem-chef-winrm-fs
diff --git a/filesystems/py-universal-pathlib/Makefile b/filesystems/py-universal-pathlib/Makefile
new file mode 100644
index 000000000000..76de6a8b5af4
--- /dev/null
+++ b/filesystems/py-universal-pathlib/Makefile
@@ -0,0 +1,26 @@
+PORTNAME= universal-pathlib
+PORTVERSION= 0.3.10
+CATEGORIES= filesystems python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= ${PORTNAME:S/-/_/}-${PORTVERSION}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Pathlib API extended to use fsspec backends
+WWW= https://github.com/fsspec/universal_pathlib
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=63.1.0:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=8:devel/py-setuptools-scm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}fsspec>=2024.5.0:filesystems/py-fsspec@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pathlib-abc>=0.5.1,<0.6.0:devel/py-pathlib-abc@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist concurrent pep517
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/filesystems/py-universal-pathlib/distinfo b/filesystems/py-universal-pathlib/distinfo
new file mode 100644
index 000000000000..fcb26c22577d
--- /dev/null
+++ b/filesystems/py-universal-pathlib/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1790828085
+SHA256 (universal_pathlib-0.3.10.tar.gz) = 4487cbc90730a48cfb64f811d99e14b6faed6d738420cd5f93f59f48e6930bfb
+SIZE (universal_pathlib-0.3.10.tar.gz) = 261110
diff --git a/filesystems/py-universal-pathlib/files/patch-pyproject.toml b/filesystems/py-universal-pathlib/files/patch-pyproject.toml
new file mode 100644
index 000000000000..ac9248af5938
--- /dev/null
+++ b/filesystems/py-universal-pathlib/files/patch-pyproject.toml
@@ -0,0 +1,17 @@
+-- Downgrade the minimum setuptools version to match the one available in the
+-- FreeBSD ports tree and convert the license field to the PEP 621 table form.
+--- pyproject.toml.orig 2026-10-02 06:29:38 UTC
++++ pyproject.toml
+@@ -1,10 +1,10 @@
+ [build-system]
+-requires = ["setuptools>=64", "setuptools_scm>=8"]
++requires = ["setuptools>=63.1.0", "setuptools_scm>=8"]
+ build-backend = "setuptools.build_meta"
+
+ [project]
+ name = "universal_pathlib"
+-license = "MIT"
++license = {text = "MIT"}
+ authors = [
+ {name = "Andrew Fulton", email = "andrewfulton9@gmail.com"},
+ ]
diff --git a/filesystems/py-universal-pathlib/pkg-descr b/filesystems/py-universal-pathlib/pkg-descr
new file mode 100644
index 000000000000..e4070dd50255
--- /dev/null
+++ b/filesystems/py-universal-pathlib/pkg-descr
@@ -0,0 +1,3 @@
+universal-pathlib extends the standard pathlib API to work with fsspec
+filesystem backends, allowing pathlib-style operations on cloud and remote
+storage paths.