awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
PRQL avatar

PRQL/prql

0
View on GitHub↗
10,703 Stars·252 Forks·Rust·apache-2.0·9 Aufrufeprql-lang.org↗

Prql

PRQL is a functional, modular data transformation language that serves as a compiler for relational data pipelines. It allows developers to write expressive, pipelined queries that are translated into standard SQL dialects. By abstracting complex data manipulation into a readable, sequential syntax, the project enables the construction of maintainable workflows that remain independent of specific database engines.

The language distinguishes itself through a robust compilation infrastructure that performs type validation and relational algebra analysis before generating target-specific code. It supports modular namespace resolution and reusable function definitions, allowing for the creation of complex, hierarchical data projects. Developers can integrate these transformations directly into various programming environments or notebook interfaces, while maintaining the ability to embed raw SQL for specialized database features.

The project provides a comprehensive suite of data manipulation primitives, including support for windowed transformations, conditional logic, and complex aggregations. It also includes diagnostic tools for tracking column lineage and visualizing query transformation flows. The command-line interface facilitates project automation, dependency management, and real-time query previews, while editor-based syntax highlighting and grammar definitions support development productivity.

Features

  • Transpilers - Compiles high-level, functional data transformation pipelines into standard SQL for execution across multiple database engines.
  • Data Transformation Pipelines - Translates a declarative, pipelined syntax into standard database query languages to simplify complex data manipulation logic.
  • Transformation Chains - Processes data by chaining sequential operations where the output of each step flows directly into the next transformation.
  • Data Transformation Languages - Provides a functional, modular language designed to simplify complex data manipulation through sequential pipeline operations.
  • Database Query Translators - Translates expressive query syntax into native SQL dialects while supporting raw SQL embedding.
  • Data Processing Pipelines - Provides a framework for building maintainable data processing workflows that abstract away verbose SQL syntax.
  • Query Translators - Translates high-level data transformation pipelines into native SQL syntax for efficient execution.
  • SQL Query Builders - Translates functional query syntax into optimized database-specific SQL to simplify complex manipulation logic.
  • SQL Dialect Adapters - Maps internal logical representations to specific SQL flavors by applying engine-specific syntax rules and keyword escaping.
  • Function Definitions - Creates reusable logic blocks using a functional syntax that accepts parameters and returns computed values.
  • Data Operation Pipelines - Enables chaining multiple data processing operations into sequential, readable workflows.
  • Analytical Data Engines - Manages complex data transformations and aggregations through reusable functions and hierarchical modules.
  • Data Aggregation Tools - Computes summary statistics across rows by distilling multiple values into single results using functions like sum, count, or average.
  • Interactive Data Exploration Tools - Enables live feedback and rapid iteration during data exploration within notebooks and editors.
  • Query Previewers - Displays generated SQL code in a side-by-side pane while editing queries to provide immediate feedback on transformation logic.
  • Intermediate Representations - Uses a formal logical model to represent data transformations, enabling optimization and analysis before final query emission.
  • Column-Level Lineage Extraction - Generates graphs representing the flow and transformation of data columns to track dependencies and data provenance.
  • Column Transformation - Adds calculated columns to a relation using constants or expressions based on existing column values.
  • Relational Join Engines - Combines rows from multiple relations based on matching criteria using standard join types.
  • Row-wise Transformations - Applies pipelines to segments of rows defined by relative positions or value ranges.
  • Notebook Execution Environments - Enables interactive data transformation scripts within notebook environments for immediate analysis.
  • CLI Productivity Tools - Provides a command-line interface to resolve dependencies, execute scripts, format code, and generate shell completions.
  • Arithmetic Operations - Executes standard arithmetic, trigonometric, and logarithmic operations on data fields to support complex calculations.
  • Conditional Branching - Executes branching operations using case statements to map input values to specific outputs based on defined criteria.
  • Transformation Validators - Enforces schema constraints and data structure integrity during the transformation process before generating executable code.
  • Data Import - Reads data from common file formats like Parquet, CSV, and JSON to integrate local datasets into transformation pipelines.
  • Conditional Row Filters - Restricts rows in a relation by applying conditional logic that evaluates to true or false.
  • Query Parameterization - Supports inserting placeholders into queries to ensure dynamic and secure execution.
  • Query Sorting - Orders query results by specifying columns and directions using a concise syntax for ascending or descending sequences.
  • Raw SQL Execution - Allows embedding raw database-specific SQL statements directly into the query pipeline.
  • Configuration Extensions - Allows users to annotate source code, define reusable transformations, organize modules, and specify language versions.
  • Data Structure and Type Helpers - Enforces type constraints on variables and function parameters to ensure data integrity during compilation.
  • Data Structures - Groups multiple fields or items into structured containers and homogeneous collections to facilitate batch processing.
  • Abstract Syntax Tree Tools - Translates high-level source code into intermediate tree structures for analysis and transformation before final query generation.
  • Namespace Scopes - Organizes code into hierarchical scopes to manage dependencies and resolve variable references across multiple project files.

