Feature map¶
The menu of what just-makeit can do, and the one bundled example that shows each feature most clearly. This is a map, not a tutorial — scan for the thing you need, then open its example.
Every example is runnable end to end with:
It scaffolds fresh in a temp dir, builds, and runs its tests. Every example has a walkthrough page.
For a single guided build that touches many features at once, start with the feature tour. For composing objects out of objects, see the object-of-objects guide.
Object shapes — what step() looks like¶
| Feature | Example |
|---|---|
Scalar processor (x -> y) |
FIR filter |
Generator (void -> y) |
NCO tone |
Consumer / sink (x -> void) |
Accumulator |
Blockwise (T[] -> U[]) |
Blockwise template |
Array-buffer primary arg (--arg-type T[]) |
Array processing |
Method-only object (--no-step, custom methods) |
Ring buffer |
Process a whole block (steps) |
Array processing |
State and lifecycle¶
| Feature | Example |
|---|---|
| State variables with defaults | Running stats |
Mutable state (--mutable) |
NCO tone |
Opaque heap state (create / destroy) |
Delay line |
create / reset / destroy + heap field |
Delay line |
Declarative TOML fragment (jm apply) |
Declarative scaffold |
no_state / user-facing init-params |
Feature tour |
Methods and outputs¶
| Feature | Example |
|---|---|
| Named execute methods with params | Accumulator |
| Variable-length output | Array processing |
Per-call output array (out-type / out-divisor) |
Array processing |
Second output array (multi-output) |
Array processing |
GIL release (nogil), pass-capacity |
Kitchen sink |
*args / **kwargs methods (--varargs) |
Varargs methods |
One record / structured array / list of records (--single, --record-dtype, --result-field) |
Record shapes |
Zero-copy borrowed views (--borrow, --status-fn, --releases, --strict, --header-only) |
Ring buffer |
Failure channels (jm error, jm warning, --status-return, --error-negative) |
Errors and warnings |
Functions and properties¶
| Feature | Example |
|---|---|
| Module-level C function | Module functions |
| Inline function (in the header) | Module functions |
Filesystem path argument (name:path) |
Extend command |
Enum argument (name:enum:<ename>) |
Extend command |
C enum whose values are not 0..n-1 ([[enum]] enumerators) |
C enum constants |
Raise on non-zero return (--check-return) |
Extend command |
Raise the C refusal's own reason (--why) |
Extend command |
Raise a composer's refusal reason (from_json_why, create_why) |
Object-of-objects |
| Writable property | Feature tour |
| Field-backed property | IQ file |
Modules and linking¶
| Feature | Example |
|---|---|
Multiple types in one module .so |
Filter module |
External C library (find_package + link) |
NCO tone |
Vendored C dep, depends_on, reexports |
Kitchen sink |
Performance¶
| Feature | Example |
|---|---|
JM_HOT / JM_FORCEINLINE annotations |
FIR filter |
SIMD batch dispatch (JM_DEFINE_STEPS) |
FIR filter |
Portable SIMD macros (jm_simd.h: JM_ADD_F32, JM_HSUM_F32) |
Sliding power |
Composing objects out of objects¶
| Feature | Example / guide |
|---|---|
kind = "handle" — typed RAII resource class |
Composites |
kind = "capsule" / kind = "composer" |
Object-of-objects guide |
| Composer bridge / computed-property C seams | Composer seams |
Two classes over one core¶
| Feature | Example |
|---|---|
Second Python class over one C core (jm view) |
Views |
A view's own constructor (--create-fn) |
Views |
Trim a view's surface (--exclude-property/-method) |
Views |
Add / override a member on a view (--view) |
Views |
Streaming¶
| Feature | Example |
|---|---|
streamable → stream() / __iter__ |
Stream source |
| Blockwise streaming | Stream blockwise |
| Async iteration | Stream source (async) |
Re-framing a stream (method-only framer) |
Stateful vs Pure |
Documentation¶
| Feature | Example / guide |
|---|---|
Doxygen @brief / @param → .pyi docstrings |
Accumulator |
@code block → doctest run against the built .so |
Accumulator |
Documenting free and static inline functions |
Module functions |
| Which Doxygen tags jm reads, and what they map to | Enriching stubs |
Doxygen C site + Zensical Python site (make docs) |
Full workflow |
Applications and tooling¶
| Feature | Example |
|---|---|
| C exe / console script / PEP 723 from a component | Three faces |
| Full lifecycle (build, test, bench, docs) | Full workflow |
--pytest / --pytest-benchmark test styles |
Full workflow |
Upgrading an old project (jm upgrade) |
Upgrading an old project |