@ivaniscoding/celq-linux-arm64 0.2.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -33
- package/bin/celq +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# celq
|
|
2
|
-
[](https://crates.io/crates/celq) [](https://docs.rs/celq) [](https://celq-playground.github.io/) [](https://crates.io/crates/celq) [](https://docs.rs/celq) [](https://celq-playground.github.io/) [](https://rust-lang.github.io/rfcs/2495-min-rust-version.html)
|
|
3
3
|
|
|
4
4
|
**celq** is a command-line tool for evaluating [Common Expression Language (CEL)](https://cel.dev/) expressions. It processes JSON input, performs computations, and outputs results. Think of it as if [jq](https://jqlang.org/) supported CEL.
|
|
5
5
|
|
|
@@ -98,33 +98,6 @@ If you have [cargo-binstall](https://github.com/cargo-bins/cargo-binstall) insta
|
|
|
98
98
|
cargo binstall celq
|
|
99
99
|
```
|
|
100
100
|
|
|
101
|
-
### Python
|
|
102
|
-
|
|
103
|
-
celq is packaged for [PyPI](https://pypi.org/project/celq/). Python users can install it with `pip`:
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
pip install celq
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
If you have [uv](https://github.com/astral-sh/uv) installed, `celq` can be used as a tool:
|
|
110
|
-
```bash
|
|
111
|
-
uvx celq -n '"Hello World"'
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### NPM (Node.js/JavaScript)
|
|
115
|
-
|
|
116
|
-
`celq` is packaged for [NPM](https://www.npmjs.com/package/celq). Node.js users can install celq in their project with:
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
npm install celq
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
This adds celq to `package.json` and makes it available for scripts. It's also possible to run single commands with [npx](https://docs.npmjs.com/cli/v8/commands/npx):
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
npx celq -n '"Hello World"'
|
|
126
|
-
```
|
|
127
|
-
|
|
128
101
|
### GitHub Actions
|
|
129
102
|
|
|
130
103
|
`celq` can be used in GitHub actions. For one-off commands, the [get-celq/celq-action](https://github.com/get-celq/celq-action) is the quickest way:
|
|
@@ -158,6 +131,12 @@ If you are going to use `celq` in scripts or for multiple calls, we recommend us
|
|
|
158
131
|
nix run github:IvanIsCoding/celq -- -n '"Hello World"'
|
|
159
132
|
```
|
|
160
133
|
|
|
134
|
+
By default, Nix fetches the stable version from crates.io. If you want to run the code from HEAD, use the `dev` derivation:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
nix run github:IvanIsCoding/celq#dev -- -n '"Hello World"'
|
|
138
|
+
```
|
|
139
|
+
|
|
161
140
|
See the [installation guide](https://docs.rs/celq/latest/celq/installation_guide) for other Nix setups.
|
|
162
141
|
|
|
163
142
|
### FreeBSD
|
|
@@ -165,24 +144,52 @@ See the [installation guide](https://docs.rs/celq/latest/celq/installation_guide
|
|
|
165
144
|
FreeBSD builds are tested in [Cirrus CI](https://cirrus-ci.org/) and cross-compiled with [Zig](https://github.com/rust-cross/cargo-zigbuild). Although `celq` is not yet in the ports tree, it does publish pre-built binaries:
|
|
166
145
|
|
|
167
146
|
```bash
|
|
168
|
-
VERSION=v0.
|
|
147
|
+
VERSION=v0.3.0
|
|
169
148
|
RELEASE_URL=https://github.com/IvanIsCoding/celq/releases/download/${VERSION}
|
|
149
|
+
PLATFORM=x86_64 # or aarch64
|
|
170
150
|
|
|
171
|
-
fetch ${RELEASE_URL}/celq-freebsd
|
|
151
|
+
fetch ${RELEASE_URL}/celq-freebsd-${PLATFORM}.tar.gz
|
|
172
152
|
|
|
173
|
-
tar xzf celq-freebsd
|
|
153
|
+
tar xzf celq-freebsd-${PLATFORM}.tar.gz
|
|
174
154
|
su root -c 'install -m 755 celq /usr/local/bin/'
|
|
175
155
|
```
|
|
176
156
|
|
|
177
157
|
`celq` can also be installed from source following the [Cargo](#cargo) section. We strive to always compile with the Rust version provided in the ports tree.
|
|
178
158
|
|
|
159
|
+
### NPM (Node.js/JavaScript)
|
|
160
|
+
|
|
161
|
+
`celq` is packaged for [NPM](https://www.npmjs.com/package/celq). Node.js users can install celq in their project with:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
npm install celq
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
This adds celq to `package.json` and makes it available for scripts. It's also possible to run single commands with [npx](https://docs.npmjs.com/cli/v8/commands/npx):
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
npx celq -n '"Hello World"'
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Python
|
|
174
|
+
|
|
175
|
+
celq is packaged for [PyPI](https://pypi.org/project/celq/). Python users can install it with `pip`:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
pip install celq
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
If you have [uv](https://github.com/astral-sh/uv) installed, `celq` can be used as a tool:
|
|
182
|
+
```bash
|
|
183
|
+
uvx celq -n '"Hello World"'
|
|
184
|
+
```
|
|
185
|
+
|
|
179
186
|
## Limitations
|
|
180
187
|
|
|
181
188
|
### Eager JSON Parsing
|
|
182
189
|
|
|
183
190
|
`celq` eagerly parses all JSON input into memory before evaluation. This design was made to simplify the code implementation, at the cost of memory and performance.
|
|
184
191
|
|
|
185
|
-
Currently, there are no benchmarks for `celq`. I believe the tool is "good enough" for my personal use. That might be revisited in the future. In the meantime, expect `celq` to be slower than `jq`.
|
|
192
|
+
Currently, there are no benchmarks for `celq`. I believe the tool is "good enough" for my personal use. That might be revisited in the future. In the meantime, expect `celq` to be slower than `jq`. With that being said, `celq` feels snappy in practice. `celq` glues together Rust parsers that are performant with a CEL engine that strives to be fast.
|
|
186
193
|
|
|
187
194
|
### CEL Implementation Differences
|
|
188
195
|
|
|
@@ -218,7 +225,7 @@ Special thanks to the maintainers of:
|
|
|
218
225
|
|
|
219
226
|
## Large Language Models Disclosure
|
|
220
227
|
|
|
221
|
-
Many commits in this repository were co-authored by LLMs. All commits were guided and reviewed by a human.
|
|
228
|
+
Many commits in this repository were co-authored by LLMs. All commits were guided and reviewed by a human. I tried my best to keep things simple and auditable.
|
|
222
229
|
|
|
223
230
|
All the documentation in the manual has been hand-crafted. That was done to keep the tone of the original author. If you find a typo or a grammar mistake, please send a pull request.
|
|
224
231
|
|
package/bin/celq
CHANGED
|
Binary file
|
package/package.json
CHANGED