Skip to content

Examples

Each example is a complete, buildable project that walks through a real algorithm from scaffold to optimised implementation.

Example What it demonstrates
Running stats Welford's online algorithm — streaming mean and variance over any sequence of real-valued samples.
FIR filter A 16-tap, real-coefficient FIR filter that processes complex (I/Q) signals.
Sliding power Estimate the instantaneous power of a signal over a rolling window of N samples:
Sliding correlator A sliding correlator computes the cross-correlation between a running input window and a fixed reference sequence:
Array processing Every object just-makeit generates can process a block of samples in one call.
Stream chunker A stream re-framer: accepts samples in arbitrary-size bursts and emits them as fixed-size chunks.
DSP toolkit A two-component DSP library built with just-makeit: a Gain component and an Ema (exponential moving average) component.
Filter module A two-type filter library where Fir (FIR filter) and Biquad (biquad IIR) live together in a single filter Python extension module.
IQ file A block-wise converter between cf32 (complex float-32, 8 bytes/sample) and q15 (complex signed 16-bit fixed-point, 4 bytes/sample) — the two most common raw IQ file formats in software-defined radio.
pytest style Demonstrates the --pytest and --pytest-benchmark flags introduced in just-makeit 0.11.
Full workflow A complete development lifecycle walkthrough — scaffold two components with both test and benchmark styles, implement, test, benchmark, measure coverage, and publish API docs — all from a single just-makeit project.
Composites This example builds one jm project that demonstrates the object-of-objects kind = "handle" generator: a single typed CPython class generated over an opaque hand-C resource handle, with RAII lifetime.

All examples ship with end-to-end tests in examples/*/test.py that are run by the CI suite. See examples/README.md for contributor notes on the .steps/ naming convention.