prql
prql copied to clipboard
`prql-compiler` name?
I remember this was discussed a while ago, around possibly renaming to prqlc. I don't have a view but wanted to ensure I wasn't dropping something others were expecting.
The others I'm familiar with are rustc and ocamlc (but also ocamlopt), though go is just go IIUC. Any others?
I can understand not just calling it prql given it is more "core" and probably not going to be called directly by many people.
We should ensure the brew references reflect the correct name, whether that's prqlc or prql-compiler. https://github.com/prql/prql/issues/866
I think we need a distinction between:
prql-compiler, which is a library that can be used directly from Rust or via bindings for other languages, andprqlcwhich is the CLI that you can invoke to compile.prqlfiles to.sql. This is the thing that needs a short name.
prql-compiler will probably be split into it's own sub-dependencies (prql-ast for example) so future projects (such as LSP server, database plugins or query execution engine) can utilize only parts that they need.
Great suggestion @aljazerzen . I agree with that.
Where do we currently use prql-compiler name? cargo crate that is the cli?
Where do we currently use
prql-compilername? cargo crate that is the cli?
Yes, and the brew recipe
I see. So to do this, we'd have to
- publish a new crate
prqlc, - rename brew recipe,
- and possibly remove Cli structs from
prql-compilerlibrary crate.
@max-sixty can you do this? It involves GH actions and cargo organization that I don't fully understand. I'm not saying now, just in general.
For sure! Definitely my area
I'm not sure if I'm understanding correctly but I don't think that you have to publish a new crate. You can just rename the binary target in the crate. The prql-query crate is called prql-query but the binary it produces is called pq.
Edit: @snth beat me to it
and possibly remove Cli structs from prql-compiler library crate. publish a new crate
prqlc,
Why split the crates up though? Isn't it simpler to have a single crate? (no strong specific view though)
How does this work then? There is a single crate published and it contains both library you can call from your code and the binary with some other name?
Yes, I think you can do this: https://stackoverflow.com/questions/26946646/package-with-both-a-library-and-a-binary
Edit: This is for the package, I'm not so sure about the published aspect of this.
We currently publish both the library and binary as a single crate — the change would be to the binary name. pq is a good example!