colcon-python-setup-py
Extension for colcon to support Python packages with the metadata in the setup.py file.
What it is and what it does
colcon-python-setup-py is a plugin for the colcon build system that extends its ability to recognize and process Python packages by reading their setup.py metadata. It works by introspecting the arguments passed to setuptools' setup() function, allowing colcon to understand package structure and dependencies without requiring a pyproject.toml or other modern metadata formats.
The package is designed for developers working in colcon-based build environments—particularly in robotics and systems that rely on colcon for multi-package builds. It depends on colcon-core and setuptools, and is classified as Alpha software. Its primary role is to bridge older Python packaging practices (setup.py-only projects) with colcon's modern build orchestration.
Use it for:
- Building legacy Python packages with setup.py in a colcon workspace without migrating to pyproject.toml.
- Integrating older ROS packages that use setup.py into a colcon-based build system.
- Enabling colcon to automatically discover and manage dependencies from setup.py metadata.
- Supporting mixed-generation Python projects where some packages still rely on setup.py.
- Maintaining compatibility with existing build pipelines that depend on setup.py introspection.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A colcon extension that identifies and processes Python packages using setup.py by parsing the setuptools setup() function call.
Yes, if you are actively using colcon and have Python packages with setup.py that need to be built as part of a colcon workspace. No, if your projects have already migrated to pyproject.toml or if you are not using colcon. The dormant maintenance status is a caution: verify compatibility with your colcon-core version before relying on it for new projects.
Install
colcon-python-setup-py on PyPI
pip
pip install colcon-python-setup-pyuv
uv add colcon-python-setup-pypoetry
poetry add colcon-python-setup-pyInstalling colcon-python-setup-py
Before you install
Low install friction with a pure-Python wheel distribution. Maintenance is dormant—last release was 675 days ago and the repository shows minimal recent activity, though it remains unarchived and the last commit is recent.
License in practice
Licensed under Apache License 2.0 (permissive), which permits commercial and private use with minimal restrictions beyond attribution and liability disclaimers.
Quickstart
pip install colcon-python-setup-py
from colcon_python_setup_py.package_identification.python_setup_py import PythonSetupPyPackageIdentification
Requires colcon-core to be installed and a colcon workspace to be functional; this is a plugin, not a standalone tool.
Verify before relying
- Whether the package works correctly with modern setuptools versions and current Python releases beyond 3.6.
- Whether dormant maintenance status indicates the plugin is still compatible with recent colcon-core releases.
- Specific use cases or workflows where this extension is actively used or recommended.
Package facts
| License | Apache License, Version 2.0 (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — colcon-core, setuptools |
| Maintenance | dormant — 675 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 200,356/month — #9,693 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: colcon_python_setup_py-0.2.9-py3-none-any.whl
Keywords: colcon
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
colcon-package-informationExtends colcon-core to provide information…
permissive · top 15,000 on PyPI
colcon-devtoolsExtends colcon-core to expose information about…
permissive · top 15,000 on PyPI
colcon-common-extensionsBundles colcon-core and twenty common colcon…
permissive · top 15,000 on PyPI
colcon-package-selectionExtends colcon-core to filter and select a…
permissive · top 15,000 on PyPI
colcon-pkg-configExtends colcon-core to configure environment…
permissive · top 15,000 on PyPI
colcon-recursive-crawlA colcon-core extension that recursively crawls…
permissive · top 15,000 on PyPI
colcon-metadataExtends colcon-core to fetch and manage package…
permissive · top 15,000 on PyPI
colcon-outputExtends colcon-core to customize output…
permissive · top 15,000 on PyPI
colcon-bashProvides Bash script generation as an extension…
permissive · top 15,000 on PyPI
docspec-pythonParses Python source code into structured…
unclear · top 15,000 on PyPI