Skip to main content

openclean - Data Cleaning for Python

https://img.shields.io/pypi/pyversions/openclean-core.svg https://badge.fury.io/py/openclean-core.svg https://img.shields.io/badge/License-BSD-green.svg https://github.com/VIDA-NYU/openclean-core/workflows/build/badge.svg Documentation Status https://codecov.io/gh/VIDA-NYU/openclean-core/branch/master/graph/badge.svg?token=5TG0P12FO5
openclean Logo

About

openclean is a Python library for data profiling and data cleaning. The project is motivated by the fact that data preparation is still a major bottleneck for many data science projects. Data preparation requires profiling to gain an understanding of data quality issues, and data manipulation to transform the data into a form that is fit for the intended purpose.

While a large number of different tools and techniques have previously been developed for profiling and cleaning data, one main issue that we see with these tools is the lack of access to them in a single (unified) framework. Existing tools may be implemented in different programming languages and require significant effort to install and interface with. In other cases, promising data cleaning methods have been published in the scientific literature but there is no suitable codebase available for them. We believe that the lack of seamless access to existing work is a major contributor to why data preparation is so time consuming.

The goal of openclean is to bring together data cleaning tools in a single environment that is easy and intuitive to use for a data scientist. openclean allows users to compose and execute cleaning pipelines that are built using a variety of different tools. We aim for openclean to be flexible and extensible to allow easy integration of new functionality. To this end, we define a set of primitives and API’s for the different types of operators (actors) in openclean pipelines.

Features

openclean has many features that make the data wrangling experience straightforward. It shines particularly in these areas:

Data Profiling

openclean comes with a profiler to provide users actionable metrics about their data’s quality. It allows users to detect possible problems early on by providing various statistical measures of the data from min-max frequencies, to uniqueness and entropy calculations. The interface is easy to implement and can be extended by python savvy users to cater their needs.

Data Cleaning & Wrangling

openclean’s operators have been created specifically to handle data janitorial tasks. They help identify and present statistical anomalies, fix functional dependency violations, locate and update spelling mistakes, and handle missing values gracefully. As openclean is growing fast, so is this list of operators!

Data Enrichment

openclean seamlessly integrates with Socrata and Reference Data Repository to provide it’s users master datasets which can be incorporated in the data cleaning process.

Data Provenance

openclean comes with a mini-version control engine that allows users to maintain versions of their datasets and at any point commit, checkout or rollback changes. Not only this, users can register custom functions inside the openclean engine and apply them effortlessly across different datasets/notebooks.

Installation

Install openclean from GitHub using pip with:

pip install openclean-core

Usage

We include several example notebooks in this repository that demonstrate possible use cases for openclean. We recommend starting with the documentation or the New York City Restaurant Inspection Results notebook. In that example our goal is to reproduce a previous study from 2014 that looks at the distribution of restaurant inspection grades in New York City. For our study, we use data that was downloaded in Sept. 2019. The example is split into two different Jupyter notebooks:

Other examples along with the datasets are located in the examples’ folder

Documentation

The official documentation is hosted on readthedocs: http://openclean.readthedocs.io/

Contributing

We welcome all contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas.

A detailed overview on how to contribute can be found here.

Metadata

Release files for openclean-core 0.4.1

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

Source distribution (sdist)

Source distribution for openclean-core 0.4.1
File Size Uploaded
openclean-core-0.4.1.tar.gz 195.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openclean-core 0.4.1
File Interpreter ABI Platform
openclean_core-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 462.3 kB

Release files / openclean-core-0.4.1.tar.gz

Download URL openclean-core-0.4.1.tar.gz
Size 195.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2e3ea9084be7722b0acfa4ea8ecfb7a6690342d578d88fe51d8f0e557d5b1574
BLAKE2b-256 checksum
How to use checksums
2bff7bd4972880a739d1cbb307589f6c816fc69a4822576104c4277df9e7a693
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

Release files / openclean_core-0.4.1-py3-none-any.whl

Download URL openclean_core-0.4.1-py3-none-any.whl
Size 267.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
43acbe56c1c1066cd10930cc1cbfc441357302b22df7f7fd244927b7323a5852
BLAKE2b-256 checksum
How to use checksums
e0e41b26102114ede843aa47ffae31ea37185c0a94e44491908f77ab8b303abb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

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