Example gallery
Each of the following ships under pyccolo/examples/ as a self-contained, tested tracer — great starting points to adapt.
Example |
Demonstrates |
|---|---|
statement-level code coverage ( |
|
|
|
|
|
MacroPy-style |
|
MacroPy-style |
|
statement-bodied |
|
make (most) imports lazy, resolving on first use |
|
implicit async: run assignments on a thread pool, unwrap futures on use |
|
concolic (concrete + symbolic) execution with a Z3 / brute-force solver |
In the wild
Beyond the bundled examples, Pyccolo is the instrumentation engine behind several larger projects — good places to see what it can do at scale:
ipyflow — a reactive Python kernel for Jupyter that tracks dataflow between cells using Pyccolo’s dynamic analysis.
pipescript — a pipe operator (
|>), placeholder ($), and macro syntax for IPython/Jupyter, built entirely on Pyccolo’s syntax augmentation and composable event handlers.pycograd — a small reverse-mode automatic-differentiation library that differentiates ordinary
numpycode (no special “autodiff namespace”), using Pyccolo to trace the computation.
People have also built statement-level coverage, syntactic macros (quasiquotes, quick lambdas), syntax-augmented Python (optional chaining, pipeline operators), lazy imports, concolic execution, and tools to uncover semantic memory leaks.