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.1.tar.gz (16.4 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.1-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hatchy-0.2.1.tar.gz
  • Upload date:
  • Size: 16.4 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.1.tar.gz
Algorithm Hash digest
SHA256 5b86995c6050ae3b19afbbb556afb6cf91a837fa48bd58282295f247318ad788
MD5 11b202da17a1bae2ea37edb214482463
BLAKE2b-256 07b1d93af94e84afb6f1ab8844d2c8fbabfaab5dd161f515d74d10573736f82c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hatchy-0.2.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2221ec69f289ce1fd843f2b1741ca1ffff1237f07324f8fd724a1d9bc7eda816
MD5 f6162277a04255b59133740a0bdff8c1
BLAKE2b-256 27cd7336f2fd9a5902972cfaeaafd51d23826411c586008768ff9b40e3c0b4ce

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