prql

PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement (by PRQL)

Prql Alternatives

Similar projects and alternatives to prql

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better prql alternative or higher similarity.

prql reviews and mentions

Posts with mentions or reviews of prql. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-03.
  • Bring garbage collected programming languages efficiently to WebAssembly
    16 projects | news.ycombinator.com | 3 Nov 2023
    Hi,

    This is off-topic, but we're always looking for compiler people at PRQL (https://prql-lang.org/) to help us build a query language for the next 50 years.

    Come and take a look if that's something that floats your boat: https://github.com/prql/prql

  • Relational is more than SQL
    11 projects | news.ycombinator.com | 16 Sep 2023
    I appreciate the lengthy response.

    I won't address every point here, but a couple of thoughts:

    - To close the syntax point — I opened https://github.com/PRQL/prql/issues/3518. We're currently using the output of the rust's canonical SQL formatter. (so any claim we're obfuscating SQL's syntax is incredulous — do you agree?). I'm open to hand-written examples if SQL doesn't have sufficient auto-formatting tools available.

    - "never answering (what I believed to be) substantive questions regarding extensibility and lowest common SQL denominators" — some of the features are implemented, some aren't, there are issues on GH for by-and-large all of them. Feel free to open other issues if they're not. I don't think there's a duty to respond to every question in every comment on HN, and I certainly don't think losing your composure is an appropriate response to others not answering every question.

    - Many of the answers to your questions are in the docs — for example escape hatches. You don't have to read them to engage, but you could reflect on the irony of making confident claims about a project's "youthful exuberance" without having done so.

    - Stepping back, are these are informed & constructive criticisms, or are they grasps for straw-men as part of a reactionary response. For example, the response takes two phrases from the website out-of-context to load a whole argument on the words "stable" & "standard". But stability & standards can each mean multiple things, and taking the least generous interpretation of a word doesn't make for a reasoned critique. Does a point such as:

        touting itself as a production-ready alternative standard to SQL
    11 projects | news.ycombinator.com | 16 Sep 2023
    I opened an issue on this here: https://github.com/PRQL/prql/issues/3518
    11 projects | news.ycombinator.com | 16 Sep 2023
    [PRQL dev here]

    I strongly think we should have the best examples of SQL to compare against. I've ironically made this complaint for other libraries, so I'm alarmed that folks think we might have done the same.

    We would take a PR for the first example if folks think that's better spacing. (I think the spacing is the only difference?)

    For the second — `USING` isn't fully equivalent to `ON`. There are discussions on GH (https://github.com/PRQL/prql/issues/723) as to which we should compile to. In the meantime, we'd take a PR on anything that is equivalent.

    11 projects | news.ycombinator.com | 16 Sep 2023
    ```

    What's going on here is that I used [s-strings](https://prql-lang.org/book/reference/syntax/s-strings.html) to define custom PRQL functions `get`, `getstr` and `extract` which translate into the underlying `->`, `->>` and `json_extract` SQL constructs.

    You could then for example pipe that query to DuckDB (the example is taken from the following DuckDB blogpost [Shredding Deeply Nested JSON, One Vector at a Time](https://duckdb.org/2023/03/03/json.html)):

    ```sh

    11 projects | news.ycombinator.com | 16 Sep 2023
    So I agree that unperformant SQL is unperformant, but PRQL can _reduce_ the chance of making mistakes there.

    Here's an example [1] of someone reporting that a query engine was far more performant with one SQL construction, and then PRQL changing the SQL we output to use that construction.

    GCC & Clang are much better at compiling to assembly than any person! PRQL isn't there yet, but each improvement scales to everyone who uses it.

    [1]: https://github.com/PRQL/prql/issues/2182

    [Disclaimer: PRQL dev]

  • SQLite 3.43.0 Released
    5 projects | news.ycombinator.com | 24 Aug 2023
    SQL the language has many drawbacks.

    My weapon of choice when using Python is SQLAlchemy; it gives you composability.

    Also, there's https://github.com/PRQL/prql that compiles to SQL.

    5 projects | news.ycombinator.com | 24 Aug 2023
  • PRQL, Pipelined Relational Query Language
    16 projects | news.ycombinator.com | 25 Jul 2023
    For me the examples on the website ([Title](https://prql-lang.org/)) are the biggest selling point for PRQL, in particular the SQL it generates. It looks clean, straightforward, something I would've written myself.

    In general, I like this slightly more careful take on modern database development. 10-15 years people would start a brand new database like Mongo, or Riak, or Influx, or whatever, and would try to convince application developers to select it for new projects. But recently we started getting more conservative options like EdgeDB, TimescaleDB, or even PRQL which all expect us to run Postgres with some addons and / or query preprocessors. Teach like this is so much easier to adopt!

    I'm really liking what Edge folks are doing with schemas and migrations, but I do find PRQL syntax much more intuitive. My application code is littered with data transformation pipelines already: all these map / filter chains in TYpeScript, iterators in Rust, enumerables in Ruby, streams in Java, LINQ in .net, Rx in dozens of languages etc. etc. So the concept is very, very familiar. Getting nice SQL queries out of PRQL that I can store, inspect later, see the query plans, add indices where necessary, is just great. It's such a good tool!

    16 projects | news.ycombinator.com | 25 Jul 2023
    Not quite what you're asking for but DuckDB has both PRQL [1] and Postgres [2] extensions, so you could probably query your Postgres database with PRQL from there.

    There's also a DBeaver plugin [3] which we still need to document better and simplify the usage of but you could potentially also use that to query Postgres with PRQL.

    Finally there is pyprql [4] with which you could query Postgres from a Jupyter notebook.

    [1]: https://github.com/ywelsch/duckdb-prql

    [2]: https://duckdb.org/docs/extensions/postgres_scanner.html

    [3]: https://github.com/PRQL/prql/issues/1643

    [4]: https://github.com/PRQL/pyprql

    (Disclaimer: I'm a PRQL contributor.)

  • A note from our sponsor - #<SponsorshipServiceOld:0x00007f0f9b928e78>
    www.saashub.com | 5 Dec 2023
    SaaSHub helps you find the best software and product alternatives Learn more →

Stats

Basic prql repo stats
92
8,708
0.0
about 13 hours ago

PRQL/prql is an open source project licensed under Apache License 2.0 which is an OSI approved license.

The primary programming language of prql is Rust.

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com