# Python APT C++ API

The C++ API provides functions to create Python objects from C++ objects and to retrieve the C++ object stored in the Python object. An object may have another Python object as its owner and keeps its owner alive for its lifetime. Some objects require an owner of a specific type, while others require none. Refer to the sections below for details.

The C++ API names use the name of the class in apt_pkg and are prefixed with Py. For each supported class, there is a _Type object, a _Check() function, a _CheckExact() function, a _FromCpp() and a _ToCpp() function.

Added in version 0.7.100.

## Acquire (pkgAcquire)

PyTypeObject PyAcquire_Type

  The type object for `apt_pkg.Acquire` objects.

int PyAcquire_Check(PyObject *object)

  Check that the object object is an `apt_pkg.Acquire` object, or a subclass thereof.

int PyAcquire_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.Acquire` object and no subclass thereof.

PyObject *PyAcquire_FromCpp(pkgAcquire *acquire, bool delete, PyObject *owner)

  Create a new `apt_pkg.Acquire` object from the `pkgAcquire` pointer given by the parameter acquire. If the parameter delete is true, the object pointed to by acquire will be deleted when the refcount of the return value reaches 0.

pkgAcquire *PyAcquire_ToCpp(PyObject *acquire)

  Return the `pkgAcquire` pointer contained in the Python object acquire.

## AcquireFile (pkgAcqFile)

PyTypeObject PyAcquireFile_Type

  The type object for `apt_pkg.AcquireFile` objects.

int PyAcquireFile_Check(PyObject *object)

  Check that the object object is an `apt_pkg.AcquireFile` object, or a subclass thereof.

int PyAcquireFile_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.AcquireFile` object and no subclass thereof.

PyObject *PyAcquireFile_FromCpp(pkgAcqFile *file, bool delete, PyObject *owner)

  Create a new `apt_pkg.AcquireFile` object from the `pkgAcqFile` pointer given by the parameter file. If the parameter delete is true, the object pointed to by file will be deleted when the reference count of the returned object reaches 0. The parameter owner should point to a `apt_pkg.Acquire` object.

pkgAcqFile *PyAcquireFile_ToCpp(PyObject *acquire)

  Return the `pkgAcqFile` pointer contained in the Python object acquire.

## AcquireItem (pkgAcquire::Item)

PyTypeObject PyAcquireItem_Type

  The type object for `apt_pkg.AcquireItem` objects.

int PyAcquireItem_Check(PyObject *object)

  Check that the object object is an `apt_pkg.AcquireItem` object, or a subclass thereof.

int PyAcquireItem_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.AcquireItem` object and no subclass thereof.

PyObject *PyAcquireItem_FromCpp(pkgAcquire::Item *item, bool delete, PyObject *owner)

  Create a new `apt_pkg.AcquireItem` object from the `pkgAcquire::Item` pointer given by the parameter item. If the parameter delete is true, the object pointed to by item will be deleted when the reference count of the returned object reaches 0. The parameter owner should point to a `apt_pkg.Acquire` object.

pkgAcquire::Item *PyAcquireItem_ToCpp(PyObject *object)

  Return the `pkgAcquire::Item` pointer contained in the Python object object.

## AcquireItemDesc (pkgAcquire::ItemDesc)

PyTypeObject PyAcquireItemDesc_Type

  The type object for `apt_pkg.AcquireItemDesc` objects.

int PyAcquireItemDesc_Check(PyObject *object)

  Check that the object object is an `apt_pkg.AcquireItemDesc` object, or a subclass thereof.

int PyAcquireItemDesc_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.AcquireItemDesc` object and no subclass thereof.

PyObject *PyAcquireItemDesc_FromCpp(pkgAcquire::ItemDesc *desc, bool delete, PyObject *owner)

  Create a new `apt_pkg.AcquireItemDesc` object from the `pkgAcquire::ItemDesc` pointer given by the parameter desc. If the parameter delete is true, the object pointed to by desc will be deleted when the reference count of the returned object reaches 0. The parameter owner should point to a `apt_pkg.AcquireItem` object.

