Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【PyCon2019】 Python製シェルXonshの紹介

vaaaaanquish
PRO
September 17, 2019

【PyCon2019】 Python製シェルXonshの紹介

PyCon2019登壇資料です。
https://pycon.jp/2019/sessions

vaaaaanquish
PRO

September 17, 2019
Tweet

More Decks by vaaaaanquish

Other Decks in Technology

Transcript

  1. 【PyCon2019】
    Python製シェルXonshの紹介
    $ M3, inc.
    $ Machine Learning Engineer
    $ Shunsuke Kawai ( @vaaaaanquish )

    View Slide

  2. $ What’s Xonsh ?
    ● Japanese:コンシュ
    ● “Python” + “Shell Script” on Shell
    ● Made by Python
    ○ Cross-platform
    ○ Unix-gazing
    ○ let’s start:pip install xonsh

    View Slide

  3. $ Why Xonsh ?
    ● Shell Scriptで複雑な処理を行いたくない!
    ● Pythonが持つライブラリ等の資源、簡易な構文を活用できる Shell環境が欲しい!
    fish xonsh
     POSIX-compatible Python
    Bourne Shell (sh)

    View Slide

  4. $ Settable by Python
    ● .xonshrc by Python and Shell Script
    ○ $PROMPT
    ○ Key binding
    ○ Completer
     … and more
    ● Override built-in xonsh function by Python

    View Slide

  5. $ Use Python property

    View Slide

  6. $ Q&A Xonsh
    Q1 : 既存のshell scriptは読める?
    A : source_bashコマンドによって概ね使える
    Q2 : 遅くない?
    A : Pythonの起動が遅いためxonshの起動は遅い。
      動作はマシンスペック次第なので設定の勘所あり。
      現在async/await対応中。
    Q3 : Pythonがshellに最適な言語なの?
    A : 最適とは言っていない。
      インタプリタ型言語とshell scriptを混合して資源を活用できているshellという立ち位置。
    Q4 : 開発状況は?
    A : 2019/09/13時点で v0.9.11。いくつかのissueを超えて v1.0.0を予定。

    View Slide

  7. $ Thank you for listening and Xonsh
    ● Refernce
    ○ xonsh document: https://xon.sh/index.html
    ○ v1.0 Tracking issue: https://github.com/xonsh/xonsh/issues/3234
    ○ logo
    ■ bash : https://github.com/odb/official-bash-logo
    ■ zsh: http://zsh.sourceforge.net/
    ■ fish: https://github.com/laughedelic/fish_logo
    ■ ipython : https://ipython.org/
    ■ jupyter: https://github.com/jupyter/design/tree/master/logos
    ■ python: https://www.python.org/community/logos/
    ○ Scopatz - Interview: https://www.johndcook.com/blog/2015/11/15/xonsh/
    ○ Scopatz - PyCon 2016: https://youtu.be/uaje5I22kgE
    ○ Scopatz - podcast: https://www.podcastinit.com/episode-29-anthony-scopatz-on-xonsh/
    ○ Forsyth, Scopatz - Scipy 2019 Tutorial: https://youtu.be/ujo9sbqHFqw

    View Slide