Skip to main content

Data aggregation pipeline for running real-time predictive models

Project description

Blurr

CircleCI Documentation Status Coverage Status PyPI version Binder

Table of contents

What is Blurr?

Blurr transforms structured, streaming raw data into features for model training and prediction using a high-level expressive YAML-based language called the Blurr Transform Spec (BTS).

The BTS is a data transform definition for structured data. The BTS encapsulates the business logic of data transforms and Blurr orchestrates the execution of data transforms. Blurr unner-agnostic, so BTSs can be run by event processors such as Spark, Spark Streaming or Flink.

Blurr Training

This looks like any other ETL pipeline. At this point, Blurr doesn't do anything special that you cannot do with Spark, for instance. Blurr shines when an offline model pipeline needs to be turned into an online scoring pipeline.

Blurr Production

Is Blurr for you?

Blurr is for you if:

  1. You are well on your way on the ML 'curve of enlightenment', and are thinking about how to do online scoring

Curve

  1. You self-identify as a data scientist, a data engineer, or an ML engineer. But you believe that these distinctions are temporary. With the right tools, these are all one person. data science, operations, and engineering working together with minimal dependencies is critical to success of production ML efforts.

Blurr is MLOps

Blurr is a collection of components built for MLOps, the Blurr Core library is one of them. Blurr Core ⊆ Blurr

We believe in a world where everyone is a data engineer. Or a data scientist. Or an ML engineer. The lines are blurred (cough). Just like development and operations became DevOps over time

We see a future where MLOps means teams putting together various technologies to suit their needs. For production ML applications, the speed of experimentation and iterations is the difference between success and failure. The BTS helps teams iterate on features faster. The vision for Blurr is to build MLOps components to help ML teams experiment at high speed.

How to build AI culture: go through the curve of enlightenment

Tutorial and Docs

Coming up with features is difficult, time-consuming, requires expert knowledge. 'Applied machine learning' is basically feature engineering --- Andrew Ng

Read the docs

Streaming BTS Tutorial | Window BTS Tutorial

Preparing data for specific use cases using Blurr:

Try Blurr

One way to interact with Blurr is by using a Command Line Interface (CLI). The CLI is used to run blurr locally and is a great way of validating and testing the BTSs before deploying them in production.

$ pip install blurr

Transform data

$ blurr transform \
     --streaming-dtc ./dtcs/sessionize-dtc.yml \
     --window-dtc ./dtcs/windowing-dtc.yml \
     --source file://path

CLI documentation

Contribute to Blurr

Welcome to the Blurr community! We are so glad that you share our passion for building MLOps!

Please create a new issue to begin a discussion. Alternatively, feel free to pick up an existing issue!

Please sign the Contributor License Agreement before raising a pull request.

Data Science 'Joel Test'

Inspired by the (old school) Joel Test to rate software teams, here's our version for data science teams. What's your score?

  1. Data pipelines are versioned and reproducible
  2. Pipelines (re)build in one step
  3. Deploying to production needs minimal engineering help
  4. Successful ML is a long game. You play it like it is
  5. Kaizen. Experimentation and iterations are a way of life

Roadmap

Blurr is currently in Developer Preview. Stay in touch!: Star this project or email hello@blurr.ai

  • Local transformations only
  • Support for custom functions and other python libraries in the BTS
  • Spark runner
  • S3 support for data sink
  • DynamoDB as an Intermediate Store
  • Features server

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

blurr-dev-0.1073.tar.gz (38.9 kB view details)

Uploaded Source

Built Distribution

blurr_dev-0.1073-py3-none-any.whl (52.3 kB view details)

Uploaded Python 3

File details

Details for the file blurr-dev-0.1073.tar.gz.

File metadata

  • Download URL: blurr-dev-0.1073.tar.gz
  • Upload date:
  • Size: 38.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for blurr-dev-0.1073.tar.gz
Algorithm Hash digest
SHA256 11f1dd481c21e7dc2425e6439212f6205eb28fc05ae2a36ebaac39dadff0ccf2
MD5 135fef32074373428317c938f3d6baf6
BLAKE2b-256 e168f2358ce6cd9441be10d6945e25250de10bab062d7bad260df054c9fecdbd

See more details on using hashes here.

File details

Details for the file blurr_dev-0.1073-py3-none-any.whl.

File metadata

File hashes

Hashes for blurr_dev-0.1073-py3-none-any.whl
Algorithm Hash digest
SHA256 db390fd10f09f07b2fd00e540e43adc92563e63ee61488520a28c931ca7106e8
MD5 a074e0e61a63e844cdc7113a54eb6702
BLAKE2b-256 10221a6272e2eef58cf96195b12a49a6d90e0d864dea24afe3f276568ad17a1e

See more details on using hashes here.

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