pkgAcquire::ItemDesc *PyAcquireItemDesc_ToCpp(PyObject *object)

  Return the `pkgAcquire::ItemDesc` pointer contained in the Python object object.

## AcquireWorker (pkgAcquire::Worker)

PyTypeObject PyAcquireWorker_Type

  The type object for `apt_pkg.AcquireWorker` objects.

int PyAcquireWorker_Check(PyObject *object)

  Check that the object object is an `apt_pkg.AcquireWorker` object, or a subclass thereof.

int PyAcquireWorker_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.AcquireWorker` object and no subclass thereof.

PyObject *PyAcquireWorker_FromCpp(pkgAcquire::Worker *worker, bool delete, PyObject *owner)

  Create a new `apt_pkg.AcquireWorker` object from the `pkgAcquire::Worker` pointer given by the parameter worker. If the parameter delete is true, the object pointed to by worker will be deleted when the reference count of the returned object reaches 0. The parameter owner should point to a `apt_pkg.Acquire` object.

pkgAcquire::Worker *PyAcquireWorker_ToCpp(PyObject *object)

  Return the `pkgAcquire::Worker` pointer contained in the Python object object.

## ActionGroup (pkgDepCache::ActionGroup)

PyTypeObject PyActionGroup_Type

  The type object for `apt_pkg.ActionGroup` objects.

int PyActionGroup_Check(PyObject *object)

  Check that the object object is an `apt_pkg.ActionGroup` object, or a subclass thereof.

int PyActionGroup_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.ActionGroup` object and no subclass thereof.

PyObject *PyActionGroup_FromCpp(pkgDepCache::ActionGroup *agroup, bool delete, PyObject *owner)

  Create a new `apt_pkg.ActionGroup` object from the `pkgDepCache::ActionGroup` pointer given by the parameter agroup. If the parameter delete is true, the object pointed to by agroup will be deleted when the reference count of the returned object reaches 0. The parameter owner should point to a `apt_pkg.DepCache` object.

pkgDepCache::ActionGroup *PyActionGroup_ToCpp(PyObject *object)

  Return the `pkgDepCache::ActionGroup` pointer contained in the Python object object.

## Cache (pkgCache)

PyTypeObject PyCache_Type

  The type object for `apt_pkg.Cache` objects.

int PyCache_Check(PyObject *object)

  Check that the object object is an `apt_pkg.Cache` object, or a subclass thereof.

int PyCache_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.Cache` object and no subclass thereof.

PyObject *PyCache_FromCpp(pkgCache *cache, bool delete, PyObject *owner)

  Create a new `apt_pkg.Cache` object from the `pkgCache` pointer given by the parameter cache. If the parameter delete is true, the object pointed to by cache will be deleted when the reference count of the returned object reaches 0. The parameter owner shall point to a object of the type `PyCacheFile_Type`.

pkgCache *PyCache_ToCpp(PyObject *object)

  Return the `pkgCache` pointer contained in the Python object object.

## CacheFile (pkgCacheFile)

PyTypeObject PyCacheFile_Type

  The type object for CacheFile. This type is internal and not exported to Python anywhere.

int PyCacheFile_Check(PyObject *object)

  Check that the object object is of the type `PyCacheFile_Type` or a subclass thereof.

int PyCacheFile_CheckExact(PyObject *object)

  Check that the object object is of the type `PyCacheFile_Type` and no subclass thereof.

PyObject *PyCacheFile_FromCpp(pkgCacheFile *file, bool delete, PyObject *owner)

  Create a new `apt_pkg.CacheFile` object from the `pkgCacheFile` pointer given by the parameter file If the parameter delete is true, the object pointed to by file will be deleted when the reference count of the returned object reaches 0.

pkgCacheFile *PyCacheFile_ToCpp(PyObject *object)

  Return the `pkgCacheFile` pointer contained in the Python object object.

## Cdrom (pkgCdrom)

PyTypeObject PyCdrom_Type

  The type object for `apt_pkg.Cdrom` objects.

int PyCdrom_Check(PyObject *object)

  Check that the object object is an `apt_pkg.Cdrom` object, or a subclass thereof.

int PyCdrom_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.Cdrom` object and no subclass thereof.

