colcon-installed-package-information


Namecolcon-installed-package-information JSON
Version 0.2.1 PyPI version JSON
download
home_pagehttps://colcon.readthedocs.io
SummaryExtensions for colcon to inspect packages which have already been installed.
upload_time2024-03-18 20:29:58
maintainerScott K Logan
docs_urlNone
authorScott K Logan
requires_python>=3.6
licenseApache License, Version 2.0
keywords colcon
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            colcon-installed-package-information
====================================

Extensions for `colcon-core <https://github.com/colcon/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 <https://colcon.readthedocs.io/en/released/developer/extension-point.html#packagediscoveryextensionpoint>`_ and `PackageAugmentationExtensionPoint <https://colcon.readthedocs.io/en/released/developer/extension-point.html#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.



            

Raw data

            {
    "_id": null,
    "home_page": "https://colcon.readthedocs.io",
    "name": "colcon-installed-package-information",
    "maintainer": "Scott K Logan",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "logans@cottsay.net",
    "keywords": "colcon",
    "author": "Scott K Logan",
    "author_email": "logans@cottsay.net",
    "download_url": "https://files.pythonhosted.org/packages/51/16/172fe1765f1e3a43f1e1d43e7f6d66af054f3e361e524a195dbd63b22109/colcon-installed-package-information-0.2.1.tar.gz",
    "platform": null,
    "description": "colcon-installed-package-information\n====================================\n\nExtensions for `colcon-core <https://github.com/colcon/colcon-core>`_ to inspect packages which have already been installed.\n\nOverview\n--------\n\nThese 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.\nIn general, it works similarly to and is based on the `PackageDiscoveryExtensionPoint <https://colcon.readthedocs.io/en/released/developer/extension-point.html#packagediscoveryextensionpoint>`_ and `PackageAugmentationExtensionPoint <https://colcon.readthedocs.io/en/released/developer/extension-point.html#packageaugmentationextensionpoint>`_ extensions provided by ``colcon-core``.\n\nDifferences\n-----------\n\nInstalled packages don't generally have a single directory which stores the package content and metadata.\nThis 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.\n\nRecursively 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``.\nRather 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.\nIn some cases, the database might already populate sufficient information on the descriptor to identify the package.\nFor 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.\n\nThe ``type`` attribute of an installed package works similarly to workspace packages, but must always start with ``installed.`` followed by a more specific package type.\nIf 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``.\n\nSupported Package Types\n-----------------------\n\nThis 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.\nIt can then use the colcon index in those prefixes as well as python eggs to determine dependency information and augment the packages appropriately.\n\nSupport for more package databases for discovery and augmentation can be added by other packages by implementing and registering appropriate extensions.\n\n\n",
    "bugtrack_url": null,
    "license": "Apache License, Version 2.0",
    "summary": "Extensions for colcon to inspect packages which have already been installed.",
    "version": "0.2.1",
    "project_urls": {
        "Changelog": "https://github.com/colcon/colcon-installed-package-information/milestones?direction=desc&sort=due_date&state=closed",
        "GitHub": "https://github.com/colcon/colcon-installed-package-information/",
        "Homepage": "https://colcon.readthedocs.io"
    },
    "split_keywords": [
        "colcon"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "562d137b67a3de002818bfc8ac18ba7beebd166429c5367d124f3ae104d39e22",
                "md5": "0c1943628028f1e7f597bef4ab2c1dfa",
                "sha256": "71af86bafc5b529c80682a68ff4b92a0f595ac07d32c2ba0a78068910a84a5a0"
            },
            "downloads": -1,
            "filename": "colcon_installed_package_information-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0c1943628028f1e7f597bef4ab2c1dfa",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 14477,
            "upload_time": "2024-03-18T20:29:55",
            "upload_time_iso_8601": "2024-03-18T20:29:55.477371Z",
            "url": "https://files.pythonhosted.org/packages/56/2d/137b67a3de002818bfc8ac18ba7beebd166429c5367d124f3ae104d39e22/colcon_installed_package_information-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5116172fe1765f1e3a43f1e1d43e7f6d66af054f3e361e524a195dbd63b22109",
                "md5": "84b1941495a497e1e15bc923de987b95",
                "sha256": "722abf5af8ddd1c4acc560aa6825e76947df4a92bb935a64d00edbcd8a548b8b"
            },
            "downloads": -1,
            "filename": "colcon-installed-package-information-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "84b1941495a497e1e15bc923de987b95",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 14255,
            "upload_time": "2024-03-18T20:29:58",
            "upload_time_iso_8601": "2024-03-18T20:29:58.438509Z",
            "url": "https://files.pythonhosted.org/packages/51/16/172fe1765f1e3a43f1e1d43e7f6d66af054f3e361e524a195dbd63b22109/colcon-installed-package-information-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-18 20:29:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "colcon",
    "github_project": "colcon-installed-package-information",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "colcon-installed-package-information"
}
        
Elapsed time: 0.20737s