20 puntos por GN⁺ 2024-08-19 | 1 comentarios | Compartir por WhatsApp
  • Herramienta que permite consultar y modificar estructuras de datos usando cadenas selectoras
    • Compatible con JSON, YAML, TOML, XML y CSV, y sin dependencias en tiempo de ejecución
    • No hace falta aprender una herramienta nueva para trabajar con distintos formatos de datos
    • Usa una sintaxis estándar de selectores, así que una vez que la aprendes puedes consultar/modificar todos los formatos de datos compatibles
  • Se puede instalar con homebrew, ASDF, scoop, docker, Nix o con binarios compilados de la última versión
    • También admite autocompletado en la terminal
  • Funciones
    • Consultar/seleccionar datos en archivos de datos estructurados
    • Actualizar datos en archivos de datos estructurados
    • Crear archivos de datos
    • Soporte para múltiples formatos/tipos de datos
    • Conversión entre formatos/tipos de datos
    • Uso de una sintaxis estándar de consulta/selectores en todos los formatos de datos
    • Sin dependencias en tiempo de ejecución
    • Disponible en Linux, Mac y Windows
    • Se puede importar y usar en tus propios proyectos
    • Se puede ejecutar mediante Docker
    • Más rápido que jq/yq
    • Hook de pre-commit
  • Playground
    • Ofrece un playground para probar comandos de dasel
    • El código fuente del playground se puede ver en github.com/TomWright/daselplayground
  • Benchmarks
    • Los resultados de las pruebas muestran que dasel es hasta 3 veces más rápido que jq y hasta 15 veces más rápido que yq
    • Se pueden consultar en el directorio de benchmarks

Resumen de GN⁺

  • Dasel es una herramienta que soporta varios formatos de datos y permite consultarlos y modificarlos fácilmente usando una sintaxis estándar de selectores
  • No tiene dependencias en tiempo de ejecución, se puede usar en múltiples plataformas y es más rápida que jq/yq
  • Ofrece varios métodos de instalación y hooks de pre-commit para integrarse fácilmente en el entorno de desarrollo
  • Es útil para proyectos que necesitan convertir entre formatos de datos o trabajar con múltiples formatos
  • Herramientas con funciones similares incluyen jq, yq, entre otras

1 comentarios

 
GN⁺ 2024-08-19
Comentarios en Hacker News
  • Es buena la idea de consultar almacenes de datos no relacionales usando una sintaxis estilo SQL
    • Hace preguntarse si se podrían consultar todos los formatos de almacenamiento de datos con SQL
  • Si prefieres consultas estilo jq, puedes usar qq
  • Se pueden manejar varios formatos usando Nushell
  • Parece que estas herramientas reciben atención cada trimestre
    • Estoy esperando a que la gente muestre o enumere herramientas que soporten sus casos de uso específicos
    • Siempre aprendo mucho
  • Es un gran proyecto, pero hace falta un lenguaje de consulta estandarizado
    • Es difícil internalizar la sintaxis de consultas de jq
    • Si no es un estándar ampliamente adoptado, da poca gana invertir en aprenderlo
    • JMESPath podría ser el camino a seguir
    • gron es intuitivo y se lleva bien con otras herramientas
  • En Go he usado mucho herramientas como esta
    • A veces uno quiere transformar yaml sin parsearlo
    • Poder seleccionar, reemplazar y agregar datos a documentos yaml existentes ayuda mucho en automatización
  • Una herramienta similar para archivos ini
  • Otra lista de herramientas
  • Hace poco tuve experiencia usando JMESPath en AWS
    • Me pregunto qué herramienta de datos estructurados es más fácil de aprender, está mejor documentada y es más rápida de escribir
    • Pregunta si alguien conoce un buen artículo comparativo
    • Sigue usando jq por defecto
  • yq ya hace esa función, pero según el README es lento