What's Changed
π New Features!
* πΈ last `pipelime` call (with no `--ckpt` option) is saved and can be **replayed** with `pipelime resume` (βTUI partial inputs includedβ)
* π actually, last 3 calls are cached: try this `pipelime resume +ckpt 2` to replay the second-last
* β¨ `cat` (both _pipe_ and _command_) accepts multiple sequences with optional `interleave` flag
* β¨ `batched`/`unbatched` pipes to group/ungroup multiple samples
* β¨ InputDatasetInterface and OutputDatasetInterface accept a custom pipe; now you can:
* βοΈ add a custom processing on input/output dataset
* π completely replace the data source with your own
* βοΈ skip the default output underfolder
πͺ Many Fixes And UX Improvements!
*πͺ interactive context filling when, eg, some `$var`s are missing
*𧡠multiprocessing should now eat almost everything, lambda functions included
* π§βπ» better error reporting in case of malformed `command` or failing imports
* π `pipelime lc` lists DAG commands in a separate section
* πΈ when `pipelime help` finds a pydantic `Field` with `expand_help=True`, such field will be expanded if the type is a `BaseModel`
* π fixed `split` command with size `1`
**Full Changelog**: https://github.com/eyecan-ai/pipelime-python/compare/v1.8.1...v1.9.0