Sciline: Declarative approach to building a task graph

Sciline is very early work, but I would be interested in your thoughts (here or on our GitHub, see link in docs)!

While not depending on Dask, our intention is to use this first and foremost for building task graphs for use with the Dask schedulers.


Writing, testing, and maintaining complex data analysis workflows is hard. Boiler-plate code may hide the actual analysis, making it hard to understand. The code may be hard to test, leading to bugs.

Sciline takes a declarative approach, inspired by dependency injection frameworks. By relying on Python’s type-hinting, a domain-specific language is used to describe the workflow. This enforces a clear expression of intent, aiding readability and enabling automatic assembly of a task graph that can compute desired outputs.


See this notebook in our docs.