Introduction à Dasel

Dasel, abréviation de « data-selector », est un outil puissant qui permet d’interroger et de modifier des structures de données à l’aide de chaînes de sélection. Il se distingue par sa capacité à gérer divers formats de données tels que JSON, YAML, TOML, XML et CSV, tout en n’ayant aucune dépendance d’exécution.

Un outil polyvalent

Fini le temps où il fallait apprendre de nouveaux outils pour chaque format de données. Dasel utilise une syntaxe de sélection standardisée, quel que soit le format de données. Cela signifie qu’une fois que vous maîtrisez Dasel, vous pouvez immédiatement interroger et modifier n’importe quel type de données pris en charge, sans avoir besoin d’outils supplémentaires.

Table des matières

  • Introduction à Dasel
  • Un outil polyvalent
  • Démarrage rapide
  • Fonctionnalités
  • Documentation
  • Playground
  • Benchmarks
  • Pré-commit

Démarrage rapide

Dasel est facilement accessible via plusieurs gestionnaires de paquets tels que Homebrew, ASDF, Scoop, Docker, Nix, ou encore sous forme de binaires compilés à partir de la dernière version. Pour les développeurs, il est également possible d’installer une version de développement avec la commande suivante :

go install github.com/tomwright/dasel/v2/cmd/dasel@master

Fonctionnalités

Dasel se distingue par sa flexibilité et sa simplicité d’utilisation. Il permet non seulement d’interroger des données, mais aussi de les modifier de manière efficace. Par exemple, vous pouvez facilement extraire des informations spécifiques d’un fichier JSON complexe ou mettre à jour des valeurs dans un document YAML sans effort supplémentaire.

Documentation et Playground

Pour ceux qui souhaitent approfondir leurs connaissances, la documentation complète de Dasel est disponible en ligne. De plus, un environnement de test interactif, ou « playground », permet aux utilisateurs d’expérimenter avec les commandes et de voir les résultats en temps réel, facilitant ainsi l’apprentissage.

Benchmarks et performances

Les performances de Dasel sont impressionnantes, avec des benchmarks qui montrent sa rapidité et son efficacité par rapport à d’autres outils similaires. Cela en fait un choix idéal pour les développeurs qui travaillent avec de grandes quantités de données et qui ont besoin d’un outil fiable et performant.

Conclusion

Dasel est un outil incontournable pour quiconque travaille avec des données dans divers formats. Sa capacité à unifier la syntaxe de sélection et à fonctionner sans dépendances en fait un choix pratique et efficace pour les développeurs modernes.

« `markdown

Installation de Dasel

Pour installer Dasel, exécutez la commande suivante :

go install github.com/tomwright/dasel/v2/cmd/dasel@master

Pour plus de détails, consultez la documentation d’installation.

Choisir des données

Pour sélectionner des données dans un fichier JSON, utilisez la commande suivante :

echo '{"name": "Tom"}' | dasel -r json 'name'

Pour plus d’informations, référez-vous à la documentation de sélection.

Conversion de JSON à YAML

Pour convertir un fichier JSON en YAML, vous pouvez utiliser :

echo '{"name": "Tom"}' | dasel -r json -w yaml

Consultez la documentation pour plus de détails sur la sélection.

Modification de données

Pour mettre à jour une valeur dans un fichier JSON, utilisez :

echo '{"name": "Tom"}' | dasel put -r json -t string -v '[email protected]' 'email'

Pour plus d’informations, consultez la documentation sur la mise à jour.

Suppression de données

Pour supprimer une entrée d’un fichier JSON, utilisez :

echo '{"email": "[email protected]", "name": "Tom"}' | dasel delete -r json '.email'

Pour plus de détails, référez-vous à la documentation de suppression.

Complétion dans le terminal

Pour activer la complétion dans le terminal, ajoutez ce qui suit à votre fichier ~/.zshrc et rechargez votre terminal :

export fpath=(~/zsh/site-functions $fpath)
mkdir -p ~/zsh/site-functions
dasel completion zsh > ~/zsh/site-functions/_dasel
compinit

Pré-commit

Ajoutez des hooks dasel à votre fichier .pre-commit-config.yaml :

- repo: https://github.com/TomWright/dasel
  rev: v1.25.1
  hooks:
    - id: dasel-validate

Pour une exécution native de dasel, ou utilisez :

  • dasel-validate-docker pour exécuter dasel avec les images Docker officielles.
  • dasel-validate-bin pour exécuter dasel avec le binaire officiel.

Problèmes et Discussions

Les discussions sont activées sur ce dépôt. Pour clarifier où communiquer, voici quelques indications :

Veuillez signaler un problème si :

  • Vous découvrez un bug.
  • Vous avez une demande de fonctionnalité clairement définie.

Ouvrez une discussion si :

  • Vous avez une question.
  • Vous n’êtes pas sûr de la manière d’utiliser dasel.
  • Vous avez une idée mais ne savez pas comment la mettre en œuvre.
  • Vous avez réalisé quelque chose d’intéressant avec dasel et souhaitez le partager.
  • Tout autre sujet !

Fonctionnalités

  • Interroger et sélectionner des données à partir de fichiers structurés.
  • Mettre à jour des données dans des fichiers structurés.
  • Créer des fichiers de données.
  • Supporte plusieurs formats/types de données.
  • Convertir entre différents formats/types de données.
  • Utilise une syntaxe de requête/ sélecteur standardisée pour tous les formats de données.
  • Aucune dépendance d’exécution requise.
  • Compatible avec Linux, Mac et Windows.
  • Peut être importé et utilisé dans vos propres projets.
  • Exécution via Docker.
  • Plus rapide que jq/yq.
  • Hooks de pré-commit disponibles.

Documentation

La documentation officielle de Dasel est accessible à l’adresse daseldocs.tomwright.me.

Environnement de test

Vous pouvez tester les commandes dasel dans un environnement de test.

Le code source de cet environnement est disponible sur github.com/TomWright/daselplayground.

Performances

Selon mes tests, Dasel est jusqu’à 3 fois plus rapide que jq et 15 fois plus rapide que yq.

« `

Évolution des Observateurs d’Étoiles

Consultez le répertoire des références.

Évolution des Observateurs d'Étoiles

Show Comments (0)
Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *