All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Types of changes are:
- Security in case of vulnerabilities.
- Deprecated for soon-to-be removed features.
- Added for new features.
- Changed for changes in existing functionality.
- Removed for now removed features.
- Fixed for any bug fixes.
fungebra.Function. Function decorator to allow use of expression syntax and method chaining.- Expression syntax for
Functioncallables:+- function composition.|- function piping/chaining.**- right-associative function piping/chaining.<<- left-handed partial application.>>- right-handed partial application.-- shortcut formap.<- shortcut forfilter.>- shortcut forreduce.
- Methods for
Functioncallables:collect- collect arguments before psasing.expand- unpack single argument before passing.compose(*others)- return composition of this function withothers.pipe(func)- return function which passes output of this function tofuncpartial(*args, **kwargs)- left-handed partial application.rpartial(*args, **kwargs)- right-handed partial application.map- shortcut forpartial(map, self).lmap- same asmapbut returns alist.filter([filter_func])- pipe output of this function to filter, or create filter from self if no arguments passed.reduce([reduce_func])- pipe output of this function to reducer, or create reducer from self if not arguments passed.
- Top-level helpers:
identity- shortcut forFunction(lambda _: _)pipeline(*funcs)- return a left-to-right pipeline from a series of functions.Args- dataclass for arguments, used for passing mixed positional and keyword arguments through pipes or into partial applications.
fungebra.functionsmodules containing a number of commonly usefulFunctioncallables.- Project started :)
Nothing here.