nikkie-ftnextの日記

イベントレポートや読書メモを発信

2/21(土)開催 PyCon mini Shizuoka 2026 にて、リンタの話をします。抽象構文木と戯れましょ〜 #pyconshizu

はじめに

七尾百合子さん、お誕生日 327日目 おめでとうございます! nikkieです。

タイトルが全てです

目次

PyCon mini Shizuoka 2026

2025年2月1に続き、今年も開催

満員御礼!

pycon-shizu.connpass.com

タイムテーブルはコチラ
https://shizuoka.pycon.jp/2026/info

キーノート -> お昼 -> トーク2本並列(4コマ)
今回ブース出展があるからか、ゆったりめです

お昼のお楽しみ

夜や翌日にも!

pycon-shizu.connpass.com

pycon-shizu.connpass.com

Pythonのリンタを作ろう

タイムテーブルから全文確認できます。
https://shizuoka.pycon.jp/2026/info
どんな話をするか手短にお伝えしましょう。

Python には PEP 82 を始めとして「このように書いてはいけません(代わりにこう書きましょう)」という書き方のルールがあります。
プログラミングにおいて一般的に、書き方のルールに沿っているかを指摘するツールがリンタです。
Python には flake8 や、最近は Ruff といったリンタがあります。

リンタを使えば書き方のルールに沿っているかを自動で検出できて便利です。
ルールは1000近くあると思うのですが、そんなにあっても私のプロジェクト固有のルールには足りないこともあります。
そこでこの発表では、リンタのルールを自作する方法をお伝えします

  1. まず Python 製リンタ flake8 のプラグインとしてルールを書きます
  2. 昨今は猫も杓子も Ruff のようですから、プラグインのない Ruff でどうするかも話します
    • Rust を書かない方法
      • ast-grep
    • Rust を書く方法
      • Rust コードを出しますが、ここは雰囲気だけ掴んでいただければ
    • (皆さんはどうしているのか、廊下で色々お話できるといいなと思っています)

リンタのルールを作る話となります(タイトルをミスリーディングにしてしまいました)。
以下を持ち帰っていただけるように話します

  • プロジェクト固有のコーディングスタイルの適用には、リンタを書くという選択肢があることを知る
  • Python でリンタの書き方(標準ライブラリの ast モジュール、デザインパターンの visitor パターン)
  • Ruff にプラグイン機能がない問題にぶつかっている方は、このツールを使ってみようかなと思える

関連エントリ

発表内容の7〜8割はこのブログにあります。
再構成して足りないところを埋めて当日に臨みます!

終わりに

約2週間後、2/21(土)は PyCon mini Shizuoka 2026 です。
flake8 と Ruff についてリントルールを書く話をします。
静岡で僕と握手!🤝

P.S. ごめんなさい、TRUE さん

YouTube で堪能してます。