Installation
Pyccolo is a pure-Python package with a small dependency footprint
(traitlets and typing_extensions). Grab it from PyPI:
$ pip install pyccolo
Installing the package registers two equivalent console commands — pyc and
pyccolo — for running scripts and modules with instrumentation enabled (see
Command line interface).
To live on the bleeding edge, install the latest revision straight from GitHub:
$ pip install git+https://github.com/smacke/pyccolo@master
Supported Python versions
Pyccolo targets Python 3.6 through 3.14. Because instrumentation is embedded at the level of source code rather than bytecode, the same tracer code is portable across that whole range, with a couple of feature-specific exceptions:
Syntax augmentation (custom surface syntax; see Syntax augmentation) requires Python >= 3.8.
Opcode-level
systracing (theopcodeevent; see Compatibility with sys.settrace) requires Python >= 3.7.
Everything else — AST events, sys.settrace events, source-to-source
transforms — works across the full supported range.
Installing for development
If you are hacking on Pyccolo itself, install it in editable mode with the
test extra (linters, type checker, and test runner):
$ pip install -e '.[test]'
or the dev extra, which additionally pulls in the build/release tooling.
Building these docs locally needs the docs requirements instead:
$ pip install -e '.[docs]'
$ make -C docs html