Announcing the Beta release of ty

2025/12/17 5:52

Announcing the Beta release of ty

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

ty は、Rust で書かれた超高速 Python 型チェッカーおよび言語サーバーで、mypy、Pyright、および Pylance の代替として位置付けられています。ベンチマークでは既存ツールより 10〜60 倍速いことが示されており、大きなファイルを編集した後の診断更新はわずか 4.7 ms と、Pyright の 386 ms や Pyrefly の 2.38 s よりもはるかに高速です。
Astral(uv および Ruff を開発している会社)によって開発された ty は、すでに社内で使用されており、モチベーションのあるユーザーを本番環境で試してもらうために Beta バージョンとしてリリースされています。MIT ライセンス下でオープンソース化され、Astral のコアチームと数十人の貢献者によって構築されており、Python が動作する任意のプラットフォーム(ブラウザを含む)で実行可能です。
アーキテクチャは「インクリメンタリティ」を中心に設計されており、ファイルや関数が変更されたときに選択的な再計算を可能にし、その結果として驚異的に高速なライブアップデートを実現しています。ty はさらに、ファーストクラスの交差型、洗練された型狭窄、および到達性分析などの高度な型チェック機能も提供し、より正確なフィードバックを可能にします。その診断システムは Rust コンパイラからインスピレーションを得ており、複数ファイルからコンテキストを引き出し、修正案を提案する明瞭なエラーメッセージを提供します。
VS Code 拡張機能(および任意の LSP 対応エディタ)は、定義へのジャンプ、シンボル名変更、自動補完、自動インポート、意味的構文ハイライト、Inlay ヒントなど、すべての標準言語サーバー機能をサポートします。
Beta 後の作業は安定性とバグ修正に焦点を当て、Python 型付け仕様の完成、および Pydantic や Django などのライブラリへのファーストクラスサポートの追加を目指します。安定版は来年リリースする予定です。長期的な目標としては、Astral のツールチェーン全体(未使用コード除去、未使用依存関係検出、SemVer アップグレード強制、CVE 到達性分析、型感知 linting)にわたる意味論的機能を提供することが挙げられます。発表では、広範な Python 型付けコミュニティの多くの開発者と協力者からの貢献が大きいことが認められています。

本文

TL;DR
tyはRustで書かれた極めて高速なPython型チェッカーおよび言語サーバーです。mypy、Pyright、Pylanceなどのツールをそのまま置き換えることが想定されています。

発表

本日 ty Beta をリリースします。

  • すべての社内プロジェクトは現在 ty のみで動作しています。
  • 本番レベルのパフォーマンスを求める意欲的なユーザーにおすすめします。

Astralについて

Astral は Python エコシステム向けに高性能開発ツールを構築しています:

ツール説明
uvPython パッケージマネージャー
RuffLinter とフォーマッタ

ty はこのチェーンの次世代ツールであり、Rust ベースの高速型チェッカーおよび言語サーバーです。

なぜ ty なのか?

  • パフォーマンス – キャッシュ無しでも、ty は mypy や Pyright より10〜60倍速い。エディタ上ではさらに早く、PyTorch リポジトリの大きなファイルを編集した後に ty が診断を再計算するのは 4.7 ms、対して Pyright は 386 ms、Pylance は 2.38 s。
  • 正確性と使い勝手 – 第一級インターセクション型、高度な型絞り込み、洗練された到達可能性解析により誤検知を抑えつつ正確なフィードバックを提供します。
  • オープンソース – MIT ライセンスで公開されており、コアチームと数十人の貢献者によって構築されています。Python が動くどこでも実行可能です(ブラウザも含む)。

主な機能

機能説明
インクリメンタルアーキテクチャファイルが変更されたときに必要な計算だけを再実行します。
診断システムRust コンパイラのメッセージを模倣し、複数ファイルからコンテキストを取得してエラーを説明し、修正案を提示します。
エディタサポートVS Code 拡張機能と LSP 互換で「定義へジャンプ」「名前変更」「補完」「インポート」「シンタックスハイライト」「インレイヒント」などが利用可能です。

ロードマップ

  • Beta – 安定性向上、バグ修正、および Python 型仕様の拡張に注力します。
  • Stable(来年) – Pydantic、Django など人気ライブラリへの第一級サポートを追加します。
  • 長期 – Astral 全体でセマンティック機能を強化:デッドコード除去、未使用依存関係検出、SemVer アップグレード制御、CVE 到達可能性解析、型感知 linting など。

感謝の言葉