PyObject *PyCdrom_FromCpp(pkgCdrom &cdrom, bool delete, PyObject *owner)

  Create a new `apt_pkg.Cdrom` object from the `pkgCdrom` reference given by the parameter cdrom. If the parameter delete is true, cdrom will be deleted when the reference count of the returned object reaches 0.

pkgCdrom &PyCdrom_ToCpp(PyObject *object)

  Return the `pkgCdrom` reference contained in the Python object object.

## Configuration (Configuration)

PyTypeObject PyConfiguration_Type

  The type object for `apt_pkg.Configuration` objects.

int PyConfiguration_Check(PyObject *object)

  Check that the object object is an `apt_pkg.Configuration` object, or a subclass thereof.

int PyConfiguration_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.Configuration` object and no subclass thereof.

PyObject *PyConfiguration_FromCpp(Configuration *cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.Configuration` object from the `Configuration` pointer given by the parameter cpp. If the parameter delete is true, the object pointed to by cpp will be deleted when the reference count of the returned object reaches 0. The parameter owner may refer to a parent object (e.g. when exposing a sub tree of a configuration object).

Configuration *PyConfiguration_ToCpp(PyObject *object)

  Return the `Configuration` pointer contained in the Python object object.

## DepCache (pkgDepCache)

PyTypeObject PyDepCache_Type

  The type object for `apt_pkg.DepCache` objects.

int PyDepCache_Check(PyObject *object)

  Check that the object object is an `apt_pkg.DepCache` object, or a subclass thereof.

int PyDepCache_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.DepCache` object and no subclass thereof.

PyObject *PyDepCache_FromCpp(pkgDepCache *cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.DepCache` object from the `pkgDepCache` pointer given by the parameter cpp. If the parameter delete is true, the object pointed to by cpp will be deleted when the reference count of the returned object reaches 0. The parameter owner must be a PyObject of the type `PyCache_Type`.

pkgDepCache *PyDepCache_ToCpp(PyObject *object)

  Return the `pkgDepCache` pointer contained in the Python object object.

## Dependency (pkgCache::DepIterator)

PyTypeObject PyDependency_Type

  The type object for `apt_pkg.Dependency` objects.

int PyDependency_Check(PyObject *object)

  Check that the object object is an `apt_pkg.Dependency` object, or a subclass thereof.

int PyDependency_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.Dependency` object and no subclass thereof.

PyObject *PyDependency_FromCpp(pkgCache::DepIterator &cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.Dependency` object from the `pkgCache::DepIterator` reference given by the parameter cpp. If the parameter delete is true, cpp will be deleted when the reference count of the returned object reaches 0. The parameter owner must be a PyObject of the type `PyPackage_Type`.

pkgCache::DepIterator &PyDependency_ToCpp(PyObject *object)

  Return the `pkgCache::DepIterator` reference contained in the Python object object.

## Description (pkgCache::DescIterator)

PyTypeObject PyDescription_Type

  The type object for `apt_pkg.Description` objects.

int PyDescription_Check(PyObject *object)

  Check that the object object is an `apt_pkg.Description` object, or a subclass thereof.

int PyDescription_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.Description` object and no subclass thereof.

PyObject *PyDescription_FromCpp(pkgCache::DescIterator &cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.Description` object from the `pkgCache::DescIterator` reference given by the parameter cpp. If the parameter delete is true, cpp will be deleted when the reference count of the returned object reaches 0. The parameter owner must be a PyObject of the type `PyPackage_Type`.

pkgCache::DescIterator &PyDescription_ToCpp(PyObject *object)

  Return the `pkgCache::DescIterator` reference contained in the Python object object.

## Group (pkgCache::GrpIterator)

Added in version 0.8.0.

PyTypeObject PyGroup_Type

  The type object for `apt_pkg.Group` objects.

int PyGroup_Check(PyObject *object)

  Check that the object object is an `apt_pkg.Group` object, or a subclass thereof.

