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.5.1.tar.gz (43.9 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.5.1-py3-none-any.whl (48.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for hatchy-0.5.1.tar.gz
Algorithm Hash digest
SHA256 1d1af20da4fc8bf403f11e8fa9b979898bfa13d5d325a8eb776b6db02d7fa4ae
MD5 32afecd9d76f9c1c2216c19757b9dc39
BLAKE2b-256 d963d34cab735c9e4f89412b5efcd5d3f260226949fdd76c6dad2f22e530c9fa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hatchy-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 48.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.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ca17fed3bc604c97c8c38619b9bff4059d138fc7fb65a7a21bb9192e9f2d6605
MD5 b0cff8430c8835781db8364bc1e776c7
BLAKE2b-256 84ce816772b119f6f4ab41cd84efdbc6c0bab7cd138199e566f2b3abd82224f8

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