Releases: eyecan-ai/pipelime-python
Releases Β· eyecan-ai/pipelime-python
Release list
v2.3.0
What's Changed
- πFix test_draw failure caused by unreliable bmp format support in Graphviz
- ποΈ Feat add support for Python 3.13
Full Changelog: v2.2.0...v2.3.0
Pipelime v2.2.0
What's Changed
- feat: β¨ Implemented a loguru listener callback, which forwards DAGs progress to loguru in JSON format
Pipelime v2.1.0
What's Changed
- feat: β¨ implement
OutputValueInterface, which allows saving output values with primitive types to json file automatically - fix: β fix TUI toggle descriptions test
Pipelime v2.0.0
What's Changed
- π» Several fixes for the TUI, to adapt it to the latest updates of
textual. - β‘ Multiprocessing is now done with
multiprocessingfrom standard library, insted ofbilliardwhich caused random deadlocks. This change prevents spawning nested processes by default, but it is possible to enable it with a flag in the grabber (β οΈ this may lead to zombie processes and unreleased resources in case of unhandled crashes). - π£ β¨ π₯
pipelimefinally supportspydantic v2! Internally, we still usepydantic v1by doingimport pydantic.v1 as pyd. This can be done starting frompydantic==1.10.17, so that final users can still usepydantic v1, if needed. - π₯ The data cache is disabled by default for all items! A new option can be passed to the CLI to enable it for all the items or for a specific subset.
- β¨ It is now possible to create a
SamplesSequencefrom a single video (each sample will contain one frame of the video). - π Python supported versions have been updated to
3.10,3.11and3.12. - ποΈ Tox can now be used to run tests against all supported python versions.
Full Changelog: v1.9.1...v2.0.0
Pipelime v1.9.1
What's Changed
- 91% test coverage
- π©Ή fixed ShellCommand
- πΈ if
LOGURU_LEVELis not set as env var, then-vsets the logger level fromWARNING(no-v) toTRACE(-vvvor more) - ποΈ
WatcherNodesGraphExecutorhas been deprecated (useDirectTrackCallbackinstead)
Full Changelog: v1.9.0...v1.9.1
Pipelime 1.9.0
What's Changed
π New Features!
- πΈ last
pipelimecall (with no--ckptoption) is saved and can be replayed withpipelime resume(βTUI partial inputs includedβ)- π actually, last 3 calls are cached: try this
pipelime resume +ckpt 2to replay the second-last
- π actually, last 3 calls are cached: try this
- β¨
cat(both pipe and command) accepts multiple sequences with optionalinterleaveflag - β¨
batched/unbatchedpipes 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 $vars are missing
*π§΅ multiprocessing should now eat almost everything, lambda functions included
- π§βπ» better error reporting in case of malformed
@commandor failing imports - π
pipelime lclists DAG commands in a separate section - πΈ when
pipelime helpfinds a pydanticFieldwithexpand_help=True, such field will be expanded if the type is aBaseModel - π fixed
splitcommand with size1
Full Changelog: v1.8.1...v1.9.0
Pipelime 1.8.1
What's Changed
- stub for
SamplesSequence.from_imageshad an incorrect default - fixed error when loading extra
.pyfiles multiple times - fixed some use-cases in dag creation and drawing
- fixed missing variable in
FileListenerCallback - fixed
pipelime listthat was not showing anything
Full Changelog: v1.8.0...v1.8.1
Pipelime 1.8.0
What's Changed
- π Big news:
- πΈ Resume from checkpoint! -> especially when you run a DAG
- π§βπ» When you import a python symbol, eg,
$symbol,CallableDefetc, now you can even use plain python code or lambda -> and it is fully compatible with a multi-process grabber! - π§βπ» CLI: no need to repeat a
+/@option when you want to append a value -> see the docs
- πΈοΈ DAG news:
- πΈ Resume/Replay a DAG
- βοΈ Advanced node selection -> see the docs
- π Python DAGs:
- π Checkout the docs
- π§βπ»
create_graphcan return a list of (lazy)PipelimeCommands: node names will be auto-generated - ποΈ Temp folder is not automatically delete if you use
--keep-tmp
- β¨ Commands, stages and pipes:
stage-timecommand to measure the average time spent by each stage of a pipelineresumecommand to load and run a Pipelime checkpointmap-ifcommand to apply a stage only on a subset of samplesrepeatnow accepts floating point values to repeat a sequence a fractional number of times
- πΆ General improvements:
- π§βπ»
PipelimeTmp.make_session_dir()now always returns a subfolder of the Pipelime session temp folder - π @command now correctly manages submodel parameters
- β¨ Input/Output interface now have a default piper port
- β¨ The pydantic type
NewPathcan check or set the extension for you
- π§βπ»
Full Changelog: v1.7.0...v1.8.0
Pipelime 1.7.0
What's Changed
- fix: π Choixe now supports non-string dictionary keys
- fix: π Input/Output command ports can now be mappings
- feat: π§βπ» Decoupled DAG command and DAG creation
- feat: β¨ Remove cached data after serialization
Full Changelog: v1.6.2...v1.7.0