Stimulator

機械学習とか好きな技術話とかエンジニア的な話とかを書く

xonsh

Python moduleがない場合に自動でpip installする

- はじめに - この記事は、Xonsh Advent Calendar 2018 - Qiita 10日目の記事です。複数のサーバを業務で利用おり、それぞれのサーバ環境設定のためpythonパッケージもインストールする作業が必要だが、別サーバからpip freezeするほどでもない(ちょっとした…

macOSの通知リストをpython経由で取得しShellに流す

- はじめに - macOSを使っていると、通知(Notifications)に色んな情報が集約される。 メールが来ただのSlackの更新だの、アプリのアップデート等がそれにあたる。 「OS通知を定期的に取得してシェルのbottom barとかに表示してやれば、作業中でも社内チャッ…

ptk1.xから2.xへの変更を選択コマンド実装から学ぶ

- はじめに - この記事は、Xonsh Advent Calendar 2018 - Qiitaの5日目の記事です。 前年度、Xonsh Advent Calendar 2017 - Qiitaにおいて、私は以下のような2つの記事を投稿しています。 Python Prompt Toolkitで対話的な選択コマンドを作る - Stimulator P…

xonshの2018年の歩み

- はじめに - この記事は、Xonsh Advent Calendar 2018 - Qiitaの1日目の記事です。 1日目という事ですので、2018年を振り返ってxonshにどんな動きがあったかの簡単な振り返りです。 私は社内チャットにおいても #xonsh なるxonshの情報を発信する部屋を運用…

xonshにおけるpexpectを利用した対話コマンド自動化

- はじめに - shellでsshのパスワード入力などの対話行動を自動化するには、expectコマンドを使うのが一般的である。対して、xonshではPythonの記述やパッケージの利用が可能となる。本記事は、pythonを利用しながら筆者が利用しているssh周りのコードを例に…

Python製シェルxonshを半年使った所感や環境設定のまとめ

- はじめに - Pythonにおけるpython-prompt-toolkit(以下ptk)を使って作られたシェルである「xonsh」を同僚にオススメされて、大体半年くらい使ったので設定とかxontribとか所感を晒していく。前半でxonshのメリット、デメリットの概要を記載し、後半に自身…

Pythonでyahoo画像検索した結果をimgcatに流して表示してURLをクリップボードにコピーするやつ

- はじめに - 近年では、チャットツールの発展が睦まじく、グループ内、企業内においてもチャットツールによるコミュニケーションが盛んとなっている。チャットツールでのコミュニケーションにおいて欠かせないのが、画像によるハイコンテクストなやり取りで…

xonshのPROMPTにdatetimeを表示する

- はじめに - xonshで作業をしているとつい時間を忘れてしまうので、時間を表示してやるメモ。POWERLINEで良くみるやつをxonshrcで実装。 - timeを表示する - コンソール上の右側に表示するにはこんな感じ from time import strftime $RIGHT_PROMPT = lambda…

Xonshのconfigを書く

- はじめに - //------------------------ 追記 2018/06/22:以下の通り、config.jsonはサポートされなくなり、xonshrcになりました。 WARNING! old style configuration (/Users/xxx/.config/xonsh/config.json) is no longer supported. Please migrate to…

Pythonモジュールの遅延import

- はじめに - この記事は、Xonsh Advent Calendar 2017 - Qiita 18日目の記事です。Pythonのmoduleのloadを実際に利用する前に遅延してやろうというTipsです。加えて、xonshのxonshrcに記載する事で、xonshの起動も早くしようという話を書いています。 アジ…

PythonでHatenaブックマークのホットエントリを取得して表示する

- はじめに - この記事は、Xonsh Advent Calendar 2017 - Qiita 25日目最終日の記事です。本記事では、PythonスクリプトでHatenaブックマークのホットエントリのリストを取得、xonshへ表示する内容を記載します。追記:2018/11/23 ptk 2.xでは、本記事のコー…

Python Prompt Toolkitで対話的な選択コマンドを作る

- はじめに - この記事は、Xonsh Advent Calendar 2017 - Qiita 23日目の記事です。遅れ気味ですが、Python Prompt Toolkit (以下、ptk)を利用して、対話型のセレクタ(上下矢印で回答を選択できるやつ)を作りたいなと思います。名前が分からないんですが、se…

xonshのCore Eventsまとめ

- はじめに - この記事は、Xonsh Advent Calendar 2017 - Qiita 16日目の記事です。前日のxonshのExceptionを見やすくする記事で手こずって遅れ気味です。本記事では、Xonshの大事なCore Eventsについてまとめます。 アジェンダ - はじめに - - xonshのCore …

XonshのException発生時のtracebackを見やすくする

- はじめに - この記事は、Xonsh Advent Calendar 2017 - Qiita 15日目の記事です。完全に遅刻しています。3日間xonsh本家のコードを読みながら「あーでもないこーでもない」とやっており遅れました。結論を先に述べてから、後半でその経緯も話します。 Xont…

xonshにおけるxontribの紹介

- はじめに - この記事は、Xonsh Advent Calendar 2017 - Qiita 14日目の記事です。xonshにおけるいわゆる拡張機能であるところのxontribについて書いていきます。「オススメXontrib!」と行きたい所ですが、そもそも2017年末時点で公開されているxontribは…

xonshrcを書く

- はじめに - この記事は、Xonsh Advent Calendar 2017 - Qiitaの9日目の記事です。1日目にXonshを勧める記事を書いて「アドベントカレンダーでxonshrcのオススメ設定が出揃う」と言ったものの、なかなかそれらしい記事が出てこないので書いておきます。 Pyt…

xonshの過去のコマンド履歴を可視化する

- はじめに - この記事は、Xonsh Advent Calendar 2017 - Qiitaの6日目の記事です。せっかくxonshではMatplotlibが使えたりするので、Command履歴の分析等の補助をする関数を書いてメモしておきたいと思います。 - xonshのhistory - xonshの過去の入力履歴は…

Xonshでmatplotlibグラフをコンソールにインライン描画してメモリ状況を観察する

- はじめに - この記事はXonsh Advent Calendar 2017 4日目の記事です。Xonshの中にはxontribというメソッド群が存在します。 その中のmplhooksは、画像の描画をサポートしてくれます。本記事では以下について記述します xontrib.mplhooksを利用したxonshコ…

Pythonistaに贈るXonshのススメ

- はじめに - この記事は Xonsh Advent Calendar 2017 1日目 の記事です。タイトルが煽りです。なんとなく贈るという単語が12月っぽいです。内容は、Pythonで動くShellである「xonsh」の勧めを書く記事です。 追記2018/06/25:xonshの設定に関する記事を書き…