単一のpyproject.tomlファイルでプロジェクトの依存関係を宣言、ロック、インストールできるPythonのパッケージング・依存関係管理ツールです。
pypa/flit
最小限の設定で、純粋なPythonパッケージやモジュールをビルドしてPyPIに公開できるシンプルなツール。
- スター
- 2,262
- フォーク
- 173
- 未解決の Issue
- 125
- 最終コミット
- 10 日前
これは何?
Flitは、単一のインポート可能なPythonモジュールまたはパッケージをパッケージ化し、PyPIにアップロードします。パッケージングについてメンテナーが判断することを減らし、よくあるパッケージングのミスを防ぐことを目的としています。PyPI上のパッケージ名はインポート名と一致し、サブパッケージやパッケージ内のデータファイルも自動的に含まれます。
一般的な手順は、モジュールにバージョンと1行のdocstringを追加し、`flit init`を実行してpyproject.tomlを生成してから、`flit publish`を実行するというものです。バージョンと説明はモジュール自体から読み取られます。コマンドラインスクリプトなどのメタデータはpyproject.tomlで設定します。以前のflit.iniファイルは、同梱のヘルパーモジュールで変換できます。
ローカル開発では、`flit install`でパッケージを環境にインストールできます。オプションでシンボリックリンクとしてインストールすれば、編集内容がすぐに反映されます。公開済みのwheelからインストールすると標準的なパッケージが得られます。一方、sdistをインストールする場合は、pipが一時的な環境でFlitを使用します。
主な機能
- 01単一のモジュールまたはパッケージを、インポート名を使ってPyPIに公開する。
- 02バージョンと説明をモジュールから読み取り、重複して記載する必要をなくす。
- 03`flit init`でpyproject.tomlを生成する。
- 04サブパッケージやデータファイルを自動的に含める。
- 05開発用にパッケージをローカルインストールする。オプションでシンボリックリンクも利用できる。
ユースケース
- setup.pyを書かずに、小規模な純粋PythonライブラリをPyPIに公開する。
- 古いflit.iniベースのプロジェクトをpyproject.tomlに変換する。
- 開発中にパッケージをローカルで編集可能な状態にしてインストールする。
クイックスタート
- 1
pipでflitをインストールする
python3 -m pip install flit - 2
モジュールに1行のdocstringと__version__を追加する
- 3
モジュールのディレクトリでflit initを実行し、pyproject.tomlを作成する
flit init - 4
パッケージをPyPIにアップロードする
flit publish
使う前に知っておきたいこと
- 一度にパッケージ化できるのは、インポート可能なモジュールまたはパッケージ1つだけです。
- Python 2のモジュールを配布するには、Python 3でもエラーなくインポートできる必要があります。
トピック
よくある質問
- flit とは?
- 最小限の設定で、純粋なPythonパッケージやモジュールをビルドしてPyPIに公開できるシンプルなツール。 Flitは、単一のインポート可能なPythonモジュールまたはパッケージをパッケージ化し、PyPIにアップロードします。パッケージングについてメンテナーが判断することを減らし、よくあるパッケージングのミスを防ぐことを目的としています。PyPI上のパッケージ名はインポート名と一致し、サブパッケージやパッケージ内のデータファイルも自動的に含まれます。
- flit は無料で使えますか?ライセンスは?
- flit は BSD-3-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- flit は今もメンテナンスされていますか?
- 活発にメンテナンス中。flit の最終コミットは 2026年10月27日 です。
- flit は何に使えますか?
- setup.pyを書かずに、小規模な純粋PythonライブラリをPyPIに公開する。 古いflit.iniベースのプロジェクトをpyproject.tomlに変換する。 開発中にパッケージをローカルで編集可能な状態にしてインストールする。
- flit のインストール方法は?
- pipでflitをインストールする: python3 -m pip install flit モジュールに1行のdocstringと__version__を追加する モジュールのディレクトリでflit initを実行し、pyproject.tomlを作成する: flit init パッケージをPyPIにアップロードする: flit publish
- flit はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/pypa/flit
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
PEP 621とPEP 517のメタデータに基づいて、仮想環境、ロックファイル、ビルドを管理する最新のPythonパッケージ・依存関係管理ツール。
Python Package Index(PyPI)やその他のインデックスからパッケージをインストールする、Python標準のパッケージインストーラーです。
PythonパッケージングライブラリSetuptoolsの公式ビルドシステムリポジトリ。Pythonプロジェクトのビルドと配布に使われます。
tox、pytest、Sphinxドキュメント、Gitによるバージョン管理をあらかじめ設定した、PyPI公開可能なPythonパッケージを生成するツール。
ビルドシステムに依存せず、Pythonのソース配布物やwheelをPyPIにアップロードするコマンドラインツール。