int PyGroup_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.Group` object and no subclass thereof.

PyObject *PyGroup_FromCpp(pkgCache::GrpIterator &cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.Group` object from the `pkgCache::GrpIterator` reference given by the parameter cpp. If the parameter delete is true, cpp will be deleted when the reference count of the returned object reaches 0. The parameter owner should be a PyObject of the type `PyCache_Type`.

pkgCache::GrpIterator &PyGroup_ToCpp(PyObject *object)

  Return the `pkgCache::GrpIterator` reference contained in the Python object object.

## Hashes (Hashes)

PyTypeObject PyHashes_Type

  The type object for `apt_pkg.Hashes` objects.

int PyHashes_Check(PyObject *object)

  Check that the object object is an `apt_pkg.Hashes` object, or a subclass thereof.

int PyHashes_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.Hashes` object and no subclass thereof.

PyObject *PyHashes_FromCpp(Hashes &cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.Hashes` object from the `Hashes` reference given by the parameter cpp. If the parameter delete is true, cpp will be deleted when the reference count of the returned object reaches 0.

Hashes &PyHashes_ToCpp(PyObject *object)

  Return the `Hashes` reference contained in the Python object object.

## HashString (HashString)

PyTypeObject PyHashString_Type

  The type object for `apt_pkg.HashString` objects.

int PyHashString_Check(PyObject *object)

  Check that the object object is an `apt_pkg.HashString` object, or a subclass thereof.

int PyHashString_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.HashString` object and no subclass thereof.

PyObject *PyHashString_FromCpp(HashString *cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.HashString` object from the `HashString` pointer given by the parameter cpp. If the parameter delete is true, the object pointed to by cpp will be deleted when the reference count of the returned object reaches 0.

HashString *PyHashString_ToCpp(PyObject *object)

  Return the `HashString` pointer contained in the Python object object.

## IndexRecords (indexRecords)

PyTypeObject PyIndexRecords_Type

  The type object for `apt_pkg.IndexRecords` objects.

int PyIndexRecords_Check(PyObject *object)

  Check that the object object is an `apt_pkg.IndexRecords` object, or a subclass thereof.

int PyIndexRecords_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.IndexRecords` object and no subclass thereof.

PyObject *PyIndexRecords_FromCpp(indexRecords *cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.IndexRecords` object from the `indexRecords` pointer given by the parameter cpp. If the parameter delete is true, the object pointed to by cpp will be deleted when the reference count of the returned object reaches 0.

indexRecords *PyIndexRecords_ToCpp(PyObject *object)

  Return the `indexRecords` pointer contained in the Python object object.

## MetaIndex (metaIndex)

PyTypeObject PyMetaIndex_Type

  The type object for `apt_pkg.MetaIndex` objects.

int PyMetaIndex_Check(PyObject *object)

  Check that the object object is an `apt_pkg.MetaIndex` object, or a subclass thereof.

int PyMetaIndex_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.MetaIndex` object and no subclass thereof.

PyObject *PyMetaIndex_FromCpp(metaIndex *cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.MetaIndex` object from the `metaIndex` pointer given by the parameter cpp. If the parameter delete is true, the object pointed to by cpp will be deleted when the reference count of the returned object reaches 0. The parameter owner should be a PyObject of the type `PySourceList_Type`.

metaIndex *PyMetaIndex_ToCpp(PyObject *object)

  Return the `metaIndex` pointer contained in the Python object object.

## Package (pkgCache::PkgIterator)

PyTypeObject PyPackage_Type

  The type object for `apt_pkg.Package` objects.

int PyPackage_Check(PyObject *object)

  Check that the object object is an `apt_pkg.Package` object, or a subclass thereof.

int PyPackage_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.Package` object and no subclass thereof.

PyObject *PyPackage_FromCpp(pkgCache::PkgIterator &cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.Package` object from the `pkgCache::PkgIterator` reference given by the parameter cpp. If the parameter delete is true, cpp will be deleted when the reference count of the returned object reaches 0. The parameter owner should be a PyObject of the type `PyCache_Type`.

pkgCache::PkgIterator &PyPackage_ToCpp(PyObject *object)

  Return the `pkgCache::PkgIterator` reference contained in the Python object object.

