RCC allows you to create, manage, and distribute Python-based self-contained automation packages. RCC also allows you to run your automations in isolated Python environments so they can still access the rest of your machine.
Repeatable, Contained Code - movable and isolated Python environments for your automation.
Together with robot.yaml configuration file, rcc is a foundation that allows anyone to build and share automation easily.
RCC is actively maintained by JoshYorko.
- You do not need to install Python on the target machine
- You can control exactly which version of Python your automation will run on (..and which pip version is used to resolve dependencies)
- You can avoid
Works on my machine - No need for
venv,pyenv, ... tooling and knowledge sharing inside your team. - Define dependencies in
conda.yamland automation config inrobot.yamland let RCC do the heavy lifting. - If you have run into "dependency drifts", where once working runtime environment dependencies get updated and break your production system?, RCC can freeze ALL dependencies, pre-build environments, and more.
- RCC will give you a heads-up if your automations have been leaving behind processes after running.
...and much much more.
Install rcc
Pull a robot from GitHub:
rcc pull github.com/joshyorko/template-python-browser
Run robot
rcc run
Create your own robot from templates
rcc create
For detailed instructions, visit the RCC documentation to get started. To build rcc from this repository, see the Setup Guide
Links to changelog and different versions available here
- Open the command prompt
- Download:
curl -o rcc.exe https://github.com/joshyorko/rcc/releases/latest/download/rcc-windows64.exe - Add to system path: Open Start ->
Edit the system environment variables - Test:
rcc
- Open the terminal
- Download:
curl -o rcc https://github.com/joshyorko/rcc/releases/latest/download/rcc-darwin64 - Make the downloaded file executable:
chmod a+x rcc - Add to path:
sudo mv rcc /usr/local/bin/ - Test:
rcc
- Open the terminal
- Download:
curl -o rcc https://github.com/joshyorko/rcc/releases/latest/download/rcc-linux64 - Make the downloaded file executable:
chmod a+x rcc - Add to path:
sudo mv rcc /usr/local/bin/ - Test:
rcc
RCC is available via Homebrew for both macOS and Linux:
brew tap joshyorko/tools
brew install --cask rcc| Platform | Status | Binary |
|---|---|---|
| Linux x64 | ✅ Native | rcc-linux64 |
| macOS Intel | ✅ Native | rcc-darwin64 |
| macOS Apple Silicon | ✅ Rosetta 2 | rcc-darwin64 |
Add to your Brewfile:
tap "joshyorko/tools"
cask "rcc"Or with the full path:
cask "joshyorko/tools/rcc"The changelog can be seen here. It is also visible inside RCC using the command rcc docs changelog.
Some tips, tricks, and recipes can be found here.
These are also visible inside RCC using the command: rcc docs recipes.
For additional documentation on robot.yaml, conda.yaml, and the broader ecosystem, see the Robocorp Documentation.
This fork disables all internal telemetry by default:
- No background metrics are sent and internal metrics are disabled across product modes.
- The installation identifier header is not attached to outbound HTTP requests when telemetry is disabled.
- The
rcc configure identityoutput will always report tracking as disabled unless explicitly modified in code; feedback/metric commands are effectively no-ops.
You can repoint all network endpoints via environment variables or a local settings.yaml.
Environment variables (take precedence over builtin settings):
RCC_ENDPOINT_CLOUD_APIRCC_ENDPOINT_CLOUD_LINKINGRCC_ENDPOINT_CLOUD_UIRCC_ENDPOINT_DOWNLOADSRCC_ENDPOINT_DOCSRCC_ENDPOINT_TELEMETRYRCC_ENDPOINT_ISSUESRCC_ENDPOINT_PYPIRCC_ENDPOINT_PYPI_TRUSTEDRCC_ENDPOINT_CONDARCC_ENDPOINT_UV_RELEASES- Override the uv binary download URL (default: GitHub releases)RCC_AUTOUPDATES_TEMPLATES- Override the templates.yaml URL for robot templatesRCC_AUTOUPDATES_RCC_INDEX- Override the index.json URL for version checking
Example (~/.zshrc):
# Point rcc at your own control plane endpoints
export RCC_ENDPOINT_CLOUD_API="https://api.your-domain.com/"
export RCC_ENDPOINT_CLOUD_UI="https://console.your-domain.com/"
export RCC_ENDPOINT_CLOUD_LINKING="https://console.your-domain.com/link/"
# Optional: switch where generic downloads resolve
export RCC_ENDPOINT_DOWNLOADS="https://downloads.your-domain.com/"
# Optional mirrors for docs, PyPI, and conda
export RCC_ENDPOINT_DOCS="https://docs.your-domain.com/"
export RCC_ENDPOINT_PYPI="https://pypi.org/simple/"
export RCC_ENDPOINT_PYPI_TRUSTED="https://pypi.org/"
export RCC_ENDPOINT_CONDA="https://conda.anaconda.org/"
# Optional: override where rcc checks for updates
# (defaults shown here; replace with your own mirror/private registry if needed)
export RCC_AUTOUPDATES_TEMPLATES="https://github.com/joshyorko/robot-templates/releases/latest/download/templates.yaml"
export RCC_AUTOUPDATES_RCC_INDEX="https://github.com/joshyorko/rcc/releases/latest/download/index.json"
# Validate your overrides
build/rcc configuration diagnostics --quick --json | jq .Local settings file: write a settings.yaml to $RCC_HOME/settings.yaml with an endpoints: section. See assets/robocorp_settings.yaml for the full shape; any key you set there will override the built-in defaults.
Micromamba is embedded into rcc and extracted locally at runtime; no live download is needed for the conda-forge path. The uv-native path (conda.yaml with no channels) downloads uv on-demand and caches it locally. If you rebuild assets yourself, you can change the micromamba download base used during asset preparation via:
export RCC_DOWNLOADS_BASE="https://downloads.your-domain.com"
rcc run -r developer/toolkit.yaml --dev -t assetsTo verify what endpoints are in effect at runtime, run:
build/rcc configuration diagnostics --quick --json | jq .RCC was originally developed by the Robocorp team and released as open source under the Apache 2.0 license. This fork continues development independently.
- Robocorp Documentation - detailed docs on compatible python libraries and guides.
Apache 2.0