Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【PyCon2019】 Python製シェルXonshの紹介
Search
vaaaaanquish
September 17, 2019
Technology
6
8.7k
【PyCon2019】 Python製シェルXonshの紹介
PyCon2019登壇資料です。
https://pycon.jp/2019/sessions
vaaaaanquish
September 17, 2019
Tweet
Share
More Decks by vaaaaanquish
See All by vaaaaanquish
エムスリー流!難読クイズを作ってPythonの深淵に触れるコツ! - 技育CAMPアカデミア
vaaaaanquish
1
220
pandasはPolarsに性能面で追いつき追い越せるのか
vaaaaanquish
6
5.8k
Pythonのパッケージ管理の中級者の壁を超える stapy#98
vaaaaanquish
19
21k
Tech LT #4 人を選ぶ技術
vaaaaanquish
3
4.2k
CADDi AI LabにおけるマネージドなMLOps
vaaaaanquish
2
3.4k
RustとCADDi AI LabとML
vaaaaanquish
1
1k
機械学習OSSの変遷と未来
vaaaaanquish
2
4k
文字列(ダジャレを言いシャレ)
vaaaaanquish
1
16k
xonshとかいうshellの話
vaaaaanquish
1
1.8k
Other Decks in Technology
See All in Technology
AIエージェント時代のエンジニアになろう #jawsug #jawsdays2025 / 20250301 Agentic AI Engineering
yoshidashingo
8
3.7k
脳波を用いた嗜好マッチングシステム
hokkey621
0
290
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
170
エンジニアリング価値を黒字化する バリューベース戦略を用いた 技術戦略策定の道のり
kzkmaeda
6
2.7k
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
180
入門 PEAK Threat Hunting @SECCON
odorusatoshi
0
160
Iceberg Meetup Japan #1 : Iceberg and Databricks
databricksjapan
0
370
RemoveだらけのPHPUnit 12に備えよう
cocoeyes02
0
290
Fraxinus00tw assembly manual
fukumay
0
100
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
290
【Findy】「正しく」失敗できる チームの作り方 〜リアルな事例から紐解く失敗を恐れない組織とは〜 / A team that can fail correctly by findy
i35_267
5
880
スキルだけでは満たせない、 “組織全体に”なじむオンボーディング/Onboarding that fits “throughout the organization” and cannot be satisfied by skills alone
bitkey
0
180
Featured
See All Featured
Designing for humans not robots
tammielis
250
25k
How GitHub (no longer) Works
holman
314
140k
Code Reviewing Like a Champion
maltzj
521
39k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
A designer walks into a library…
pauljervisheath
205
24k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
A better future with KSS
kneath
238
17k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Building Your Own Lightsaber
phodgson
104
6.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Transcript
【PyCon2019】 Python製シェルXonshの紹介 $ M3, inc. $ Machine Learning Engineer $
Shunsuke Kawai ( @vaaaaanquish )
$ What’s Xonsh ? • Japanese:コンシュ • “Python” + “Shell
Script” on Shell • Made by Python ◦ Cross-platform ◦ Unix-gazing ◦ let’s start:pip install xonsh
$ Why Xonsh ? • Shell Scriptで複雑な処理を行いたくない! • Pythonが持つライブラリ等の資源、簡易な構文を活用できる Shell環境が欲しい!
fish xonsh POSIX-compatible Python Bourne Shell (sh)
$ Settable by Python • .xonshrc by Python and Shell
Script ◦ $PROMPT ◦ Key binding ◦ Completer … and more • Override built-in xonsh function by Python
$ Use Python property
$ 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を予定。
$ 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