Skip to main content

Build Status Coverage Status Documentation Status

SchemaFlow

This is a a package to write data pipelines for data science systematically in Python. Thanks for checking it out.

Check out the very comprehensive documentation here.

The problem that this package solves

A major challenge in creating a robust data pipeline is guaranteeing interoperability between pipes: how do we guarantee that the pipe that someone wrote is compatible with others' pipe without running the whole pipeline multiple times until we get it right?

The solution that this package adopts

This package declares an API to define a stateful data transformation that gives the developer the opportunity to declare what comes in, what comes out, and what states are modified on each pipe and therefore the whole pipeline. Check out tests/test_pipeline.py or examples/end_to_end_kaggle.py

Install

pip install schemaflow

or, install the latest (recommended for now):

git clone https://github.com/jorgecarleitao/schemaflow
cd schemaflow && pip install -e .

Run examples

We provide one example that demonstrate the usage of SchemaFlow's API on developing an end-to-end pipeline applied to one of Kaggle's exercises.

To run it, download the data in that exercise to examples/all/ and run

pip install -r examples/requirements.txt
python examples/end_to_end_kaggle.py

You should see some prints to the console as well as the generation of 3 files at examples/: two plots and one submission.txt.

Run tests

pip install -r tests/requirements.txt
python -m unittest discover

Build documentation

pip install -r docs/requirements.txt
cd docs && make html && cd ..
open docs/build/html/index.html

Release files for schemaflow 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for schemaflow 0.2.0
File Size Uploaded
schemaflow-0.2.0.tar.gz 13.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for schemaflow 0.2.0
File Interpreter ABI Platform
schemaflow-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 37.4 kB

Release files / schemaflow-0.2.0.tar.gz

Download URL schemaflow-0.2.0.tar.gz
Size 13.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1333fc45a8f6ffb7170e0d803b45bfbfc0d09c1a50380718bfb1fffea2bb931d
BLAKE2b-256 checksum
How to use checksums
9e2e7a630cb63a3f0aa05e30ecb308b29143a4f5706688421781f94421907ad5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.7.0

Release files / schemaflow-0.2.0-py3-none-any.whl

Download URL schemaflow-0.2.0-py3-none-any.whl
Size 23.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
db3f4930ab135176b85ba01067b608959f1bcb6ec64bbcbbe510b3ed73f3983c
BLAKE2b-256 checksum
How to use checksums
3fb378a1499748782bac31bff0208faca37da748839d04805aaf22ef8454ba1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.7.0

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page