Herramienta de línea de comandos y lenguaje de consultas, al estilo de jq, para seleccionar, filtrar y transformar archivos Markdown.
01mf02/jaq
Un clon de jq en Rust que prioriza la corrección, la velocidad y la simplicidad, disponible como CLI compatible con jq o como biblioteca.
Alternativa open source a:jq
- Estrellas
- 3,809
- Forks
- 126
- Issues abiertos
- 24
- Último commit
- ayer
¿Qué es?
jaq es un clon de la herramienta de procesamiento de JSON jq, escrito en Rust. Busca ser un reemplazo directo de jq en la línea de comandos y ofrecer una implementación más predecible del lenguaje jq. También admite los formatos de datos YAML, CBOR, TOML y XML, que jq no ofrece.
jaq está disponible en dos formas: un programa de línea de comandos llamado jaq y la biblioteca jaq-core, que compila y ejecuta programas jq desde código Rust. jaq-core se puede usar de forma segura en entornos multihilo y, mediante el trait ValT, funciona con tipos de datos arbitrarios además de JSON.
El proyecto informa que su inicio es más rápido que el de jq, algo importante al procesar muchos archivos pequeños, e incluye una comparación de rendimiento con jq y gojq. El núcleo se ha sometido a una auditoría de seguridad y cuenta con una suite de pruebas de más de 500 pruebas.
Funciones clave
- 01Reemplazo directo de jq en la línea de comandos
- 02Admite los formatos de entrada YAML, CBOR, TOML y XML
- 03Biblioteca jaq-core para ejecutar programas jq en Rust, segura en entornos multihilo
- 04Se puede ampliar para admitir tipos de datos personalizados mediante el trait ValT
- 05Inicio rápido y pruebas de rendimiento frente a jq y gojq
- 06Núcleo auditado en materia de seguridad y cubierto por más de 500 pruebas
Casos de uso
- Reemplazar jq en scripts de shell y pipelines que procesan JSON
- Procesar muchos archivos pequeños, cuando el tiempo de inicio de jq se acumula
- Integrar consultas al estilo jq en una aplicación Rust
Inicio rápido
- 1
Instala jaq desde crates.io con Cargo
cargo install --locked jaq - 2
Instala jaq con Homebrew en macOS o Linux
brew install jaq - 3
O descarga un binario para tu plataforma desde la página de lanzamientos
Antes de usarlo
- jaq no toma medidas contra el agotamiento de recursos, por lo que puede usar tiempo, memoria o espacio de pila de forma ilimitada.
- Algunos comportamientos de jaq difieren de los de jq por diseño, así que la compatibilidad no es completa en todos los casos.
Temas
Preguntas frecuentes
- ¿Qué es jaq?
- Un clon de jq en Rust que prioriza la corrección, la velocidad y la simplicidad, disponible como CLI compatible con jq o como biblioteca. jaq es un clon de la herramienta de procesamiento de JSON jq, escrito en Rust. Busca ser un reemplazo directo de jq en la línea de comandos y ofrecer una implementación más predecible del lenguaje jq. También admite los formatos de datos YAML, CBOR, TOML y XML, que jq no ofrece.
- ¿jaq es gratuito? ¿Qué licencia tiene?
- jaq es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿jaq sigue mantenido?
- Mantenimiento activo. El último commit de jaq fue el 21 oct 2026.
- ¿Para qué puedo usar jaq?
- Reemplazar jq en scripts de shell y pipelines que procesan JSON Procesar muchos archivos pequeños, cuando el tiempo de inicio de jq se acumula Integrar consultas al estilo jq en una aplicación Rust
- ¿Cómo se instala jaq?
- Instala jaq desde crates.io con Cargo: cargo install --locked jaq Instala jaq con Homebrew en macOS o Linux: brew install jaq O descarga un binario para tu plataforma desde la página de lanzamientos
- ¿Dónde consigo jaq?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/01mf02/jaq
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un visor y procesador de JSON para la terminal que permite explorar, plegar y transformar JSON de forma interactiva desde el shell.
Herramienta de línea de comandos escrita en Rust para previsualizar, filtrar, agregar, combinar y transformar archivos CSV y TSV directamente desde la terminal.
Un visor de logs para la línea de comandos que convierte logs JSON y logfmt en texto legible, con filtros, ordenación y seguimiento en tiempo real.
Paquete declarativo de Go para crear herramientas de línea de comandos, con subcomandos, flags, autocompletado de shell y generación de ayuda.
Herramienta CLI y biblioteca de Python que convierten la salida de herramientas de línea de comandos, formatos de archivo y cadenas habituales en JSON, YAML o diccionarios.