Skip to main content

Spadix, a friendly wrapper for colcon

Copyright 2021-2024 SafeAI

Copyright 2025 Pronto.AI

Why?

Our company uses colcon (from collective construction build manager) as our main build management tool for many years.

While we like this package, it has its problem areas, in our opinion, especially when used by unexperienced engineers.

  • Default build is not a merged one, and this disables Doxygen build
  • It is allowed to run from any directory in the project tree, making the tree contaminated with build artifacts
  • By default console output is switched off and switching it back on requires an additional parameter
  • It requires few additional parameters to run gtest alone

We decided to fix these deficiencies and created a wrapper spadix around colcon. Catkin, ament, colcon, spadix... Got it?

How

spadix accepts all colcon commands and options plus it adds and modifies few commands on its own.

Usage:

spadix [Global options] [command] [command options] ...

[Global options]
--no-merge  : Do not use --merge-install option for colcon
--no-console  : Do not use the default console mode: `--event-handlers console_cohesion+`
--no-root-check  : Do not check that spadix being started from the root of a git project
--ninja  : Use Ninja for building when available
--non-ninja  : Do not use Ninja for building, even if it is available

Commands:
clean  :Clean all projects (essentially executes `rm -rf log install build`)
clean:<project1>[,<project2>...]  :Clean selected, comma-separated projects. Spaces not supported

build  :Build all projects using --merge-install settings
build:<project1>[,<project2>...]  Build selected, comma-separated projects. Spaces not supported
    Build options:
        --release   : RelWithDebInfo (debug build by default)
        --no-fif    : Disable Failure Injection Framework (FIF enabled by default)

test  :Test all projects using --merge-install settings
test:<project1>[,<project2>...]  :Test selected, comma separated projects

gtest:<project> [gtest parameters]  :Run gtest only ('build/test_<project name>')

Release files for spadix-cli 0.7.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spadix-cli 0.7.8
File Size Uploaded
spadix_cli-0.7.8.tar.gz 13.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for spadix-cli 0.7.8
File Interpreter ABI Platform
spadix_cli-0.7.8-py3-none-any.whl Python 3 none any Details

Total release size: 23.1 kB

Release files / spadix_cli-0.7.8.tar.gz

Download URL spadix_cli-0.7.8.tar.gz
Size 13.3 kB
Tags Source
SHA-256 checksum
How to use checksums
5ede12f0b2607a458367d550d97c21083b73fb5c7b69685468ea95f968030e76
BLAKE2b-256 checksum
How to use checksums
d149f0bc4bc4a4522c15025a50ceef01485e07ccf611b9ef1afe4f85d8cab5c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release files / spadix_cli-0.7.8-py3-none-any.whl

Download URL spadix_cli-0.7.8-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
73d66e9a6551c3dd87eb021d93059a7d18d9fd36928e00a415add5cb2683ce4c
BLAKE2b-256 checksum
How to use checksums
c22fe5339019cc397151d599ffac599e40a3b0cc34d7d479e7108fdcad3095ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release history Release notifications | RSS feed

This release

0.7.8 This release

2 release files

0.7.7

2 release files

0.7.6

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page