Skip to main content

Abstract workflows for distributed data-intensive applications

Project description

dispel4py is a free and open-source Python library for describing abstract stream-based workflows for distributed data-intensive applications. It enables users to focus on their scientific methods, avoiding distracting details and retaining flexibility over the computing infrastructure they use. It delivers mappings to diverse computing infrastructures, including cloud technologies, HPC architectures and specialised data-intensive machines, to move seamlessly into production with large-scale data loads. The dispel4py system maps workflows dynamically onto multiple enactment systems, such as MPI, STORM and Multiprocessing, without users having to modify their workflows.

Among all the features of dispel4py we would like highlight the following ones:

  • Abstract: users don’t need to worry about the properties of underlying middleware, implementations or systems.

  • Distributed: dispel4py is designed for programming for large applications, by exploiting heterogeneous, distributed systems. Abstract workflows get translated and enacted-executed in a number of contexts, such as Apache Storm and MPI-powered clusters.

  • Data-intensive: data-intensive applications are those which are complex due to data-volume, data complexity or sophisticated data handling. dispel4py employs the data streaming model for dealing with large volumes of data over distributed systems, or with complex data-driven algorithms.

  • Efficient: the data-streaming communicates data directly between stages without going via disk, which can often be an overhead and bottleneck.

  • Scalable: develop on your laptop and run in production.

  • Familiar: use your favourite editors and Python development tools.

  • Extensible: write your own data processing components.

  • Agile: rapidly prototype your methods on your own laptop then migrate them seamlessly to production scale.

  • Light weight: The cost of coupling stages is so low, that small steps can be mixed with major stages freely.

  • Ubiquitous: It runs anywhere Python runs, which is virtually everywhere.

  • Open: the software is freely usable under the Apache 2 license

What makes dispel4py different from other workflow systems is that it is built on the strength and familiarity of Python, it gains from many available scientific libraries, and it uses the tools that users normally use to program. It operates on data units in data streams rather than tasks on files and processes run continuously and concurrently coupled by streams. It can therefore deal with continuous data streams from observations, as well as handle finite streams from archives.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dispel4py-1.2.1.tar.gz (42.3 kB view hashes)

Uploaded Source

Built Distribution

dispel4py-1.2.1-py2.py3-none-any.whl (80.5 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page