Star-Verlauf

Star-Verlauf für prql/prqlStar-Verlauf für prql/prql

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Prql

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Prql.
  • mikefarah/yqAvatar von mikefarah

    mikefarah/yq

    14,913Auf GitHub ansehen↗

    This tool is a command-line processor designed for querying, updating, and transforming structured data files. It functions as a versatile engine for manipulating YAML, JSON, TOML, and XML documents, allowing users to perform complex operations directly from the terminal. By utilizing a path-based expression language, it enables precise navigation and modification of data structures within configuration files and infrastructure-as-code workflows. What distinguishes this tool is its ability to perform in-place document mutations while preserving original formatting, comments, and metadata. It

    Gobashclicsv
    Auf GitHub ansehen↗14,913
  • sqlalchemy/sqlalchemyAvatar von sqlalchemy

    sqlalchemy/sqlalchemy

    11,612Auf GitHub ansehen↗

    SQLAlchemy is a comprehensive Python SQL toolkit and object-relational mapper that provides a full suite of tools for interacting with relational databases. It serves as a foundational layer for database connectivity, offering both a high-level object-oriented interface for data persistence and a programmatic SQL expression language for constructing complex, dialect-agnostic queries. The project distinguishes itself through its sophisticated unit of work persistence, which coordinates atomic transactions and tracks object state changes to minimize redundant database operations. It provides a

    Pythonpythonsqlsqlalchemy
    Auf GitHub ansehen↗11,612
  • prestodb/prestoAvatar von prestodb

    prestodb/presto

    16,711Auf GitHub ansehen↗

    Presto is a distributed SQL query engine designed for high-performance analytical processing across heterogeneous data sources. It functions as a data federation platform and massively parallel processing engine, allowing users to execute interactive queries against diverse storage systems without requiring data migration. By mapping remote metadata and structures to a unified relational namespace, it enables seamless cross-platform analysis through a standard SQL interface. The engine distinguishes itself through a pluggable connector architecture and a shared-nothing distributed processing

    Javabig-datadatahadoop
    Auf GitHub ansehen↗16,711
  • pola-rs/polarsAvatar von pola-rs

    pola-rs/polars

    38,855Auf GitHub ansehen↗

    Polars is a high-performance columnar data processing library designed for efficient analytical workflows. It functions as a structured data library that organizes information into typed columns, utilizing the Apache Arrow memory format to enable zero-copy data sharing and cache-friendly, vectorized operations. The engine is built to handle large-scale tabular datasets, providing both local and distributed analytical runtimes that scale from single-machine environments to multi-node clusters. The project distinguishes itself through a sophisticated lazy query engine that constructs abstract e

    Rustarrowdataframedataframe-library
    Auf GitHub ansehen↗38,855
Alle 30 Alternativen zu Prql anzeigen→

Häufig gestellte Fragen

Was macht prql/prql?

PRQL is a functional, modular data transformation language that serves as a compiler for relational data pipelines. It allows developers to write expressive, pipelined queries that are translated into standard SQL dialects. By abstracting complex data manipulation into a readable, sequential syntax, the project enables the construction of maintainable workflows that remain independent of specific database engines.

Was sind die Hauptfunktionen von prql/prql?

Die Hauptfunktionen von prql/prql sind: Transpilers, Data Transformation Pipelines, Transformation Chains, Data Transformation Languages, Database Query Translators, Data Processing Pipelines, Query Translators, SQL Query Builders.

Welche Open-Source-Alternativen gibt es zu prql/prql?

Open-Source-Alternativen zu prql/prql sind unter anderem: mikefarah/yq — This tool is a command-line processor designed for querying, updating, and transforming structured data files. It… sqlalchemy/sqlalchemy — SQLAlchemy is a comprehensive Python SQL toolkit and object-relational mapper that provides a full suite of tools for… prestodb/presto — Presto is a distributed SQL query engine designed for high-performance analytical processing across heterogeneous data… pola-rs/polars — Polars is a high-performance columnar data processing library designed for efficient analytical workflows. It… crystal-lang/crystal — Crystal is a statically typed, compiled programming language designed for high performance and memory safety. It… arktypeio/arktype — Arktype is a TypeScript runtime validation library and schema orchestrator. It synchronizes TypeScript types with…