skillfed

catkin-pkg

catkin package library

catkin-pkg v1.1.0 898.1K downloads/30d#4,784 on PyPI49
Permissive license BSD AGING released

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

Parses and manages Catkin package metadata and configuration files for the ROS (Robot Operating System) build system, enabling programmatic access to package structure and dependencies.

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

pip

pip install catkin-pkg

uv

uv add catkin-pkg

poetry

poetry add catkin-pkg

Installing catkin-pkg

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.

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')

Requires Python 3.6 or later; intended for use within ROS environments where package.xml files are present.

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 — docutils, packaging, python-dateutil, pyparsing, setuptools
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)

Evidence: catkin_pkg-1.1.0-py3-none-any.whl

Keywords: catkin, ROS

License :: OSI Approved :: BSD LicenseProgramming Language :: Python

Tags

catkin package parsingROS package metadatacatkin build system libraryROS package dependenciescatkin package configuration
rosbuild-systempackage-management

More Build Tools packages