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 added
  • apt_pkg.TagFile is now a context manager
  • The high-level cache class, apt.cache.Cache and it’s companion apt.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 and apt.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 property apt.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:

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 and apt.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 GiB
  • Various smaller bug fixes