Skip to main content

Extensions for colcon to inspect packages which have already been installed.

Project description

Extensions for colcon-core to inspect packages which have already been installed.

Overview

These colcon extensions provide a mechanism which can be used for getting information about packages outside of the workspace, which have already been built and installed prior to the current operation. In general, it works similarly to and is based on the PackageDiscoveryExtensionPoint and PackageAugmentationExtensionPoint extensions provided by colcon-core.

Differences

Installed packages don’t generally have a single directory which stores the package content and metadata. This set of extensions store the “prefix” under which the package resides rather than the package directory (e.g. ~/workspace/install instead of ~/workspace/install/share/<package_name> or ~/workspace/src/<package_name>), meaning many packages will likely share the same path attribute value.

Recursively crawling an entire system or even selective subdirectories to look for installed packages could be very slow, so this process also deviates from the Discover -> Identify -> Augment pipeline used in colcon-core. Rather than attempting identification on prospective package locations, the discovery phase generally loads a list of installed packages from a database of some kind, such as the file-based colcon index. In some cases, the database might already populate sufficient information on the descriptor to identify the package. For others, only presence can be known, and augmentation extensions must add additional information to the descriptor by searching for specific files throughout the prefix directory.

The type attribute of an installed package works similarly to workspace packages, but must always start with installed. followed by a more specific package type. If more information about a package cannot be determined and it is known only to exist under a certain prefix, the type should be set to installed.

Supported Package Types

This package provides extensions which are able to discover packages using the PrefixPathExtensionPoint to enumerate install prefixes, and FindInstalledPackagesExtensionPoint to enumerate names of packages installed under those prefixes. It can then use the colcon index in those prefixes as well as python eggs to determine dependency information and augment the packages appropriately.

Support for more package databases for discovery and augmentation can be added by other packages by implementing and registering appropriate extensions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

File details

Details for the file colcon-installed-package-information-0.2.1.tar.gz.

File metadata

  • Download URL: colcon-installed-package-information-0.2.1.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/59.8.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

File hashes

Hashes for colcon-installed-package-information-0.2.1.tar.gz
Algorithm Hash digest
SHA256 722abf5af8ddd1c4acc560aa6825e76947df4a92bb935a64d00edbcd8a548b8b
MD5 84b1941495a497e1e15bc923de987b95
BLAKE2b-256 5116172fe1765f1e3a43f1e1d43e7f6d66af054f3e361e524a195dbd63b22109

See more details on using hashes here.

File details

Details for the file colcon_installed_package_information-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for colcon_installed_package_information-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 71af86bafc5b529c80682a68ff4b92a0f595ac07d32c2ba0a78068910a84a5a0
MD5 0c1943628028f1e7f597bef4ab2c1dfa
BLAKE2b-256 562d137b67a3de002818bfc8ac18ba7beebd166429c5367d124f3ae104d39e22

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page