Skip to main content
==================
Colcon Spawn Shell
==================

Introduction
------------

This is a `colcon <https://colcon.readthedocs.io>`_ plugin to chain workspaces in new shells.
It allows quickly un-chaining workspaces by exiting the spawned shell.

The shell's prompt is edited to show the workspace order.
The only supported shell is **bash**.

.. image:: https://raw.githubusercontent.com/colcon/colcon-spawn-shell/8de6d0a687619bfd8342647b6d216695bb76dfaf/doc/colcon_spawn_shell_example.gif

Quick Start
-----------

**Optional:** Create and source a virtual environment.

.. code-block:: bash

python3 -m venv env
. env/bin/activate

From Pip
~~~~~~~~

1. Download ``colcon-spawn-shell`` from pip.

.. code-block:: bash

pip install colcon-spawn-shell

2. Build the colcon workspace you would like to spawn in a new shell.

.. code-block:: bash

cd my_cool_workspace
colcon build

3. Source ``spawn_shell.bash`` to activate the workspace.

.. code-block:: bash

. install/spawn_shell.bash

_`From Source`
~~~~~~~~~~~~~~

.. note::

It's recommended to install to a virutal environment for development.
See `this tutorial <https://docs.python.org/3/tutorial/venv.html>`_ for more information.

1. Download the source code for ``colcon-spawn-shell``

.. code-block:: bash

mkdir -b spawn_shell_ws/src
cd spawn_shell_ws/src
git clone https://github.com/colcon/colcon-spawn-shell.git

2. Build the workspace using colcon

.. code-block:: bash

colcon build

3. Source the workspace

.. code-block:: bash

. install/local_setup.bash

From now on future workspaces can be activated by sourcing ``spawn_shell.bash``

.. code-block:: bash

cd my_cool_workspace
colcon build
. install/spawn_shell.bash

Contributing
------------

1. `Fork <https://help.github.com/articles/fork-a-repo/>`_ the `colcon/colcon-spawn-shell <https://github.com/colcon/colcon-spawn-shell>`_ repository.
2. Follow the `"From Source" instructions <From Source_>`_, except clone your forked repository.
3. Make changes and commit them to a branch.

.. code-block:: bash

# Creat a branch for your changes
git checkout -b my-cool-changes
# Make your changes ...
git commit -m "committing my changes"
# Push them to your fork
git push --set-upstream origin my-cool-changes

4. Create a `Pull Request <https://help.github.com/articles/creating-a-pull-request-from-a-fork/>`_ from your branch to the branch **develop** on `colcon/colcon-spawn-shell <colcon/colcon-spawn-shell_>`_


.. note::

Please create pull requests from the branch **develop** because `this repository <colcon/colcon-spawn-shell_>`_ uses the `nvie git branching model <http://nvie.com/posts/a-successful-git-branching-model/>`_.


Release files for colcon-spawn-shell 0.3.0

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

Source distribution (sdist)

Source distribution for colcon-spawn-shell 0.3.0
File Size Uploaded
colcon-spawn-shell-0.3.0.tar.gz 9.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for colcon-spawn-shell 0.3.0
File Interpreter ABI Platform
colcon_spawn_shell-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 18.9 kB

Release files / colcon-spawn-shell-0.3.0.tar.gz

Download URL colcon-spawn-shell-0.3.0.tar.gz
Size 9.0 kB
Tags Source
SHA-256 checksum
How to use checksums
2f2be7a5af61b882126a01b63409985b9c7d1d3c4d5adb5c5a63728d20ba0d4a
BLAKE2b-256 checksum
How to use checksums
4c0cc36da63c1c0217f96621d64d2ec8e10b4823b0cc06eb323f902476fc87ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/59.8.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

Release files / colcon_spawn_shell-0.3.0-py3-none-any.whl

Download URL colcon_spawn_shell-0.3.0-py3-none-any.whl
Size 10.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d3841699539db2a2d68d9de598b01edc0c7d69b46ff20c7b1ecd510c1e3e2ff2
BLAKE2b-256 checksum
How to use checksums
71981d49411e3442cf8160cd6a75842a9e0d4dc79102ced778ce0747a1d4de80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/59.8.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

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