## PackageFile (pkgCache::PkgFileIterator)

PyTypeObject PyPackageFile_Type

  The type object for `apt_pkg.PackageFile` objects.

int PyPackageFile_Check(PyObject *object)

  Check that the object object is an `apt_pkg.PackageFile` object, or a subclass thereof.

int PyPackageFile_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.PackageFile` object and no subclass thereof.

PyObject *PyPackageFile_FromCpp(pkgCache::PkgFileIterator &cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.PackageFile` object from the `pkgCache::PkgFileIterator` reference given by the parameter cpp. If the parameter delete is true, cpp will be deleted when the reference count of the returned object reaches 0. The parameter owner should be a PyObject of the type `PyCache_Type`.

pkgCache::PkgFileIterator &PyPackageFile_ToCpp(PyObject *object)

  Return the `pkgCache::PkgFileIterator` reference contained in the Python object object.

## IndexFile (pkgIndexFile)

PyTypeObject PyIndexFile_Type

  The type object for `apt_pkg.IndexFile` objects.

int PyIndexFile_Check(PyObject *object)

  Check that the object object is an `apt_pkg.IndexFile` object, or a subclass thereof.

int PyIndexFile_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.IndexFile` object and no subclass thereof.

PyObject *PyIndexFile_FromCpp(pkgIndexFile *cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.IndexFile` object from the `pkgIndexFile` pointer given by the parameter cpp. If the parameter delete is true, the object pointed to by cpp will be deleted when the reference count of the returned object reaches 0. The parameter owner should be a PyObject of the type `PyMetaIndex_Type`.

pkgIndexFile *PyIndexFile_ToCpp(PyObject *object)

  Return the `pkgIndexFile` pointer contained in the Python object object.

## OrderList (pkgOrderList)

PyTypeObject PyOrderList_Type

  The type object for `apt_pkg.OrderList` objects.

int PyOrderList_Check(PyObject *object)

  Check that the object object is an `apt_pkg.OrderList` object, or a subclass thereof.

int PyOrderList_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.OrderList` object and no subclass thereof.

PyObject *PyOrderList_FromCpp(pkgOrderList *cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.OrderList` object from the `pkgOrderList` pointer given by the parameter cpp. If the parameter delete is true, the object pointed to by cpp will be deleted when the reference count of the returned object reaches 0. The owner must be a `apt_pkg.DepCache` object.

pkgOrderList *PyOrderList_ToCpp(PyObject *object)

  Return the `pkgOrderList` pointer contained in the Python object object.

## PackageManager (pkgPackageManager)

PyTypeObject PyPackageManager_Type

  The type object for `apt_pkg.PackageManager` objects.

int PyPackageManager_Check(PyObject *object)

  Check that the object object is an `apt_pkg.PackageManager` object, or a subclass thereof.

int PyPackageManager_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.PackageManager` object and no subclass thereof.

PyObject *PyPackageManager_FromCpp(pkgPackageManager *cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.PackageManager` object from the `pkgPackageManager` pointer given by the parameter cpp. If the parameter delete is true, the object pointed to by cpp will be deleted when the reference count of the returned object reaches 0.

pkgPackageManager *PyPackageManager_ToCpp(PyObject *object)

  Return the `pkgPackageManager` pointer contained in the Python object object.

## Policy (pkgPolicy)

PyTypeObject PyPolicy_Type

  The type object for `apt_pkg.Policy` objects.

int PyPolicy_Check(PyObject *object)

  Check that the object object is an `apt_pkg.Policy` object, or a subclass thereof.

int PyPolicy_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.Policy` object and no subclass thereof.

PyObject *PyPolicy_FromCpp(pkgPolicy *cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.Policy` object from the `pkgPolicy` pointer given by the parameter cpp. If the parameter delete is true, the object pointed to by cpp will be deleted when the reference count of the returned object reaches 0. The parameter owner must be a PyObject of the type `PyCache_Type`.

pkgPolicy *PyPolicy_ToCpp(PyObject *object)

  Return the `pkgPolicy` pointer contained in the Python object object.

