chainlet Changelog¶
v1.3.0¶
New Features
- The
>>and<<operators use experimental reflection precedence based on domains.- Added a future based
concurrencymodule.- Added a
threadingbased chain domain offering concurrent bundles.- Added a
multiprocessingbasedDriver.Major Changes
- Due to inconsistent semantics, stopping a chain with
StopTraversalno longer allows for a return value. Alignedchainlet.sendtogenerator.send, returningNoneor an empty iterable instead of blocking indefinitely. See issue #8 for details.- Added
chainlet.dispatch(iterable)tosendan entire stream slice at once. This allows for internal lazy and concurrent evaluation.- Deprecated the use of external linkers in favour of operator+constructor.
- Linking to chains ignores elements which are
Falsein a boolean sense, e.g. an emptyCompoundLink.Minor Changes
CompoundLinkobjects are now considered booleanFalsebased on elements.- Added a neutral element for internal use.
Bug Fixes
- A
Bundlewill now properlyjointhe stream if any of its elements does so.- Correctly unwrapping return value for any
Chainwhich does notfork.FunctionLinkandfuncletsupport positional arguments
v1.2.0¶
New Features
- Decorator/Wrapper versions of
FunctionLinkandGeneratorLinkare proper subclasses of their class. This allows setting attributes and inspection. Previously, they were factory functions.- Instances of
FunctionLinkcan be copied and pickled.- Instances of
GeneratorLinkcan be copied and pickled.- Subchains can be extracted from a
Chainvia slicing.Major Changes
Renamed compound chains and simplified inheritance to better reflect their structure:
Chainhas been renamed toCompoundLinkConcurrentChainhas been removedMetaChainhas been renamed toChainLinearChainhas been renamed toFlatChainParallelChainhas been renamed toBundleA
Chainthat never forks or definitely joins yields raw data chunks, instead of nesting each in alistA
Chainwhose first element does aforkinherits this.Minor Changes
- The top-level namespace
chainlethas been cleared from some specialised aliases.Fixes
- Chains containing any
chainlet_forkelements but noBundleare properly built
v1.1.0 2017-06-08¶
New Features
- Protolinks: chainlet versions of builtins and protocols
Minor Changes
- Removed outdated sections from documentation
v1.0.0 2017-06-03¶
Notes
- Initial release
New Features
- Finalized definition of chainlet element interface on
chainlet.ChainLink- Wrappers for generators, coroutines and functions as
chainlet.genletandchainlet.funclet- Finalized dataflow definition for chains, fork and join
- Drivers for sequential and threaded driving of chains