ty は私たちが構築した中で最も洗練された製品です。型理論、Python ランタイムセマンティクス、実際の利用パターンに関する深い知識が不可欠でした。貢献いただいた皆様に感謝します:

  • コアチーム:Alex, Andrew, Aria, Carl, David, Dhruv, Doug, Ibraheem, Jack, Micha
  • 主な貢献者(抜粋):Douglas Creager, Alex Waygood, David Peter, Micha Reiser, Andrew Gallant, Aria Desires, Carl Meyer, Zanie Blue, Ibraheem Ahmed, Dhruv Manilawala, Jack O'Connor, Zsolt Dollenstein, Shunsuke Shibayama, Matthew Mckee, Brent Westbrook, UnboundVariable, Shaygan Hooshyari, Justin Chapman, InSync, Bhuminjay Soni, Abhijeet Prasad Bodas, Rasmus Nygren, lipefree, Eric Mark Martin, Tomer Bin, Luca Chiodini, Brandt Bucher, Dylan Wilson, Eric Jolibois, Felix Scherz, Leandro Braga, Renkai Ge, Sumana Harihareswara, Takayuki Maeda, Max Mynter, med1844, William Woodruff, Chandra Kiran G, DetachHead, Emil Sadek, Jo, Joren Hammudoglu, Mahmoud Saada, Manuel Mendez, Mark Z. Ding, Simon Lamon, Suneet Tipirneni, Francesco Giacometti, Adam Aaronson, Alperen Keleş, charliecloudberry, Dan Parizher, Daniel Hollas, David Sherret, Dmitry, Eric Botti, Erudit Morina, François‑Guillaume Fernandez, Fabrizio Damicelli, Guillaume-Fgt, Hugo van Kemenade, Josiah Kane, Loïc Riegel, Ramil Aleskerov, Samuel Rigaud, Soof Golan, Usul‑Dev, decorator‑factory, omahs, wangxiaolei, cake‑monotone, slyces, Chris Krycho, Mike Perlov, Raphael Gaschignard, Connor Skees, Aditya Pillai, Lexxxzy, haarisr, Joey Bar, Andrii Turov, Kalmaegi, Trevor Manz, Teodoro Freund, Hugo Polloli, Nathaniel Roman, Victor Hugo Gomes, Nuri Jung, Ivan Yakushev, Hamir Mahal, Denys Zhak, Daniel Kongsgaard, Emily B. Zhang, Ben Bar‑Or, Aleksei Latyshev, Aditya Pratap Singh, wooly18, Samodya Abeysiriwardane, Pepe Navarro。
    特に Salsa チーム(Niko Matsakis、David Barsky、Lukas Wirth)、Elixir チーム(José Valim、Giuseppe Castagna、Guillaume Duboc)および広範な Python 型コミュニティ(Eric Traut、Jelle Zijlstra、Jia Chen、Sam Goldman、Shantanu Jain、Steven Troxler)の皆様に感謝します。

始め方:

uv tool install ty@latest

または VS Code 拡張機能をインストールしてください。

私たちと共に構築してくださった皆様に感謝いたします。Python を地球上で最も生産的なプログラミングエコシステムにすることを目指し、ty はユーザーとの密接な協力の中で毎週進化していきます。

同じ日のほかのニュース

一覧に戻る →

2025/12/18 1:42

Gemini 3 Flash: Frontier intelligence built for speed

## Japanese Translation: > **概要:** > Google は、低コストで高速な AI モデル Gemini 3 Flash をリリースしました。これは Flash レベルのレイテンシーでプロ級の推論性能を提供します。Gemini アプリと Search の AI Mode では既にデフォルトエンジンとなり、Gemini 2.5 Flash は世界中で追加料金なしで即座に置き換えられます(Gemini 3 Pro が公開された直後)。ベンチマーク結果では、GPQA Diamond で 90.4 %、Humanity’s Last Exam(ツール無し)で 33.7 %、MMMU Pro で 81.2 %、SWE‑bench Verified で 78 % を獲得し、より大きなフロンティアモデルを上回ります。Gemini 3 Flash は Gemini 2.5 Pro より約30 %少ないトークン数で同等以上の性能を発揮します。価格は入力トークンあたり 0.50 USD、出力トークンあたり 3 USD(音声入力は 1 USD/百万トークン)です。JetBrains、Bridgewater Associates、Figma など多くの企業がこのモデルを活用し、コーディング、データ分析、設計ワークフローの高速化に役立てています。開発者は Gemini API(Google AI Studio)、Antigravity、Gemini CLI、Android Studio、Vertex AI、および Gemini Enterprise を通じて Gemini 3 Flash にアクセスできます。このモデルは Gemini アプリと Search 経由で全ユーザーへ展開されるほか、プレビュー API でも利用可能です。

2025/12/18 6:13

I got hacked: My Hetzner server started mining Monero

