rosdistro
A tool to work with rosdistro files
Decision gist · record as of 2026-08-14
Yes, if you are working within the ROS ecosystem and need programmatic access to distribution metadata. The package is actively maintained, has low install friction, carries no security issues, and is licensed permissively. Install only if you are building ROS tooling or infrastructure; it has no utility outside ROS environments.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 ecosystems; standalone utility outside ROS environments is limited.
- Low friction installation with a pure-Python wheel.
License · maintenance · safety
BSD, MIT (permissive) — Dual-licensed under BSD and MIT (both permissive). No restrictions on commercial or private use; you may use, modify, and distribute freely provided you retain license notices.
last release 2024-10-19 (664 days) · last repo commit 2026-05-22 · 10 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 84,082 downloads/mo, #14,027 on PyPI
Alternatives
Verify before relying
pip install rosdistro
import rosdistro
# Load a distribution from the ROS index
distro = rosdistro.get_distribution_file('humble')- Whether rosdistro.get_distribution_file() and other public APIs are documented or discoverable from the package alone
- Whether the package works offline or requires network access to ROS index servers
- Compatibility with ROS 2 distributions versus ROS 1 only
What it is and what it does
rosdistro is a utility library for working with ROS (Robot Operating System) distribution metadata. It provides tools to parse and access catkinized rosdistro files—YAML-based configuration files that define which packages, versions, and dependencies make up a particular ROS release. The package wraps lower-level ROS infrastructure (catkin-pkg, rospkg) and YAML parsing (PyYAML) to give developers programmatic access to distribution information.
It is primarily used by ROS build systems, release managers, and tooling that needs to inspect or validate package metadata across ROS distributions. The library has been actively maintained since 2013 and currently supports modern Python versions (3.6+). It carries no known security vulnerabilities and uses permissive licensing (BSD/MIT), making it safe to integrate into ROS-based projects.
Use it for
- Query package metadata and dependencies from a specific ROS distribution release
- Validate rosdistro YAML files during ROS release engineering workflows
- Build tools that inspect or report on ROS ecosystem package structure and versions
- Automate dependency resolution across catkinized packages in a distribution
- Integrate ROS distribution data into CI/CD pipelines for ROS projects
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are working within the ROS ecosystem and need programmatic access to distribution metadata.
The package is actively maintained, has low install friction, carries no security issues, and is licensed permissively. Install only if you are building ROS tooling or infrastructure; it has no utility outside ROS environments.
Install
rosdistro on PyPI
Before you install
Low friction installation with a pure-Python wheel. Active maintenance with recent commits (2026-05-22) and stable release history since 2013. Four runtime dependencies (PyYAML, setuptools, catkin-pkg, rospkg) are standard ROS ecosystem packages.
Requires Python 3.6 or later. Intended for use within ROS ecosystems; standalone utility outside ROS environments is limited.
License in practice
Dual-licensed under BSD and MIT (both permissive). No restrictions on commercial or private use; you may use, modify, and distribute freely provided you retain license notices.
Quickstart
pip install rosdistro
import rosdistro
# Load a distribution from the ROS index
distro = rosdistro.get_distribution_file('humble')
Verify before relying
- Whether rosdistro.get_distribution_file() and other public APIs are documented or discoverable from the package alone
- Whether the package works offline or requires network access to ROS index servers
- Compatibility with ROS 2 distributions versus ROS 1 only
Package facts
| License | BSD, MIT permissive |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesPyYAMLsetuptoolscatkin-pkgrospkg |
| Maintenance | Actively maintained 664 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 84,082 / month, #14,027 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 LicenseLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python |
Evidence: rosdistro-1.0.1-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 › “ROS distribution metadata parsing”
- rosdistroParses and manipulates ROS distribution metadata files in YAML…
- catkin-pkgParses and manages Catkin package metadata and configuration files…
- rospkgProvides Python access to ROS package metadata and filesystem…
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 catkin-pkg · colcon-ros · rospkg · dockerfile-parse · pyros-genmsg · INITools · pydevicetree · python-debian · rosbags · pycomposefile