20 Punkte von GN⁺ 2024-08-19 | 1 Kommentare | Auf WhatsApp teilen
  • Ein Tool, mit dem sich Datenstrukturen per Selektor-String abfragen und bearbeiten lassen
    • Unterstützt JSON, YAML, TOML, XML und CSV und hat keine Laufzeitabhängigkeiten
    • Man muss kein neues Tool lernen, um mit verschiedenen Datenformaten zu arbeiten
    • Mit einer standardisierten Selektor-Syntax kann man nach einmaligem Lernen alle unterstützten Datenformate abfragen/bearbeiten
  • Installation möglich über homebrew, ASDF, scoop, docker, Nix oder als kompilierte Binärdatei aus dem neuesten Release
    • Unterstützt auch Terminal-Autovervollständigung
  • Features
    • Daten in strukturierten Datendateien abfragen/auswählen
    • Daten in strukturierten Datendateien aktualisieren
    • Datendateien erstellen
    • Unterstützung für mehrere Datenformate/-typen
    • Konvertierung zwischen Datenformaten/-typen
    • Standardisierte Abfrage-/Selektor-Syntax in allen Datenformaten verwenden
    • Keine Laufzeitabhängigkeiten
    • Verfügbar für Linux, Mac und Windows
    • Kann in eigene Projekte importiert und dort verwendet werden
    • Ausführbar über Docker
    • Schneller als jq/yq
    • Pre-commit-Hooks
  • Playground
    • Bietet einen Playground zum Testen von dasel-Befehlen
    • Der Quellcode des Playgrounds ist unter github.com/TomWright/daselplayground einsehbar
  • Benchmarks
    • Testergebnisse zeigen, dass dasel bis zu 3-mal schneller als jq und bis zu 15-mal schneller als yq ist
    • Im Benchmark-Verzeichnis einsehbar

Zusammenfassung von GN⁺

  • Dasel ist ein Tool, das viele verschiedene Datenformate unterstützt und mit einer standardisierten Selektor-Syntax einfaches Abfragen und Bearbeiten ermöglicht
  • Es hat keine Laufzeitabhängigkeiten, ist auf mehreren Plattformen verfügbar und schneller als jq/yq
  • Mit verschiedenen Installationsmethoden und Pre-commit-Hooks lässt es sich leicht in Entwicklungsumgebungen integrieren
  • Es ist nützlich für Projekte, in denen Konvertierungen zwischen Datenformaten nötig sind oder mehrere Datenformate verarbeitet werden
  • Ähnliche Tools mit vergleichbarer Funktionalität sind jq, yq usw.

1 Kommentare

 
GN⁺ 2024-08-19
Hacker-News-Kommentare
  • Die Idee, nicht relationale Datenspeicher mit einer SQL-ähnlichen Syntax abzufragen, ist gut
    • Man fragt sich, ob sich alle Datenspeicherformate mit SQL abfragen lassen
  • Wenn man Abfragen im jq-Stil bevorzugt, kann man qq verwenden
  • Mit Nushell lassen sich verschiedene Formate verarbeiten
  • Es scheint, als bekämen solche Tools jedes Quartal Aufmerksamkeit
    • Man wartet darauf, dass Leute Tools zeigen oder auflisten, die ihre speziellen Anwendungsfälle unterstützen
    • Man lernt immer viel dazu
  • Tolles Projekt, aber es braucht eine standardisierte Abfragesprache
    • Es ist schwer, die jq-Abfragesyntax zu verinnerlichen
    • Wenn es kein breit akzeptierter Standard ist, investiert man nur ungern Zeit ins Lernen
    • JMESPath könnte der richtige Weg nach vorn sein
    • gron ist intuitiv und funktioniert gut mit anderen Tools zusammen
  • In Go hat man solche Tools häufig verwendet
    • Manchmal möchte man yaml nur transformieren, ohne es zu parsen
    • Die Möglichkeit, in bestehenden yaml-Dokumenten Daten auszuwählen, zu ersetzen und hinzuzufügen, hilft enorm bei der Automatisierung
  • Ein ähnliches Tool für ini-Dateien
  • Noch eine weitere Tool-Liste
  • Kürzlich gab es Erfahrungen mit JMESPath bei AWS
    • Man fragt sich, welches Tool für strukturierte Daten leichter zu lernen, besser dokumentiert und schneller zu schreiben ist
    • Es wird gefragt, ob jemand einen guten Vergleichsartikel kennt
    • jq wird weiterhin als Standard verwendet
  • yq erfüllt diese Funktion bereits, ist laut README aber langsam