Skip to main content

Command line tools for working with the colcon meta-buildsystem and colcon workspaces.

Project description

Hatchy: Colcon Workspace Management Tool

Overview

Hatchy is a command-line tool designed to simplify and enhance the management of Colcon workspaces. Inspired by catkin_tools, Hatchy provides a user-friendly interface for working with ROS 2 and other Colcon-based projects.

Features

Hatchy supports several key commands to streamline your Colcon workspace workflow:

1. Build

  • Build entire workspaces or specific packages
  • Customize build configurations
  • Options to build with or without dependencies
hatchy build                    # Build default workspace
hatchy build --workspace /path  # Build specific workspace
hatchy build --this             # Build package in current directory
hatchy build --no-deps          # Build only specified packages

2. Clean

  • Remove build artifacts
  • Clean specific spaces (build, install, test results)
  • Support for cleaning packages and their dependents
hatchy clean                    # Clean default workspace
hatchy clean --build            # Remove build space
hatchy clean --this             # Clean current package
hatchy clean --dependents       # Clean dependent packages

3. Config

  • Configure workspace context
  • Manage build spaces and extensions
  • Customize build arguments
hatchy config --extend /path/to/workspace  # Extend another workspace
hatchy config --build-space custom_build   # Set custom build space

4. Init

  • Initialize new Colcon workspaces
hatchy init                     # Initialize workspace in current directory
hatchy init --workspace /path   # Initialize workspace in specific path

5. List

  • List packages and repositories in workspace
hatchy list packages            # List all packages
hatchy list repos               # List workspace repositories

6. Test

  • Run tests for workspace or specific packages
hatchy test                     # Run all tests
hatchy test --this              # Test current package
hatchy test --no-deps           # Test only specified packages

Installation

pip install git+https://github.com/hatchbed/hatchy

Requirements

  • Python 3.7+
  • Colcon

Contributing

Contributions are welcome! Please submit pull requests or file issues on the project's repository.

License

BSD 3-Clause License

Copyright (c) 2025, Hatchbed LLC All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hatchy-0.2.0.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hatchy-0.2.0-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file hatchy-0.2.0.tar.gz.

File metadata

  • Download URL: hatchy-0.2.0.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for hatchy-0.2.0.tar.gz
Algorithm Hash digest
SHA256 954e21b099103e48dbaa2ade18e4d984e622538ecccb01f79a54bc622a16c0c7
MD5 1b2707a7b2539ddad87bf028987437ee
BLAKE2b-256 d96c59cae374c28020d158663df2809af1a8786880e21fa022a25a6d2bb6650e

See more details on using hashes here.

File details

Details for the file hatchy-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: hatchy-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 20.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for hatchy-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dff8c94d5e4dafb76c96d0f8b963122b7a07cb139354d172ddce410e888b7fa4
MD5 6815dcc6f9c62faede5cac6fc6efceb5
BLAKE2b-256 5fdf5de477cb89128053f7272324ae094e9eb93b7c42605139652b4a5c42097d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page