Skip to main content


Data-refiner is an extensible data processing framework built on PySpark that enables users to build scalable data pipelines by composing reusable operators. With its built-in Operator Marketplace, users can discover, extend, and combine modular data processing components—like assembling LEGO bricks—to solve complex data tasks without writing complex Spark code.

Key Features

  • Composable Pipeline Architecture

    Workflows are built by assembling modular operators. Pipelines can be reused, extended, swapped, or reconfigured to meet different business needs with minimal effort.

  • Reliable Pipeline Execution

    Data-refiner provides built-in pipeline validation, execution management, and error handling mechanisms to improve reliability and simplify large-scale data processing.

  • Extensible Operator Ecosystem

    Data-refiner provides an extensible operator system where users can develop custom operators in Python and share reusable components through the Operator Marketplace.

Quick Start

Before running, make sure your environment is properly configured to run Apache Spark.

Install

uv pip install data-refiner-pyspark
uv run dr_init && uv run dr_pack_resources

Run

import data_refiner
from pathlib import Path
from data_refiner import Runner
from pyspark.sql import SparkSession
spark = (
    SparkSession.builder.master("local[1]")
    .appName("data_refiner")
    .enableHiveSupport()
    .getOrCreate()
)
data_path = Path(data_refiner.__file__).parent / "tests/ops/test_data/mapper/html_content_extract_mapper"
pipeline = {
  "read_whole_text_file": {
    "op_name": "whole_text_file_reader",
    "input_path": f"{str(data_path)}",
    "output_df": "input.df",
  },
  "html_content_extract": {
    "op_name": "html_content_extract_mapper",
    "input_df": "input.df",
    "output_df": "html_extract.df",
    "field": "text",
    "output_field": "content",
  },
  "language_identifier": {
    "op_name": "language_identification_mapper",
    "input_df": "html_extract.df",
    "output_df": "language_identification.df",
    "field": "content",
    "output_field": "language",
    "show": {"truncate":True},
  }
}
Runner.from_dict(pipeline).run(spark=spark)

Operator Market

View the operator market

How to run

Community


👉 Join Discord server to:

  • Ask questions
  • Discuss development
  • Share ideas and feedback
  • New operator requirements

OR email to: sonderbanana@gmail.com

Metadata

Release files for data-refiner-pyspark 1.0.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 data-refiner-pyspark 1.0.0
File Size Uploaded
data_refiner_pyspark-1.0.0.tar.gz 1.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for data-refiner-pyspark 1.0.0
File Interpreter ABI Platform
data_refiner_pyspark-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.2 MB

Release files / data_refiner_pyspark-1.0.0.tar.gz

Download URL data_refiner_pyspark-1.0.0.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
525e4e611c07d9d8c85d9342ba89448918f2f1898842dd43c970808449300d65
BLAKE2b-256 checksum
How to use checksums
ae30c365ffd086e7d0f34e5d98ebadebd430ddcca70de66bd0106e3d4103bf3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / data_refiner_pyspark-1.0.0-py3-none-any.whl

Download URL data_refiner_pyspark-1.0.0-py3-none-any.whl
Size 1.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
6b05b943e17a0c20d6e5569d70da7b5e522c342539e30601dc63782471a255be
BLAKE2b-256 checksum
How to use checksums
7b1db6e5200da3808d82bea2ed6cbae49c44a41587712791e02b22d6b2427980
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

1.0.0 This release

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