Pythonライブラリを作成しました。素晴らしい出来栄えだと思います!もし誰もが簡単に使えるようになれば、もっと素晴らしいと思いませんか?Pythonライブラリをオープンソース化する際に考慮すべき点と具体的な手順をご紹介します。 1. ソースコードコードを GitHub に配置します。GitHub には多くのオープンソース プロジェクトがあり、ユーザーがプル リクエストを送信するのが簡単です。 2. ライセンスオープンソースライセンスを選びましょう。一般的に、MITライセンスは比較的優れており、制限が少ないライセンスです。特別な要件がある場合は、クリエイティブ・コモンズのライセンス選択ガイドを参考に、他のライセンスを選択することができます。最も重要なのは、ライセンスを選ぶ際に以下の3つのルールを覚えておくことです。
3. README GitHub は ReStructured Text を Markdown のようにレンダリングしますが、ReST は Python のドキュメント エコシステムでより優れたパフォーマンスを発揮します。 4. テストテストを書きましょう。これはあなたにとっては役に立ちませんが、関連する機能の不具合を防ぐためのパッチを書きたい人にとっては非常に役立ちます。 テストは共同作業者間の共同作業に役立ちます。 一般的に、pytest で実行できればそれで十分です。他にもテストツールはありますが、それらを使う必要性はほとんどありません。 5. スタイルリンター(PyLint、Flake8、またはBlack)を使用してスタイルを指定し、 6. APIドキュメントモジュール、関数、クラス、メソッドを文書化するには、docstring を使用します。 複数のスタイルを使用できます。私はGoogleスタイルのdocstringを好みますが、ReSTのdocstringも選択肢の一つです。 Sphinx は、Google スタイルと ReST ドキュメント文字列の両方を処理して、異なるドキュメントを API ドキュメントに統合できます。 7. 散らばった書類Sphinx を使用します。(この記事をお読みください。) チュートリアルは役立ちますが、Sphinx とは何か、その利点、欠点、特別な考慮事項などを明確にすることも同様に重要です。 8. 建設tox または nox を使用して、テストとリンターの実行を自動化し、ドキュメントを作成します。これらのツールは依存関係マトリックスをサポートしています。これらのマトリックスは急速に大きくなる傾向がありますが、Python のバージョン、依存関係のバージョン、インストールされている可能性のあるオプションの依存関係など、適切なサンプルに対してテストを試すことができます。 9. 包装setuptools ユーティリティを使用してください。setup.py tox または nox が行うべきことの 1 つは、ホイールを組み立て、インストールしたホイールをテストすることです。 C拡張機能の使用は避けてください。パフォーマンスやバインディング上の理由からどうしても必要な場合は、別々のパッケージにまとめてください。C拡張機能を適切にパッケージ化するには、1つの記事を書く必要があります。多くの問題が絡んでいるからです。 10. 継続的インテグレーション公開されている永続化ツールを活用しましょう。TravisCIとCircleCIは、オープンソースプロジェクト向けに無料プランを提供しています。GitHubなどのリポジトリで、プルリクエストのマージ前にチェックを必須にするように設定すれば、コードレビュー中にユーザーにテストやスタイルの修正を通知する必要がなくなります。 11. バージョンSemVerまたはCalVerを使用してください。バージョン管理に役立つツールは数多くあります。incremental、bumpversion、setuptools_scmはすべて、バージョン管理に役立つPyPIパッケージです。 12. リリースtox または nox を実行し、twine を使用してファイルを PyPI にアップロードして公開します。DevPI でアップロードをテストできます。 |