Skip to main content

A Progressive Steerable Analytics Toolkit

Project description

ProgressiVis

Python Tests Documentation Status linting - Ruff types - Mypy License

ProgressiVis is a Python toolkit and scientific workflow system that implements a new programming paradigm that we call Progressive Data Analysis (PDA), aimed at performing exploratory data analysis and visualization in a progressive way. It allows analysts to visualize the progress of their analysis and to steer it while the computation is being done. See our book on Progressive Data Analysis.

Instead of running a pipeline of algorithms to completion, one after the other, as done in all existing scientific analysis systems, ProgressiVis modules run in short batches, each batch being only allowed to run for a specific quantum of time— typically 0.5 second— producing a usable result in the end, and yielding control to the next module. To perform the whole computation, ProgressiVis loops over the modules as many times as necessary to converge to a result that the analyst considers satisfactory.

In addition to running data science pipelines progressively, ProgressiVis opens the door to interactive machine learning (ML), green computing, and a certain form of algorithm explainability. It is a step towards green computing by stopping expensive analyses on large datasets as soon as a useful result is computed, instead of processing them completely. It provides algorithm transparency, a certain form of explainability, since progressive visualization reveals how algorithms transform data as they run.

Unfortunately, the cost of building progressive applications is very high due to the lack of libraries or languages supporting its paradigm. The ProgressiVis toolkit is designed to allow practitioners and researchers to enter the PDA world with reasonable effort.

ProgressiVis relies on well-known Python libraries, such as numpy,scipy, Pandas, and Scikit-Learn.

For now, ProgressiVis is mostly a proof of concept. You can find its documentation here.

Live demos

Many interactive demos are available online. They will run remotely on mybinder.org, so you can experiment with ProgressiVis with no need to install it locally.

Binder

Click the "launch binder" image above to run the live demos on mybinder.org.

NB: Interactive demos may take up to several minutes to build, depending on the server load.

Installation

See the installation instructions provided here.

Examples

To see examples, either look at the tests in the tests directory, or try the examples in the examples directory.

Running demos (on your computer)

ProgressiVis demos need visualisations which are available in the progressivis extension called ipyprogressivis. Please follow the instructions provided here

Support

If you are having issues, please let us know at issue.

License

The project is licensed under the BSD-2-Clause license.

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

progressivis-0.2.1.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

progressivis-0.2.1-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file progressivis-0.2.1.tar.gz.

File metadata

  • Download URL: progressivis-0.2.1.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for progressivis-0.2.1.tar.gz
Algorithm Hash digest
SHA256 a0287772ea04606d0d02a2cf67179e499dd6d15c763972ca4d6ac0398d0f975b
MD5 b115e2cdfd6025f674d6d3e5065bc70f
BLAKE2b-256 666dd5ec77216c327590d1f47769ef0f184a13ce299023a83a8ba3dca5066698

See more details on using hashes here.

File details

Details for the file progressivis-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: progressivis-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for progressivis-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 090fc124fce03a0249f7255870c9688e0c317245606fff12f48bbca90d6bb638
MD5 3cee6442e45ac80dde07fc609da93511
BLAKE2b-256 ab0e12425588953e892a695f2745a57e88e86f8ac4ee9c58217bbadf23dbfd3e

See more details on using hashes here.

Supported by

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