## Japanese Translation: ヘツナー VPS 上で Coolify をホストし、Next.js ベースの Umami アナリティクスを含む複数コンテナを実行していた。12 月 7 日に、Umami コンテナ内に Monero マイニングボット(`javae`/`xmrig`)が出現し、CPU スパイクが約 15 倍に増大した。著者はマイナーをコンテナに追跡し、CVE‑2025‑66478 ― Next.js の React Server Components “Flight” プロトコルにおける不安全なデシリアライゼーション(Puppeteer を介さずリモートコード実行が可能)を特定した。HTTP リクエストを巧妙に作成することで RCE が発動し、マイナーがインストールされた。ホストファイルシステムのチェック(`/tmp/.XIN-unix/javae`)ではエスケープは確認できず、コンテナは非 root の `nextjs` ユーザーとして実行され、特権モードやボリュームマウントも無いため、すべての悪意あるプロセスは名前空間内に留まった。 著者は侵害されたコンテナを停止・削除し、CPU 負荷を通常状態へ戻した。UFW をデフォルトで受信トラフィックを拒否するよう設定し、SSH、HTTP、および HTTPS のみ許可することで、オープンな PostgreSQL / RabbitMQ ポートを効果的に遮断した。ヘツナーは 2025‑12‑17 にネットワークスキャン検知後、アブズケース警告を送付し、著者が侵害と対策を説明するとともにチケットはクローズされた。 重要な教訓として、十分に隔離されているコンテナでも基盤フレームワークに脆弱性がある場合は突破可能であり、「Next.js を使っていない」状態が第三者ツールの依存関係によって偽りになるケースがあることを指摘した。この事例は、ファイアウォールルール、非 root ユーザー設定、特権モード無し、監視・ fail2ban の導入、およびタイムリーなパッチ適用という防御層の重要性を強調した。 ## 行動計画 - Umami を廃止する - すべてのコンテナに対してユーザー権限とマウントを監査する - SSH アクセスを強化し、アラートを設定する - セキュリティパッチを定期的に適用し、将来のインシデントを防止する ---

2025/12/18 3:15

How SQLite is tested

## Japanese Translation: > **SQLiteのテストインフラは網羅的で、コードベース全体にわたって完全な分岐カバレッジを実現しています。** > プロジェクトには約155.8 KSLOCのCソースがありますが、テストコードは92 M KSLOC以上――約590倍の量――で、すべての行が実行されることを保証しています。4つの独立したハーネスがカバレッジを提供します: > • **TCL**(27.2 KSLOC、1,390個のスクリプトファイル)で51,445件の異なるケースと数百万回の実行があります; > • **TH3**(1,055.4 KSLOC、約76.9 MBのバイナリ)で50,362件の異なるケース、完全カバレッジに必要な2.4 Mインスタンス、および約248.5 Mテストを実行するソークテストがあります; > • **SQL Logic Test (SLT)** はSQLiteとPostgreSQL、MySQL、MS SQL Server、Oracle 10gを比較し、7.2 Mクエリと1.12 GBのデータで検証します; > • **dbsqlfuzz**(libFuzzerベース)はSQLとデータベースファイルの両方を変異させ、約336個のシードファイルから16コアで1日あたり約500 Mテストを提供します。 > 追加の軽量ハーネスには `speedtest1.c`、`mptester.c`、`threadtest3.c`、`fuzzershell.c`、およびJSONBファズラ `jfuzz` が含まれます。 > 異常テストではメモリ不足、I/O障害、クラッシュ/電源損失、およびカスタムmalloc/VFSフックを使用した複合故障をシミュレートし、各障害後に整合性チェックが実行されます。 > ファズリングの歴史はAFL(2014‑2019)からOSS Fuzz(2016年以降)、その後dbsqlfuzz(2018年末)とjfuzz(2024年1月)へ進化しました。`fuzzcheck` スクリプトは毎回ビルド時に興味深いケースを再実行し、新しいバグが自動的にリグレッションテストとして生成されることを保証します。 > リソースリーク検出はTCL/TH3ハーネスに組み込まれており、メモリリーク、ファイルディスクリプタ枯渇、および不要なスレッドが自動的に監視されます。 > カバレッジは `gcov` を使用して100 %の分岐カバレッジと変異テストで達成され、マクロ(`ALWAYS`、`NEVER`、`testcase`)がMC/DCを強制し、コメント(`/*OPTIMIZATION‑IF‑TRUE/FALSE*/`)は偽陽性を防ぎます。 > 結果として、継続的に拡張される高い信頼性のテストスイートが実現し、ユーザーにSQLiteの安定性への確信を提供し、セキュリティ脆弱性から保護し、オープンソースデータベース品質保証のベンチマークとなります。

Announcing the Beta release of ty | そっか~ニュース