#

Chain functions easily and safely

Overview ๐Ÿ“œ#

FunChain is an open-source python package that implements tools for function composition, and reduces the code needed to create a pipeline to process data sequentially or through multiple branches in isolation, and capture errors from being propagated, then reports them at the end of each execution.

The idea behind this package is to help make and maintain reusable components ๐Ÿงฉ that could be combined, to make data processing easier and more scalable.

  • Its declarative syntax is intentionally easy and intuitive, this makes it easy to learn and to get started with;

  • The performance is a priority, and the package will always evolve towards being more optimized and to reduce its impact as much as itโ€™s possible.

  • It is flexible enough to be integrated in bigger projects, or to be extended with more functionality.

  • It supports async ๐ŸŽ‰ out of the box to make it the best choice for IO bound operation, like network fetching.

Dependencies ๐Ÿ“ฆ#

FunChain uses Failures [โฎฉ] under the hood to gather and report errors

Versioning ๐Ÿท๏ธ#

This python package follows the semantic versioning specification, so breaking changes will only be introduced in MAJOR version bumps (i.e. from 1.x.x to 2.x.x). As long as your app relies on a specific version (i.e. 1.x.x), the next MINOR releases will always be backward compatible.

Note

However, itโ€™s worth mentioning that funchain is still in its experimental phase, but itโ€™s being tested and actively maintained.

Future changes will be documented in the CHANGELOG.md file.

Installation ๐Ÿ“ฅ#

To integrate funchain in your environment, run the command

pip install funchain

Content ๐Ÿ“‚#