-この記事はxonshのextension的立ち位置であるxontribを自作し、公開するまでの流れのメモです。1年程前に現存していたxontribを紹介する記事を書きましたが、次は作成者側に回ってみようという旨です。-xontribはxonshの拡張ライブラリ群である。公開されているxontribを導入するには以下のようにライブラリをインストールしロードする。loadをxonshrcに記述しておくことで、xonshセッション起動時にロードすることもできる。1年程前に公開されていた各xontribの紹介は以下記事に記載している。vaaaaaanquish.hatenablog.comxontribはpythonスクリプトもしくはxshスクリプトによって記載されたmoduleで、xontrib以下のnamespaceに配置される。tabcomplete拡張や外部Pythonライブラリのサポート、xonshモジュールのoverride等が作成、公開されており、その作成方法については以下チュートリアルに概要が書かれている。xon.sh本記事はこちらを参考にし、xontribを作成していくものである。-xontribのテンプレートとしてcookiecutterを利用する事ができる。github.com以下コマンドで対話的にライブラリの雛形が作成できる。0.0.1上記cookiecutterコマンドによってsampleディレクトリが作成される。sample.xsh作成した後は、sample.xshを編集するだけである。作成された時点ではsample.xshには内容がないため、以下のように変更する。sample')xontribを読み込んだ時点でstringをoutputするサンプルとなる。loadで読み込んでみる。sampleディレクトリ内にあるsetup.pyを利用する。sampleここから中身を拡充していくだけ。installで導入できるようにpypiに登録する。dirのsetup.pyを利用してパッケージを作成、アップロードする。できるようになる(この記事は解説なので実際にはやってない)。pypiのREADMEや必要な外部ライブラリを定義する最低限以下のようにしておくとなんとかなる。https://github.com/6syun9/xontrib-readable-traceback/blob/master/setup.pyrstじゃなくてmdじゃないとgithubがレンダリングしてくれない場合があるので、私はmdで管理している。xonshのDocumentationに追加してもらう公開されているxontribはxonshのドキュメント上に載せてもらう事ができる。コマンドでも表示されるようになる。requestsを送る必要がある。requestsを作成する。ファイルを作って、更新ログを書くルールになっているのでそちらも追加して終了。-「こういうの作ってみたいなあ...」と思った時に参考にできるよう私のメモとして記載しておく。https://github.com/xsteadfastx/xonsh-docker-tabcomplete/blob/master愚直にコマンドをif-elseで当てる実装になっており、簡単に作る時にはこれで十分だと感じる。https://github.com/DangerOnTheRanger/xonsh-apt-tabcomplete/blob/masterapt-getコマンドの補完をサポートしている。Gitter作者各位とチャットできる。-このメモとGoogleが使えればxontribが作れると思うので、みなさんもxontributerになりましょう。-スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。