Developpez.com

Le Club des Développeurs et IT Pro

Xonsh : un nouveau shell qui combine Python et les fonctionnalités des shell Bash, zsh et fish,

Est disponible sur Windows, Mac OS X et Linux

Le 2016-06-07 07:19:00, par Coriolan, Expert éminent sénior
Xonsh, un nouveau shell toujours en développement combine le langage de programmation Python avec les caractéristiques propres à Bash et les autres Shell Unix fish et zsh. Considéré comme la couche la plus externe d’un système d’exploitation, le shell (ou interface système) constitue la couche logicielle qui fournit l’interface utilisateur d’un OS.

Xonsh prononcé consh, offre un Shell et une invite de commandes compatibles avec Linux, Windows et Mac OS X. Il compile en Python AST (le travail essentiel d'un compilateur est de transformer un fichier texte en une représentation intermédiaire facilement manipulable. On peut visualiser cette représentation intermédiaire sous forme d'arbre abstrait de syntaxe ou AST en anglais, pour Abstract Syntax Tree). Xonsh est un surensemble de Python 3.4 qui repose sur la bibliothèque standard de Python et l’outil d’analyse syntaxique PLY.

Anthony Scopatz, développeur principal et professeur associé au programme de génie nucléaire à l'Université de Caroline du Sud, a précisé à la conférence de PyCon 2016 à Portland que Xonsh est destiné à être utilisé comme un shell à usage général. « Mais d'autre part, c’est vraiment du Python, donc vous pouvez faire des choses comme additionner deux nombres. », dit-il.

Xonsh est destiné aux experts comme aux novices et offre des propriétés comme l’historique, la coloration syntaxique, l’autosuggestion… et d’autres fonctionnalités plus primitives de Shell comme l’opérateur d’indirection pour chercher les noms de variables.

Le développement de Xonsh a été motivé en partie par le désir de plus de transparence dans le calcul scientifique. Selon Scopatz, les temps de chargement de Xonsh sont encore lents, mais ils seront améliorés par les développeurs.



Source : Pycon

Et vous ?

Qu'en pensez-vous ?
  Discussion forum
10 commentaires
  • Cincinnatus
    Membre expérimenté
    Envoyé par Coriolan
    Xonsh : un nouveau shell qui combine Python et les fonctionnalités des shell Bash, zsh et fish
    il est disponible sur Windows, Mac OS X et Linux

    Xonsh est destiné aux experts comme aux novices et offre des propriétés comme l’historique, la coloration syntaxique, l’autosuggestion… et d’autres fonctionnalités plus primitives de Shell comme l’opérateur d’indirection pour chercher les noms de variables.
    l’autosuggestion… Je connaissais l'autocomplétion, mais là c'est la méthode Coué appliquée à la programmation ??

  • ScriptorTux
    Membre régulier
    Ça a vraiment l'air prometteur
  • daimebag
    Membre du Club
    C'est quoi la différence avec Ipython?
  • zozizozu
    Membre régulier
    C'est quoi la différence avec Ipython?
    Il y a un tableau comparatif sur http://xon.sh/ , moi je vais tester de ce pas °)
  • JPLAROCHE
    Membre expérimenté
    Moi ce qui me fait peur c'est externe au system de Base , par rapport à Bash , certainement beaucoup plus puissant mais pas inclue de base !!! peut-que je me trompe .... je veux dire que si vous avez des problèmes et qu'il faut les ptis doigts de la console ????
  • sdg78
    Candidat au Club
    Je suis sous windows, et utiliser xonsh directement ou sous une commande msdos ne permet pas de faire des commandes bash comme "ls".
    Utiliser Cmder (qu'ils conseillent plutot que msdos) est plus convivial, mais ne le permet pas non plus ces commandes bash.
    Je n'ai pas réussi à le lancer sous cygwin http://xon.sh/windows.html#running-under-cygwin, meme avec le exec comme conseillé, rien n'apparait.
  • wiztricks
    Expert éminent sénior
    Envoyé par sdg78
    Je suis sous windows, et utiliser xonsh directement ou sous une commande msdos ne permet pas de faire des commandes bash comme "ls".
    "ls" n'est pas une commande "bash" (i.e. builtin) mais un exécutable généralement "/bin/ls".

    - W
  • sdg78
    Candidat au Club
    certes mais ce sont ces ensembles d'outils (unix je suppose du coup) comme ls, find, more, echo, grep,... que j'utilise pour coder en bash que j'aimerai retrouver. Si ce n'est "que pour la syntaxe", cela semble d'un intérêt restreint.
  • wiztricks
    Expert éminent sénior
    Envoyé par sdg78
    certes mais ce sont ces ensembles d'outils (unix je suppose du coup) comme ls, find, more, echo, grep,... que j'utilise pour coder en bash que j'aimerai retrouver. Si ce n'est "que pour la syntaxe", cela semble d'un intérêt restreint.
    Il faut chercher cela du côté de GNU Win32 car ce n'est pas dans les fonctionnalités d'un langage de scripting comme Bash, Python, Perl et a fortiori XONSH.

    - W
  • mmsoaihua
    Membre à l'essai
    Il y a pas de français aussi. Je pense c'est mieux rester avec bash ou ipython.