Bug#1108035: python3-apt: Accept os.PathLike
Package: python3-apt
Version: 3.0.0
Severity: wishlist
Nowadays most Python libraries tend to accept objects implementing the
os.PathLike abstract base class where they accept file names. The
apt_pkg functions that go through PyApt_Filename don't seem to. Here's
a contrived example:
>>> from pathlib import Path
>>> import apt_pkg
>>> release_path = Path("/var/lib/apt/lists/deb.debian.org_debian_dists_trixie_InRelease")
>>> apt_pkg.open_maybe_clear_signed_file(release_path)
Traceback (most recent call last):
File "<python-input-4>", line 1, in <module>
apt_pkg.open_maybe_clear_signed_file(release_path)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
SystemError: argument 1 (unspecified)
>>> apt_pkg.open_maybe_clear_signed_file(release_path.as_posix())
6
It would be nice if this worked.
Thanks,
--
Colin Watson (he/him) [cjwatson@debian.org]
-- System Information:
Debian Release: 13.0
APT prefers testing-security
APT policy: (500, 'testing-security'), (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 6.12.27-amd64 (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_WARN, TAINT_OOT_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages python3-apt depends on:
ii distro-info-data 0.64
ii libapt-pkg7.0 3.0.2
ii libc6 2.41-8
ii libgcc-s1 14.2.0-19
ii libstdc++6 14.2.0-19
ii python-apt-common 3.0.0
ii python3 3.13.3-1
Versions of packages python3-apt recommends:
ii iso-codes 4.18.0-1
ii lsb-release 12.1-1
Versions of packages python3-apt suggests:
ii apt 3.0.2
pn python-apt-doc <none>
-- no debconf information
Reply to: