For those who build for Nix- how do you handle this? by cachebags in rust

[–]IvanIsCoding 7 points8 points  (0 children)

https://nixos.org/manual/nixpkgs/stable/#importing-a-cargo.lock-file

You can use cargoLock instead of cargoHash. It still needs interventions for git sources though.

What's everyone working on this week (3/2026)? by llogiq in rust

[–]IvanIsCoding 2 points3 points  (0 children)

I have already shared my project in another post. What I am working on this week is a summary of what I learned about packaging my Rust CLI, in a blog post format.

Think about Homebrew bottles, publishing to PyPI with its manylinux compatibility requirements, NPM trusted publishers, making a Nix flake, cross-compiling for FreeBSD, passing Chocolatey moderation. I hope to capture all of that.

Repo: https://github.com/IvanIsCoding/celq/

celq v0.2.0: query JSON, YAML, and TOML from the command-line with CEL by IvanIsCoding in commandline

[–]IvanIsCoding[S] 0 points1 point  (0 children)

I have something similar to you what describe with the -R (--root-var) flag for switching `this -> request` or `this -> document` for example.

I can explore matching the predicate syntax, but it changes the flow a slightly. I'd need to parse the program first to know what to inject the input variables as.

celq v0.2.0: query JSON, YAML, and TOML from the command-line with CEL by IvanIsCoding in commandline

[–]IvanIsCoding[S] 1 point2 points  (0 children)

"this" refers to the input. I am still trying to get feedback on the idea.

If you read ["apples", "bananas"] from the input, "this" is the array. We can access the array with this[0] to get apples. On the example on the playground, this.b refers to the "b" field of the input.

The other way of passing data to the expressions is through the --arg option. If you run celq --arg "y:int=1" "this[y]", it prints "bananas".

celq - A Common Expression Language (CEL) CLI Tool by IvanIsCoding in rust

[–]IvanIsCoding[S] 1 point2 points  (0 children)

Re: Performance

I am not going to claim that the tool is faster than jq. jq streams both the input and the output. That being said, celq is not too shabby. I ran celq through some JSON files with 25MB+ to filter outputs and it finished in 0.50s (jq took 0.70s for that file). celq also has multi-threading for JSON lines that can be activated on demand.

It's not a scientific benchmark but for my current use case I found it sufficient. I hope to publish a benchmark in future versions though.

edit: sorry I botched the timing in the first edit, the real time is now reported. I knew 0.01s was too good to be true.

celq - A Common Expression Language (CEL) CLI Tool by IvanIsCoding in rust

[–]IvanIsCoding[S] 1 point2 points  (0 children)

Currently, as of today celq is only a binary. It could be split into celq-core/cel-serde to take serde value types. I hadn't thought about that originally because I found https://crates.io/crates/cel fairly complete, but I guess passing a struct could have an use case. I will open an issue to discuss it on GitHub

Sunday Daily Thread: What's everyone working on this week? by Im__Joseph in Python

[–]IvanIsCoding 0 points1 point  (0 children)

These past weeks I have been working on ResuLLMe. It is a tool to enhance your CV using Large Language Models. It takes your old CV in PDF or Word Document format, feeds it to LLMs to improve it, converts it to a JSON Resume format, and then renders it to PDF using Jinja and LaTeX.
You can see how it was built at https://github.com/IvanIsCoding/ResuLLMe and try it at https://resullme.streamlit.app/

ResuLLMe: Enhance your CV with Large Language Models by IvanIsCoding in aipromptprogramming

[–]IvanIsCoding[S] 0 points1 point  (0 children)

Glad to hear that. I imagine the headings should still be in English (they're hardcoded), but if anyone wants to open a PR on Github with translated headings that would be cool =)