## ProblemResolver (pkgProblemResolver)

PyTypeObject PyProblemResolver_Type

  The type object for `apt_pkg.ProblemResolver` objects.

int PyProblemResolver_Check(PyObject *object)

  Check that the object object is an `apt_pkg.ProblemResolver` object, or a subclass thereof.

int PyProblemResolver_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.ProblemResolver` object and no subclass thereof.

PyObject *PyProblemResolver_FromCpp(pkgProblemResolver *cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.ProblemResolver` object from the `pkgProblemResolver` pointer given by the parameter cpp. If the parameter delete is true, the object pointed to by cpp will be deleted when the reference count of the returned object reaches 0. The parameter owner must be a PyObject of the type `PyDepCache_Type`.

pkgProblemResolver *PyProblemResolver_ToCpp(PyObject *object)

  Return the `pkgProblemResolver` pointer contained in the Python object object.

## SourceList (pkgSourceList)

PyTypeObject PySourceList_Type

  The type object for `apt_pkg.SourceList` objects.

int PySourceList_Check(PyObject *object)

  Check that the object object is an `apt_pkg.SourceList` object, or a subclass thereof.

int PySourceList_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.SourceList` object and no subclass thereof.

PyObject *PySourceList_FromCpp(pkgSourceList *cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.SourceList` object from the `pkgSourceList` pointer given by the parameter cpp. If the parameter delete is true, the object pointed to by cpp will be deleted when the reference count of the returned object reaches 0.

pkgSourceList *PySourceList_ToCpp(PyObject *object)

  Return the `pkgSourceList` pointer contained in the Python object object.

## TagFile (pkgTagFile)

PyTypeObject PyTagFile_Type

  The type object for `apt_pkg.TagFile` objects.

int PyTagFile_Check(PyObject *object)

  Check that the object object is an `apt_pkg.TagFile` object, or a subclass thereof.

int PyTagFile_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.TagFile` object and no subclass thereof.

PyObject *PyTagFile_FromCpp(pkgTagFile &cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.TagFile` object from the `pkgTagFile` reference given by the parameter cpp. If the parameter delete is true, cpp will be deleted when the reference count of the returned object reaches 0. The parameter owner may be any Python object.

pkgTagFile &PyTagFile_ToCpp(PyObject *object)

  Return the `pkgTagFile` reference contained in the Python object object.

## TagSection (pkgTagSection)

PyTypeObject PyTagSection_Type

  The type object for `apt_pkg.TagSection` objects.

int PyTagSection_Check(PyObject *object)

  Check that the object object is an `apt_pkg.TagSection` object, or a subclass thereof.

int PyTagSection_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.TagSection` object and no subclass thereof.

PyObject *PyTagSection_FromCpp(pkgTagSection &cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.TagSection` object from the `pkgTagSection` reference given by the parameter cpp. If the parameter delete is true, cpp will be deleted when the reference count of the returned object reaches 0. The parameter owner may be a PyObject of the type `PyTagFile_Type`.

pkgTagSection &PyTagSection_ToCpp(PyObject *object)

  Return the `pkgTagSection` reference contained in the Python object object.

## Version (pkgCache::VerIterator)

PyTypeObject PyVersion_Type

  The type object for `apt_pkg.Version` objects.

int PyVersion_Check(PyObject *object)

  Check that the object object is an `apt_pkg.Version` object, or a subclass thereof.

int PyVersion_CheckExact(PyObject *object)

  Check that the object object is an `apt_pkg.Version` object and no subclass thereof.

PyObject *PyVersion_FromCpp(pkgCache::VerIterator &cpp, bool delete, PyObject *owner)

  Create a new `apt_pkg.Version` object from the `pkgCache::VerIterator` reference given by the parameter cpp. If the parameter delete is true, cpp will be deleted when the reference count of the returned object reaches 0. The parameter owner must be a PyObject of the type `PyPackage_Type`.

pkgCache::VerIterator &PyVersion_ToCpp(PyObject *object)

  Return the `pkgCache::VerIterator` reference contained in the Python object object.