What’s New In python-apt 1.0¶
Python-Apt 1.0 fixes several issues and use of deprecated methods. Most importantly, it introduces large file support
New features¶
apt_pkg.AcquireFile
can now take a hash string that is not an md5 value, using the new hash argument.A new a
apt_pkg.TagFile.close()
method was addedapt_pkg.TagFile
is now a context managerThe high-level cache class,
apt.cache.Cache
and it’s companionapt.cache.FilteredCache
now support package names with special architecture qualifiers such as :all and :native.The method
apt.cache.Cache.connect2()
allows connecting callbacks on cache changes that take the cache as their first argument, reducing the potential for reference cycles.The property
apt.package.Version.is_installed
was added.The properties
apt.package.BaseDependency.installed_target_versions
andapt.package.Dependency.installed_target_versions
were added.The property
apt.Dependency.rawtype
was added to give the raw type of a dependency, such as ‘Depends’.The attribute
apt_pkg.Dependency.comp_type_deb
and the propertyapt.Dependency.relation_deb
were added, they return a Debian-style comparison operator instead of a mathematical-style one.A new filter for filtered caches is provided,
apt.cache.InstalledFilter
.
Backward-incompatible changes¶
apt.Version
now compares package names in addition to version only when checking for equality. This was broken previously.
Deprecated¶
The following features are deprecated, starting with this release:
The section member of
apt_pkg.Package
The files member of of
apt_pkg.SourceRecords
The md5 argument to
apt_pkg.AcquireFile
, it is replaced by the hash argument.The method
apt.cache.Cache.connect()
has been deprecated. It is replaced byapt.cache.Cache.connect2()
which is more flexible and less prone to reference cycles.The attribute
apt_pkg.AcquireItem.mode
has been replaced byapt_pkg.AcquireItem.active_subprocess
The class
apt_pkg.IndexRecords
has been deprecated and will be removed in the next release.
Removed¶
The module
apt.progress.gtk2
has been removed. There were no users in the Debian archive, its last update was in 2013, and it was buggy already. Apart from that, it suggested that it is OK to run a graphical application as root, and used the unmaintained GTK+ 2 version.Therefore, there is no replacement, please use PackageKit or aptdaemon for installation in graphical environments.
The attribute
apt_pkg.Package.auto
was not set anymore, and thus removed.
Maintenance¶
The classes
apt.cache.Cache
andapt.cache.FilteredCache
no longer store cyclic references to/between them. This fixes a huge issue, because a cache can have tens of open file descriptors, causing the maximum of file descriptors to be reached easily.apt_inst
now supports ar and tar archives that are larger than 4 GiBVarious smaller bug fixes