catkin-pkg
catkin package library
Decision gist · record as of 2026-08-14
Yes, if you work with ROS and need to programmatically read package metadata. The library is stable, has no known vulnerabilities, and carries a permissive license. However, maintenance is aging (338 days since last release)—verify that it supports your ROS version and use case before adopting it in new projects.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.6 or later; intended for use within ROS environments where package.xml files are present.
- Low install friction with a pure-Python wheel distribution.
- Maintenance status is aging—last release was 338 days ago, though the repository remains active with a recent commit on 2025-09-29.
License · maintenance · safety
BSD (permissive) — BSD permissive license allows use in both open-source and proprietary projects with minimal restrictions; attribution required but no copyleft obligations.
last release 2025-09-10 (338 days) · last repo commit 2025-09-29 · 49 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 898,148 downloads/mo, #4,784 on PyPI
Alternatives
Verify before relying
pip install catkin-pkg
from catkin_pkg.package import parse_package
package = parse_package('/path/to/package.xml')- Whether this package is actively maintained for new ROS versions or primarily serves legacy ROS 1 systems.
- Specific Catkin package format versions supported by this release.
What it is and what it does
catkin_pkg is a standalone Python library that reads and interprets Catkin package metadata—the format used by ROS to describe package structure, dependencies, build rules, and metadata. It parses package.xml files and provides programmatic access to that information, making it useful for build tools, dependency analysis, and package management scripts that work with ROS projects.
The library depends on standard Python utilities (docutils, packaging, python-dateutil, pyparsing, setuptools) and has been part of the ROS infrastructure since 2012. It is primarily used by ROS build systems and tools that need to understand package relationships and metadata without invoking the full Catkin build environment.
Use it for
- Parse ROS package.xml files to extract dependencies and metadata in build automation scripts.
- Analyze package relationships and generate dependency graphs for ROS workspaces.
- Validate Catkin package structure and metadata in CI/CD pipelines for ROS projects.
- Programmatically inspect package information in tools that manage or document ROS packages.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work with ROS and need to programmatically read package metadata.
The library is stable, has no known vulnerabilities, and carries a permissive license. However, maintenance is aging (338 days since last release)—verify that it supports your ROS version and use case before adopting it in new projects.
Install
catkin-pkg on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Maintenance status is aging—last release was 338 days ago, though the repository remains active with a recent commit on 2025-09-29. Suitable for stable, established ROS workflows.
Requires Python 3.6 or later; intended for use within ROS environments where package.xml files are present.
License in practice
BSD permissive license allows use in both open-source and proprietary projects with minimal restrictions; attribution required but no copyleft obligations.
Quickstart
pip install catkin-pkg
from catkin_pkg.package import parse_package
package = parse_package('/path/to/package.xml')
Verify before relying
- Whether this package is actively maintained for new ROS versions or primarily serves legacy ROS 1 systems.
- Specific Catkin package format versions supported by this release.
Package facts
| License | BSD permissive |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 5 packagesdocutilspackagingpython-dateutilpyparsingsetuptools |
| Maintenance | Aging 338 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 898,148 / month, #4,784 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: BSD LicenseProgramming Language :: Python |
Evidence: catkin_pkg-1.1.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “catkin package parsing”
- catkin-pkgParses and manages Catkin package metadata and configuration files…
- rosdistroParses and manipulates ROS distribution metadata files in YAML…
- colcon-rosExtends colcon to recognize and build ROS packages as part of a…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also rosdistro · colcon-ros · resolve-robotics-uri-py · rospkg · rosbags · pyros-genmsg · mplib · robotcode-robot · vacuum-map-parser-roborock · colcon-common-extensions