0
0

5ステップでPyPIデビュー:ライブラリ公開ガイド【pyproject.toml版】

Posted at

PyPIへのライブラリ公開ガイド:5ステップで学ぶ実践的アプローチ

はじめに

本記事では、pyproject.tomlを使用してPyPIにライブラリをアップロードする方法を、実際のソースコードと共に5つのステップで詳しく解説します。
初めてオープンソースライブラリを開発し公開する方々に向けた内容となっています。

オープンソースの重要性

オープンソースソフトウェアの開発と公開は、プログラミングコミュニティにとって非常に重要です。以下に、その主な理由をまとめます:

  • 知識の共有: 他の開発者が学び、改善することができる
  • 協力と成長: コミュニティからのフィードバックにより、ソフトウェアが進化
  • 再利用性: 車輪の再発明を避け、開発効率が向上
  • 透明性: コードが公開されることで、セキュリティや品質の向上につながる
  • イノベーション: 既存のプロジェクトを基に、新しいアイデアが生まれやすくなる
  • キャリア向上: 個人の技術力とプレゼンスを高める機会になる
  • コスト削減: 多くの人が無料で利用でき、開発コストの削減につながる

これらの理由から、自作のライブラリをPyPIで公開することは、Pythonコミュニティ全体に貢献する素晴らしい方法の一つと言えます。

Step 1: プロジェクトの準備

まず、プロジェクトの基本構造を作成します。以下の例では、mypackageという名前のパッケージを作成します。

mypackage/
│
├── src/
│   └── mypackage/
│       ├── __init__.py
│       └── main.py
│
├── tests/
│   └── test_main.py
│
├── pyproject.toml
├── README.md
└── LICENSE

src/mypackage/main.pyに簡単な関数を作成します:

def greet(name: str) -> str:
    return f"Hello, {name}!"

pyproject.tomlファイルを以下のように作成します:

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "mypackage"
version = "0.0.1"
authors = [
  { name="Your Name", email="your.email@example.com" },
]
description = "A small example package"
readme = "README.md"
requires-python = ">=3.7"
classifiers = [
    "Programming Language :: Python :: 3",
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent",
]

[project.urls]
"Homepage" = "https://github.com/yourusername/mypackage"
"Bug Tracker" = "https://github.com/yourusername/mypackage/issues"

README.mdLICENSEファイルも作成してください。

Step 2: 必要なツールのインストール

ターミナルで以下のコマンドを実行し、必要なツールをインストールします:

pip install build twine

Step 3: ディストリビューションパッケージの作成

プロジェクトのルートディレクトリで以下のコマンドを実行し、配布用のパッケージを作成します:

python -m build

このコマンドにより、dist/ディレクトリに.tar.gzファイル(ソースアーカイブ)と.whlファイル(ビルド済みディストリビューション)が作成されます。

Step 4: TestPyPIへのアップロード(オプション)

本番のPyPIにアップロードする前に、TestPyPIで動作確認をすることをお勧めします。

まず、TestPyPIでアカウントを作成してください。

次に、以下のコマンドを実行してTestPyPIにアップロードします:

twine upload --repository testpypi dist/*

アップロードが成功したら、新しい環境で以下のコマンドを実行してインストールテストを行います:

pip install --index-url https://test.pypi.org/simple/ --no-deps mypackage

Step 5: 本番PyPIへのアップロード

テストが問題なく完了したら、本番のPyPIにアップロードします。まず、PyPIでアカウントを作成してください。

その後、以下のコマンドを実行してアップロードします:

twine upload dist/*

アップロードが成功したら、PyPIのウェブサイトでプロジェクトページを確認し、新しい環境で以下のコマンドを実行してインストールテストを行います:

pip install mypackage

まとめ

以上の5ステップを通じて、自作のPythonパッケージをPyPIに公開する方法を学びました。
この過程を通じて、オープンソースコミュニティに貢献する第一歩を踏み出すことができます。

自分がよく使う機能をライブラリとしてまとめて、他のプロジェクトでも使用したいというきっかけからPyPIへ公開しました。
今回はじめてライブラリを公開しましたが、オープンソースの重要性は理解しているので、今後もできるだけ続けていきたいと感じました。

注意点

  • バージョン管理を適切に行い、更新の際はpyproject.tomlのバージョン番号を必ず変更してください
  • セキュリティに関する考慮事項を忘れずに。機密情報を誤ってパッケージに含めないよう注意しましょう

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0