diff --git a/locales/ja/LC_MESSAGES/CONTRIBUTING.po b/locales/ja/LC_MESSAGES/CONTRIBUTING.po index 1bd99cf2..d4782007 100644 --- a/locales/ja/LC_MESSAGES/CONTRIBUTING.po +++ b/locales/ja/LC_MESSAGES/CONTRIBUTING.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: pyOpenSci Python Package Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-20 11:32+0900\n" +"POT-Creation-Date: 2026-01-04 09:59+0900\n" "PO-Revision-Date: 2025-04-14 18:12+0000\n" "Last-Translator: Tetsuo Koyama , 2025\n" "Language: ja\n" @@ -161,9 +161,10 @@ msgid "Make sure you are logged into GitHub." msgstr "GitHubにログインしていることを確認してください。" #: ../../CONTRIBUTING.md:44 +#, fuzzy msgid "" "Go to the repo you would like to fork, in this case the [Python Packaging" -" Guide](https://www.github.com/pyopensci/python-package-guide) repo." +" Guide](https://github.com/pyopensci/python-package-guide) repo." msgstr "" "フォークしたいリポジトリ、ここでは [Pythonパッケージングガイド](https://www.github.com/pyopensci" "/python-package-guide) リポジトリに移動します。" @@ -417,38 +418,48 @@ msgid "" msgstr "ローカルに構築されたガイドを見るには、ブラウザで `_build/html/index.html` ファイルを開いてください。" #: ../../CONTRIBUTING.md:191 +msgid "`docs-linkcheck`: this session checks that links in documentation work" +msgstr "" + +#: ../../CONTRIBUTING.md:195 +msgid "" +"If the tests fail, you will see logs in the terminal and in " +"`_build/linkcheck_output/output.txt`." +msgstr "" + +#: ../../CONTRIBUTING.md:197 msgid "`docs-test`: this session runs the tests for the guide." msgstr "`docs-test`: このセッションでは、ガイドのテストを実行します。" -#: ../../CONTRIBUTING.md:195 +#: ../../CONTRIBUTING.md:201 msgid "" "If the tests fail, you will see an error message in your terminal. You " "need to fix the errors before submitting your pull request." msgstr "テストが失敗すると、ターミナルにエラーメッセージが表示されます。 プルリクエストを提出する前にエラーを修正する必要があります。" -#: ../../CONTRIBUTING.md:197 +#: ../../CONTRIBUTING.md:203 msgid "" "`docs-live`: this session builds the guide and opens it in your browser " "with live reloading." msgstr "`docs-live`: このセッションでガイドを作成し、ライブリローディングしてブラウザで開きます。" -#: ../../CONTRIBUTING.md:201 +#: ../../CONTRIBUTING.md:207 msgid "" "open the local version of the guide in your browser at ``localhost`` " "shown in the terminal." msgstr "ターミナルに表示されている ``localhost`` のブラウザでローカル版のガイドを開いてください。" -#: ../../CONTRIBUTING.md:203 +#: ../../CONTRIBUTING.md:209 msgid "Before you submit your pull request" msgstr "プルリクエストを提出する前に" -#: ../../CONTRIBUTING.md:205 +#: ../../CONTRIBUTING.md:211 msgid "" "Before submitting your pull request, make sure to run the tests and check" " the formatting of your code." msgstr "プルリクエストを提出する前に、必ずテストを実行し、コードのフォーマットをチェックしてください。" -#: ../../CONTRIBUTING.md:210 +#: ../../CONTRIBUTING.md:216 msgid "" "If the tests fail, you will see an error message in your terminal. You " "need to fix the errors before submitting your pull request. Also make " @@ -458,62 +469,62 @@ msgstr "" "テストに失敗すると、ターミナルにエラーメッセージが表示されます。 プルリクエストを提出する前にエラーを修正する必要があります。 " "また、ドキュメントをローカルでビルドし、変更が正しく見えるかどうかをチェックすることで、ドキュメントのフォーマットを確認してください。" -#: ../../CONTRIBUTING.md:214 +#: ../../CONTRIBUTING.md:220 msgid "Submitting a pull request with your contribution" msgstr "あなたの貢献のプルリクエストを投稿する" -#: ../../CONTRIBUTING.md:216 +#: ../../CONTRIBUTING.md:222 msgid "How to make a pull request" msgstr "プルリクエストの作り方" -#: ../../CONTRIBUTING.md:218 +#: ../../CONTRIBUTING.md:224 msgid "" "To open a pull request on GitHub, navigate to the main page of your " "forked repository and click on the \"Pull requests\" tab." msgstr "GitHubでプルリクエストを開くには、フォークしたリポジトリのメインページに移動し、 \"Pull requests\" タブをクリックします。" -#: ../../CONTRIBUTING.md:220 +#: ../../CONTRIBUTING.md:226 msgid "Pull requests tab in GitHub" msgstr "GitHubのPull requestsタブ" -#: ../../CONTRIBUTING.md:226 +#: ../../CONTRIBUTING.md:232 msgid "" "An image showing how to navigate to the pull requests tab in GitHub. The " "pull requests tab is highlighted with a red rectangle." msgstr "GitHubのプルリクエストタブへの移動方法を示す画像です。プルリクエストタブは赤い四角で強調表示されます。" -#: ../../CONTRIBUTING.md:229 +#: ../../CONTRIBUTING.md:235 msgid "Click on the \"New pull request\" button." msgstr "\"New pull request\" ボタンをクリックします。" -#: ../../CONTRIBUTING.md:231 +#: ../../CONTRIBUTING.md:237 msgid "New pull request button in GitHub" msgstr "GitHubの新しいプルリクエストボタン" -#: ../../CONTRIBUTING.md:237 +#: ../../CONTRIBUTING.md:243 msgid "" "An image showing how to create a new pull request in GitHub. The new pull" " request button is highlighted with a red rectangle." msgstr "GitHubで新しいプルリクエストを作成する方法を示す画像です。 新しいプルリクエストボタンは赤い四角で強調表示されます。" -#: ../../CONTRIBUTING.md:240 +#: ../../CONTRIBUTING.md:246 msgid "" "Write a clear and concise title and description for your pull request. " "Make sure to describe the changes you made and why they are necessary." msgstr "プルリクエストのタイトルと説明を明確かつ簡潔に書きましょう。変更した内容と、それが必要な理由を必ず説明してください。" -#: ../../CONTRIBUTING.md:242 +#: ../../CONTRIBUTING.md:248 msgid "What happens when you submit a pull request (CI/CD)" msgstr "プルリクエストを提出するとどうなるか(CI/CD)" -#: ../../CONTRIBUTING.md:244 +#: ../../CONTRIBUTING.md:250 msgid "" "Once you submit a pull request, a series of checks will be run to ensure " "that your changes do not introduce any bugs or errors. These checks " "include:" msgstr "あなたがプルリクエストを提出すると、あなたの変更がバグやエラーを引き起こさないように、一連のチェックが実行されます。これらのチェックには以下が含まれます:" -#: ../../CONTRIBUTING.md:246 +#: ../../CONTRIBUTING.md:252 msgid "" "**Code formatting and styles**: checks that your code is formatted " "correctly, by `pre-commit.ci - pr check`." @@ -521,21 +532,21 @@ msgstr "" "**コードのフォーマットとスタイル**: は、あなたのコードが `pre-commit.ci - pr check` " "によって正しくフォーマットされているかをチェックします。" -#: ../../CONTRIBUTING.md:247 +#: ../../CONTRIBUTING.md:253 msgid "" "**docs build**: checks that the documentation builds correctly, using " "`circleci`." msgstr "**ドキュメントビルド**: は、 `circleci` を使用して、ドキュメントが正しくビルドされることをチェックします。" -#: ../../CONTRIBUTING.md:249 +#: ../../CONTRIBUTING.md:255 msgid "You will see the status of these checks in your pull request." msgstr "プルリクエストには、これらのチェックのステータスが表示されます。" -#: ../../CONTRIBUTING.md:251 +#: ../../CONTRIBUTING.md:257 msgid "Pull request checks in GitHub" msgstr "GitHubでのプルリクエストチェック" -#: ../../CONTRIBUTING.md:257 +#: ../../CONTRIBUTING.md:263 msgid "" "An image showing the status of the checks in a pull request in GitHub. " "The checks are displayed in a table with a status icon next to each " @@ -544,17 +555,17 @@ msgstr "" "GitHubのプルリクエストのチェック状況を示す画像です。チェックは表で表示され、各チェックの横にステータスアイコンが表示されます。 " "チェックは赤い四角で強調表示されます。" -#: ../../CONTRIBUTING.md:259 +#: ../../CONTRIBUTING.md:265 msgid "" "If any of these checks fail, you will see an error message in your pull " "request. You need to fix the errors before your changes can be merged." msgstr "これらのチェックのいずれかが失敗した場合、プルリクエストにエラーメッセージが表示されます。変更をマージする前に、エラーを修正する必要があります。" -#: ../../CONTRIBUTING.md:261 +#: ../../CONTRIBUTING.md:267 msgid "Pull request checks failed in GitHub" msgstr "GitHubでのプルリクエストチェックに失敗" -#: ../../CONTRIBUTING.md:267 +#: ../../CONTRIBUTING.md:273 msgid "" "An image showing the status of the checks in a pull request in GitHub. " "The checks are displayed in a table with a status icon next to each " @@ -564,62 +575,62 @@ msgstr "" "GitHubのプルリクエストのチェック状況を示す画像です。チェックは表で表示され、各チェックの横にステータスアイコンが表示されます。 " "失敗と詳細リンクのチェックは赤い四角で強調表示されます。" -#: ../../CONTRIBUTING.md:270 +#: ../../CONTRIBUTING.md:276 msgid "" "To get more information about the errors, you can click on the " "\"Details\" link next to the failed check." msgstr "エラーに関する詳細情報を得るには、失敗したチェックの隣にある \"Details\" リンクをクリックすることができます。" -#: ../../CONTRIBUTING.md:272 +#: ../../CONTRIBUTING.md:278 msgid "What to expect from the review process" msgstr "レビュープロセスに期待すること" -#: ../../CONTRIBUTING.md:274 +#: ../../CONTRIBUTING.md:280 msgid "" "Once you submit a pull request, a maintainer of the repository will " "review your changes and provide feedback. The review process may involve:" msgstr "プルリクエストを提出すると、リポジトリのメンテナがあなたの変更を確認し、フィードバックを提供します。審査プロセスには以下が含まれます:" -#: ../../CONTRIBUTING.md:276 +#: ../../CONTRIBUTING.md:282 msgid "" "**Comments**: the reviewer may leave comments on your pull request to ask" " questions or provide feedback." msgstr "**Comments**: レビュアーはあなたのプルリクエストにコメントを残し、質問やフィードバックをすることができます。" -#: ../../CONTRIBUTING.md:277 +#: ../../CONTRIBUTING.md:283 msgid "" "**Suggestions**: the reviewer may suggest changes to your code or " "documentation." msgstr "**Suggestions**: レビューワーは、あなたのコードや文書の変更を提案するかもしれません。" -#: ../../CONTRIBUTING.md:278 +#: ../../CONTRIBUTING.md:284 msgid "" "**Approvals**: once the reviewer is satisfied with your changes, they " "will approve the pull request." msgstr "**Approvals**: レビュアーがあなたの変更に満足したら、プルリクエストを承認します。" -#: ../../CONTRIBUTING.md:280 +#: ../../CONTRIBUTING.md:286 msgid "" "You can make changes to your pull request by pushing new commits to the " "branch. The pull request will be updated automatically with your new " "changes." msgstr "新しいコミットをブランチにプッシュすることで、プルリクエストに変更を加えることができます。プルリクエストはあなたの新しい変更で自動的に更新されます。" -#: ../../CONTRIBUTING.md:282 +#: ../../CONTRIBUTING.md:288 msgid "" "Once your pull request is approved, it will be merged into the main " "branch and your changes will be included in the guide." msgstr "あなたのプルリクエストが承認されると、メインブランチにマージされ、あなたの変更がガイドに含まれます。" -#: ../../CONTRIBUTING.md:284 +#: ../../CONTRIBUTING.md:290 msgid "Additional help" msgstr "追加ヘルプ" -#: ../../CONTRIBUTING.md:286 +#: ../../CONTRIBUTING.md:292 msgid "How to get help" msgstr "助けを求めるには" -#: ../../CONTRIBUTING.md:288 +#: ../../CONTRIBUTING.md:294 msgid "" "*__TODO__: This section should describe the options for finding more help" " in case beginner contributors need more help (e.g., create an issue, " @@ -628,25 +639,25 @@ msgstr "" "*__TODO__: このセクションには、初心者の投稿者がさらに助けを必要とする場合に備えて、より多くの助けを見つけるためのオプション " "(イシューの作成、フォーラムへの投稿など) を記述してください。*" -#: ../../CONTRIBUTING.md:290 +#: ../../CONTRIBUTING.md:296 msgid "Additional resources" msgstr "その他のリソース" -#: ../../CONTRIBUTING.md:292 +#: ../../CONTRIBUTING.md:298 msgid "" "*__TODO__: It should also include links to beginner documentation, like " "the GitHub docs.*" msgstr "*__TODO__: また、GitHubのドキュメントのような初心者向けのドキュメントへのリンクも含める必要があります。*" -#: ../../CONTRIBUTING.md:294 +#: ../../CONTRIBUTING.md:300 msgid "Annex" msgstr "書き添える" -#: ../../CONTRIBUTING.md:296 +#: ../../CONTRIBUTING.md:302 msgid "Code examples" msgstr "コード例" -#: ../../CONTRIBUTING.md:298 +#: ../../CONTRIBUTING.md:304 msgid "" "This guide uses the [literalinclude Sphinx directive](https://www.sphinx-" "doc.org/en/master/usage/restructuredtext/directives.html#directive-" @@ -658,11 +669,11 @@ msgstr "" "literalinclude) を使用して、コードと散文を分けています。 ドキュメントで使用するコードは `examples/` " "フォルダにあります。" -#: ../../CONTRIBUTING.md:302 +#: ../../CONTRIBUTING.md:308 msgid "Referencing code in documentation" msgstr "ドキュメントでコードを参照する" -#: ../../CONTRIBUTING.md:304 +#: ../../CONTRIBUTING.md:310 msgid "" "If an example is present elsewhere in the documentation that you want to " "use, you can copy the `literalinclude` directive verbatim and the " @@ -671,7 +682,7 @@ msgstr "" "使用したい例がドキュメントの他の場所にある場合、 `literalinclude` " "ディレクティブをそのままコピーすれば、例は同期されたままになります。" -#: ../../CONTRIBUTING.md:307 +#: ../../CONTRIBUTING.md:313 msgid "" "If you already see code in the examples folder that you can use for new " "documentation, a new `literalinclude` can be made to extract it into the " @@ -685,7 +696,7 @@ msgstr "" "に必要なのはコードへの相対パスだけですが、ほとんどの場合 `:language:` と `:lines:` も指定する必要があります。 " "前者はコード例をより美しくし、後者は将来的なコードの変更からサンプルを守ることができます。" -#: ../../CONTRIBUTING.md:312 +#: ../../CONTRIBUTING.md:318 msgid "" "**Pro tip**: As an alternative to `:lines:` there are also the `:start-" "after:`, `:start-at:`, `:end-before:`, and `:end-at:` options. And if the" @@ -696,7 +707,7 @@ msgstr "" "before:`, `:end-at:` オプションもあります。 また、サンプルコードがPythonの場合、 `:pyobject:` " "を使用すると、コードのリファクタリングがあっても同じドキュメント内容を維持することができます。" -#: ../../CONTRIBUTING.md:316 +#: ../../CONTRIBUTING.md:322 msgid "" "If you need example code that doesn't yet exist in `examples/` see " "[creating code for documentation](#creating-code-for-documentation)." @@ -704,11 +715,11 @@ msgstr "" "`examples/` にまだ存在しないサンプルコードが必要な場合は、 [ドキュメント用のコードを作成する](#creating-code-" "for-documentation) を参照してください。" -#: ../../CONTRIBUTING.md:319 +#: ../../CONTRIBUTING.md:325 msgid "Creating code for documentation" msgstr "ドキュメント用コードの作成" -#: ../../CONTRIBUTING.md:321 +#: ../../CONTRIBUTING.md:327 msgid "" "Whenever you come across a place that could benefit from a code block, " "instead of writing it in-line with a code fence (`` ``` `` blocked text) " @@ -720,7 +731,7 @@ msgstr "" "ブロックテキスト)と一緒にインラインで書く代わりに、独自の形式でファイルとして書くことができます。 あなたの例はすでに存在しているかもしれません;" " [ドキュメントのコードを参照する](#referencing-code-in-documentation) を参照してください。" -#: ../../CONTRIBUTING.md:325 +#: ../../CONTRIBUTING.md:331 msgid "" "If you want to add a new example that doesn't fit into any of the " "existing example files, you can create a new file and reference it in a " @@ -733,7 +744,7 @@ msgstr "" "もしそのファイルが既存のサンプルプロジェクトの中にあるのが理にかなっているのであれば、そこに追加してください。そうでなければ、 " "`examples` ディレクトリに新しいフォルダを作成してください。" -#: ../../CONTRIBUTING.md:329 +#: ../../CONTRIBUTING.md:335 msgid "" "If an existing example is incomplete or a new example makes sense to be " "added to an existing file, go ahead and add it, but take care to not " @@ -745,14 +756,14 @@ msgstr "" "可能な限り、例を書き直すのではなく、拡張してください。 " "例えば、ファイルの最後に新しい関数を追加したり、クラス内の既存のメソッドの後に新しいメソッドを追加したりします。" -#: ../../CONTRIBUTING.md:333 +#: ../../CONTRIBUTING.md:339 msgid "" "Example code is checked for correctness, so adding a new example may " "require adding additional tests for coverage, and will require fixing any" " failing tests." msgstr "例題のコードは正しさをチェックされるので、新しい例題を追加するには、カバレッジのためのテストを追加する必要があるかもしれないし、失敗したテストを修正する必要があるかもしれません。" -#: ../../CONTRIBUTING.md:336 +#: ../../CONTRIBUTING.md:342 msgid "" "***⚠️ WARNING***: great care should be taken when modifying existing " "example code, especially any modification beyond appending to the end of " @@ -767,19 +778,19 @@ msgstr "" "これにより、ガイド内のサンプルはより一貫したものになりますが、ある特定のユースケースのためにサンプルを修正する場合、アクションが遠のく可能性があります。" " もし既存のサンプルを修正することに気づいたら、このコマンドを実行し、新しいビルドでそれらのページをチェックしてみてください。" -#: ../../CONTRIBUTING.md:344 +#: ../../CONTRIBUTING.md:350 msgid "Example:" msgstr "例:" -#: ../../CONTRIBUTING.md:346 +#: ../../CONTRIBUTING.md:352 msgid "Instead of writing example code in markdown like this" msgstr "このようにマークダウンでサンプルコードを書くのではなく" -#: ../../CONTRIBUTING.md:357 +#: ../../CONTRIBUTING.md:363 msgid "The python can be extracted into a `.py` file" msgstr "python は `.py` ファイルに展開することができます。" -#: ../../CONTRIBUTING.md:371 +#: ../../CONTRIBUTING.md:377 msgid "" "As another example, if you only need to show part of a `pyproject.toml`, " "we already have complete project definitions, you need only to find the " @@ -788,10 +799,10 @@ msgstr "" "別の例として、 `pyproject.toml` " "の一部だけを表示する必要がある場合、我々はすでに完全なプロジェクト定義を持っているので、関連する部分を見つけるだけでよいです。" -#: ../../CONTRIBUTING.md:374 +#: ../../CONTRIBUTING.md:380 msgid "Instead of writing this" msgstr "こう書く代わりに" -#: ../../CONTRIBUTING.md:386 +#: ../../CONTRIBUTING.md:391 msgid "an example could be extracted from an existing toml file" msgstr "例は、既存のtomlファイルから抽出することができます" diff --git a/locales/ja/LC_MESSAGES/documentation.po b/locales/ja/LC_MESSAGES/documentation.po index dd3c68f1..45ea2588 100644 --- a/locales/ja/LC_MESSAGES/documentation.po +++ b/locales/ja/LC_MESSAGES/documentation.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: pyOpenSci Python Package Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-12 11:17+0200\n" +"POT-Creation-Date: 2026-01-04 09:59+0900\n" "PO-Revision-Date: 2025-04-14 18:12+0000\n" "Last-Translator: Tetsuo Koyama , 2025\n" "Language: ja\n" @@ -219,12 +219,13 @@ msgid "What is GitHub Pages?" msgstr "GitHub Pagesとは?" #: ../../documentation/hosting-tools/publish-documentation-online.md:25 +#, fuzzy msgid "" "[GitHub Pages](https://docs.github.com/en/pages/getting-started-with-" -"github-pages/about-github-pages) is a free web hosting service offered by" -" GitHub. Using GitHub pages, you can build your documentation locally or " -"using a Continuous Integration setup, and then push to a branch in your " -"GitHub repository that is setup to run the GitHub Pages web build." +"github-pages/what-is-github-pages) is a free web hosting service offered " +"by GitHub. Using GitHub pages, you can build your documentation locally " +"or using a Continuous Integration setup, and then push to a branch in " +"your GitHub repository that is setup to run the GitHub Pages web build." msgstr "" "[GitHub Pages](https://docs.github.com/en/pages/getting-started-with-" "github-pages/about-github-pages) は GitHub が提供する無料のウェブホスティングサービスです。 GitHub" @@ -1639,10 +1640,11 @@ msgid "Use open permissive licenses when possible" msgstr "可能な限りオープンパーミッシブライセンスを使用する" #: ../../documentation/repository-files/license-files.md:46 +#, fuzzy msgid "" "We generally suggest that you use a permissive, license that is [Open " -"Software Initiative (OSI) approved](https://opensource.org/licenses/). If" -" you are [submitting your package to pyOpenSci for peer " +"Software Initiative (OSI) approved](https://opensource.org/license). If " +"you are [submitting your package to pyOpenSci for peer " "review](https://www.pyopensci.org/about-peer-review/index.html), then we " "require an OSI approved license." msgstr "" @@ -1900,14 +1902,14 @@ msgid "What about software citation?" msgstr "ソフトウェアの引用についてはどうだろうか?" #: ../../documentation/repository-files/license-files.md:133 +#, fuzzy msgid "" -"While many permissive licenses do not require citation we STRONG " -"encourage that you cite all software that you use in papers, blogs and " +"While many permissive licenses do not require citation, we strongly " +"encourage that you cite all software that you use in papers, blogs, and " "other publications. You tell your users how to cite your package by using" " a [citation.cff file](https://docs.github.com/en/repositories/managing-" "your-repositorys-settings-and-features/customizing-your-repository/about-" -"citation-files). We will cover this topic when we talk about creating " -"DOI's for your package using Zenodo." +"citation-files)." msgstr "" "多くの寛容なライセンスは引用を必要としませんが、わたしたちは、あなたが論文やブログ、その他の出版物で使用するすべてのソフトウェアを引用することを強く推奨します。" " あなたは、 [citation.cff ファイル](https://docs.github.com/en/repositories" @@ -1915,7 +1917,70 @@ msgstr "" "repository/about-citation-files) を使うことで、あなたのパッケージの引用方法をユーザに伝えることができます。 " "このトピックについては、Zenodoを使ってパッケージのDOIを作成する際に説明します。" +#: ../../documentation/repository-files/license-files.md:135 +msgid "Citation.cff files: Making your software citable" +msgstr "" + +#: ../../documentation/repository-files/license-files.md:137 +msgid "" +"A `CITATION.cff` file is a machine-readable file that provides citation " +"information for your software package. The \"cff\" stands for \"Citation " +"File Format,\" which is a standardized format for software citation " +"metadata." +msgstr "" + +#: ../../documentation/repository-files/license-files.md:139 +msgid "What citation.cff files add to your repository" +msgstr "" + #: ../../documentation/repository-files/license-files.md:141 +msgid "" +"When you add a `CITATION.cff` file to your repository, GitHub " +"automatically detects it and displays a \"Cite this repository\" button. " +"This makes it easy for users to properly cite your software. The file " +"contains standardized citation information that tools and services can " +"automatically read and use. GitHub will generate both APA and BibTeX " +"citation formats for users." +msgstr "" + +#: ../../documentation/repository-files/license-files.md:143 +msgid "How dates are tracked in citation.cff files" +msgstr "" + +#: ../../documentation/repository-files/license-files.md:145 +msgid "" +"The citation file tracks important dates for your software. The `date-" +"released` field shows when the current version was released. The `date-" +"published` field shows when the software was first made available. You " +"also include a `version` field with the specific version number." +msgstr "" + +#: ../../documentation/repository-files/license-files.md:147 +msgid "" +"You should update these dates with each new release so people cite the " +"correct version of your software." +msgstr "" + +#: ../../documentation/repository-files/license-files.md:149 +msgid "Integration with Zenodo" +msgstr "" + +#: ../../documentation/repository-files/license-files.md:151 +msgid "" +"Citation.cff files work well with Zenodo, which is a popular place to " +"store research software and get DOIs. When you create a Zenodo release, " +"it can automatically pull information from your citation file. This keeps" +" your citation information the same between GitHub and Zenodo. You can " +"also include your Zenodo DOI in the citation file. Each time you make a " +"new GitHub release, it can create a new Zenodo version with updated " +"citation information." +msgstr "" + +#: ../../documentation/repository-files/license-files.md:154 +msgid "Here's a basic example of what a `CITATION.cff` file might look like:" +msgstr "" + +#: ../../documentation/repository-files/license-files.md:170 msgid "References" msgstr "参考文献" @@ -2076,12 +2141,13 @@ msgid "PyPI version shields.io" msgstr "PyPIバージョン shields.io" #: ../../documentation/repository-files/readme-file-best-practices.md:78 +#, fuzzy msgid "" "Status of tests (pass or fail) - Example: [![CI Build](https://github.com" -"/pandera-" -"dev/pandera/workflows/CI%20Tests/badge.svg?branch=main)](https://github.com" -"/pandera-" -"dev/pandera/actions?query=workflow%3A%22CI+Tests%22+branch%3Amain)" +"/unionai-" +"oss/pandera/workflows/CI%20Tests/badge.svg?branch=main)](https://github.com" +"/unionai-" +"oss/pandera/actions?query=workflow%3A%22CI+Tests%22+branch%3Amain)" msgstr "" "テストのステータス(合格または不合格) - 例: [![CI Build](https://github.com/pandera-" "dev/pandera/workflows/CI%20Tests/badge.svg?branch=main)](https://github.com" @@ -2118,15 +2184,18 @@ msgid "DOI" msgstr "DOI" #: ../../documentation/repository-files/readme-file-best-practices.md:85 +#, fuzzy msgid "" "Once you package is accepted to pyOpenSci, we will provide you with a " "badge to add to your repository that shows that it has been reviewed. " -"[![pyOpenSci](https://pyopensci.org/badges/peer-" -"reviewed.svg)](https://github.com/pyOpenSci/software-submission/issues/12)" +"[![pyOpenSci](https://www.pyopensci.org/badges/peer-" +"reviewed.svg)](https://github.com/pyOpenSci/software-" +"submission/issues/12)" msgstr "" "あなたのパッケージがpyOpenSciに受理されると、あなたのリポジトリにレビュー済みであることを示すバッジを提供します。 " "[![pyOpenSci](https://pyopensci.org/badges/peer-" -"reviewed.svg)](https://github.com/pyOpenSci/software-submission/issues/12)" +"reviewed.svg)](https://github.com/pyOpenSci/software-" +"submission/issues/12)" #: ../../documentation/repository-files/readme-file-best-practices.md:85 msgid "pyOpenSci" diff --git a/locales/ja/LC_MESSAGES/index.po b/locales/ja/LC_MESSAGES/index.po index 4fb18adc..b6fe51d2 100644 --- a/locales/ja/LC_MESSAGES/index.po +++ b/locales/ja/LC_MESSAGES/index.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: pyOpenSci Python Package Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-12 11:17+0200\n" +"POT-Creation-Date: 2026-01-04 09:59+0900\n" "PO-Revision-Date: 2025-04-14 18:12+0000\n" "Last-Translator: Tetsuo Koyama , 2025\n" "Language: ja\n" @@ -22,31 +22,31 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.17.0\n" -#: ../../index.md:292 +#: ../../index.md:284 msgid "Tutorials" msgstr "チュートリアル" -#: ../../index.md:299 +#: ../../index.md:291 msgid "Packaging" msgstr "パッケージング" -#: ../../index.md:148 ../../index.md:307 +#: ../../index.md:146 ../../index.md:299 msgid "Documentation" msgstr "ドキュメンテーション" -#: ../../index.md:196 ../../index.md:316 +#: ../../index.md:194 ../../index.md:307 msgid "Tests" msgstr "テスト" -#: ../../index.md:316 +#: ../../index.md:307 msgid "Testing" msgstr "テスト" -#: ../../index.md:325 -msgid "CI/CD" -msgstr "CI/CD" +#: ../../index.md:315 +msgid "Maintain" +msgstr "" -#: ../../index.md:325 +#: ../../index.md:315 msgid "Continuous Integration" msgstr "継続的インテグレーション" @@ -128,40 +128,41 @@ msgid "" "community resources surrounding packaging and package documentation." msgstr "また、パッケージングとパッケージドキュメンテーションにまつわるベストプラクティスの推奨や、コミュニティリソースのキュレーションリストもご覧いただけます。" -#: ../../index.md:46 +#: ../../index.md:45 msgid "Todo" msgstr "Todo" -#: ../../index.md:47 +#: ../../index.md:46 msgid "TODO: change the navigation of docs to have a" msgstr "TODO: ドキュメントのナビゲーションに" -#: ../../index.md:49 +#: ../../index.md:48 msgid "user documentation contributor / maintainer documentation" msgstr "ユーザードキュメント コントリビューター / メンテナ ドキュメント" -#: ../../index.md:51 +#: ../../index.md:50 msgid "development guide" msgstr "開発ガイド" -#: ../../index.md:52 +#: ../../index.md:51 msgid "contributing guide" msgstr "コントリビュートガイド" -#: ../../index.md:54 +#: ../../index.md:53 msgid "Community docs" msgstr "コミュニティドキュメント" -#: ../../index.md:55 +#: ../../index.md:54 msgid "readme, coc, license" msgstr "readme、coc、ライセンス" -#: ../../index.md:57 +#: ../../index.md:56 msgid "Publish your docs" msgstr "ドキュメントを公開する" #: ../../index.md:59 -msgid "_new_ Tutorial Series: Create a Python Package" +#, fuzzy +msgid "Tutorial Series: Create a Python Package" msgstr "_new_ チュートリアルシリーズ: Pythonパッケージの作成" #: ../../index.md:61 @@ -175,36 +176,36 @@ msgstr "" "コミュニティのレビュープロセスに参加したり、 [GitHub リポジトリはこちら](https://github.com/pyOpenSci" "/python-package-guide) で今後のチュートリアルの開発を見守ったりしてください。" -#: ../../index.md:71 +#: ../../index.md:70 msgid "✿ Create a Package Tutorials ✿" msgstr "✿ チュートリアルパッケージの作成 ✿" -#: ../../index.md:75 +#: ../../index.md:74 msgid "[What is a Python package?](/tutorials/intro)" msgstr "[Pythonパッケージとは何か?](/tutorials/intro)" -#: ../../index.md:76 +#: ../../index.md:75 #, fuzzy msgid "[Create a Python package](/tutorials/create-python-package)" msgstr "[コードをインストール可能にする](/tutorials/create-python-package)" -#: ../../index.md:77 +#: ../../index.md:76 msgid "[Publish your package to (test) PyPI](/tutorials/publish-pypi)" msgstr "[パッケージを(テスト用の)PyPIに公開する](/tutorials/publish-pypi)" -#: ../../index.md:78 +#: ../../index.md:77 msgid "[Publish your package to conda-forge](/tutorials/publish-conda-forge)" msgstr "[パッケージを conda-forge に公開する](/tutorials/publish-conda-forge)" -#: ../../index.md:83 +#: ../../index.md:82 msgid "✿ Package Metadata Tutorials ✿" msgstr "✿パッケージメタデータチュートリアル✿" -#: ../../index.md:87 +#: ../../index.md:86 msgid "[How to add a README file](/tutorials/add-readme)" msgstr "[READMEファイルの追加方法](/tutorials/add-readme)" -#: ../../index.md:88 +#: ../../index.md:87 msgid "" "[How to add metadata to a pyproject.toml file for publication to " "PyPI.](/tutorials/pyproject-toml.md)" @@ -212,27 +213,27 @@ msgstr "" "[PyPIに公開するためにpyproject.tomlファイルにメタデータを追加する方法](/tutorials/pyproject-" "toml.md)" -#: ../../index.md:93 +#: ../../index.md:92 msgid "✿ Packaging Tool Tutorials ✿" msgstr "✿パッケージングツールのチュートリアル✿" -#: ../../index.md:97 +#: ../../index.md:96 msgid "[Introduction to Hatch](/tutorials/get-to-know-hatch)" msgstr "[Hatch入門](/tutorials/get-to-know-hatch)" -#: ../../index.md:102 +#: ../../index.md:101 msgid "✿ Reference Guides ✿" msgstr "✿ リファレンスガイド ✿" -#: ../../index.md:106 +#: ../../index.md:105 msgid "[Command Line Reference Guide](/tutorials/command-line-reference)" msgstr "[コマンドラインリファレンスガイド](/tutorials/command-line-reference)" -#: ../../index.md:111 +#: ../../index.md:109 msgid "Python Packaging for Scientists" msgstr "科学者のためのPythonパッケージング" -#: ../../index.md:113 +#: ../../index.md:111 msgid "" "Learn about Python packaging best practices. You will also get to know " "the the vibrant ecosystem of packaging tools that are available to help " @@ -241,15 +242,15 @@ msgstr "" "Python のパッケージングのベストプラクティスについて学びます。 また、Python " "のパッケージングを支援するために利用可能なパッケージングツールの活発なエコシステムを知ることができます。" -#: ../../index.md:122 +#: ../../index.md:120 msgid "✨ Create your package ✨" msgstr "✨パッケージの作成✨" -#: ../../index.md:126 +#: ../../index.md:124 msgid "[Package file structure](/package-structure-code/python-package-structure)" msgstr "[パッケージファイル構造](/package-structure-code/python-package-structure)" -#: ../../index.md:127 +#: ../../index.md:125 msgid "" "[Package metadata / pyproject.toml](package-structure-code/pyproject-" "toml-python-package-metadata.md)" @@ -257,7 +258,7 @@ msgstr "" "[パッケージメタデータ / pyproject.toml](package-structure-code/pyproject-toml-" "python-package-metadata.md)" -#: ../../index.md:128 +#: ../../index.md:126 msgid "" "[Build your package (sdist / wheel)](package-structure-code/python-" "package-distribution-files-sdist-wheel.md)" @@ -265,11 +266,11 @@ msgstr "" "[パッケージのビルド (sdist / wheel)](package-structure-code/python-package-" "distribution-files-sdist-wheel.md)" -#: ../../index.md:129 +#: ../../index.md:127 msgid "[Declare dependencies](package-structure-code/declare-dependencies.md)" msgstr "[依存関係の宣言](package-structure-code/declare-dependencies.md)" -#: ../../index.md:130 +#: ../../index.md:128 msgid "" "[Navigate the packaging tool ecosystem](package-structure-code/python-" "package-build-tools.md)" @@ -277,7 +278,7 @@ msgstr "" "[パッケージングツールのエコシステムをナビゲートする](package-structure-code/python-package-build-" "tools.md)" -#: ../../index.md:131 +#: ../../index.md:129 msgid "" "[Non pure Python builds](package-structure-code/complex-python-package-" "builds.md)" @@ -285,23 +286,23 @@ msgstr "" "[純粋な Python 以外のビルド](package-structure-code/complex-python-package-" "builds.md)" -#: ../../index.md:136 +#: ../../index.md:134 msgid "✨ Publish your package ✨" msgstr "✨パッケージを公開する✨" -#: ../../index.md:140 +#: ../../index.md:138 msgid "" "Gain a better understanding of the Python packaging ecosystem Learn about" " best practices for:" msgstr "Pythonのパッケージングエコシステムをより深く理解するためのベストプラクティスを学ぶ:" -#: ../../index.md:143 +#: ../../index.md:141 msgid "" "[Package versioning & release](/package-structure-code/python-package-" "versions.md)" msgstr "[パッケージのバージョン管理とリリース](/package-structure-code/python-package-versions.md)" -#: ../../index.md:144 +#: ../../index.md:142 msgid "" "[Publish to PyPI & Conda-forge](/package-structure-code/publish-python-" "package-pypi-conda.md)" @@ -309,23 +310,23 @@ msgstr "" "[PyPIとConda-forgeへの公開](/package-structure-code/publish-python-package-" "pypi-conda.md)" -#: ../../index.md:157 +#: ../../index.md:155 msgid "✨ Write The Docs ✨" msgstr "✨ドキュメントを書く✨" -#: ../../index.md:160 +#: ../../index.md:158 msgid "" "[Create documentation for your users](/documentation/write-user-" "documentation/intro)" msgstr "[ユーザーのための文書を作成する](/documentation/write-user-documentation/intro)" -#: ../../index.md:161 +#: ../../index.md:159 msgid "" "[Core files to include in your package repository](/documentation" "/repository-files/intro)" msgstr "[パッケージリポジトリに含めるコアファイル](/documentation/repository-files/intro)" -#: ../../index.md:162 +#: ../../index.md:160 msgid "" "[Write tutorials to show how your package is used](/documentation/write-" "user-documentation/create-package-tutorials)" @@ -333,27 +334,27 @@ msgstr "" "[パッケージがどのように使われるかを示すチュートリアルを書く](/documentation/write-user-documentation" "/create-package-tutorials)" -#: ../../index.md:167 +#: ../../index.md:165 msgid "✨ Developer Docs ✨" msgstr "✨開発者向けドキュメント✨" -#: ../../index.md:170 +#: ../../index.md:168 msgid "" "[Create documentation for collaborating developers](/documentation" "/repository-files/contributing-file)" msgstr "[共同開発者のためのドキュメントの作成](/documentation/repository-files/contributing-file)" -#: ../../index.md:171 +#: ../../index.md:169 msgid "" "[Write a development guide](/documentation/repository-files/development-" "guide)" msgstr "[開発ガイドを書く](/documentation/repository-files/development-guide)" -#: ../../index.md:176 +#: ../../index.md:174 msgid "✨ Document For A Community ✨" msgstr "✨コミュニティのためのドキュメント✨" -#: ../../index.md:179 +#: ../../index.md:177 msgid "" "[Writing a README file](/documentation/repository-files/readme-file-best-" "practices)" @@ -361,29 +362,29 @@ msgstr "" "[READMEファイルの書き方](/documentation/repository-files/readme-file-best-" "practices)" -#: ../../index.md:180 +#: ../../index.md:178 msgid "" "[Set norms with a Code of Conduct](/documentation/repository-files/code-" "of-conduct-file)" msgstr "[行動規範で規範を定める](/documentation/repository-files/code-of-conduct-file)" -#: ../../index.md:181 +#: ../../index.md:179 msgid "[License your package](/documentation/repository-files/license-files)" msgstr "[パッケージのライセンス](/documentation/repository-files/license-files)" -#: ../../index.md:186 +#: ../../index.md:184 msgid "✨ Publish Your Docs ✨" msgstr "✨ドキュメントを公開する✨" -#: ../../index.md:189 +#: ../../index.md:187 msgid "[How to publish your docs](/documentation/hosting-tools/intro)" msgstr "[ドキュメントを公開する方法](/documentation/hosting-tools/intro)" -#: ../../index.md:190 +#: ../../index.md:188 msgid "[Using Sphinx](/documentation/hosting-tools/intro)" msgstr "[Sphinxを使う](/documentation/hosting-tools/intro)" -#: ../../index.md:191 +#: ../../index.md:189 msgid "" "[Markdown, MyST, and ReST](/documentation/hosting-tools/myst-markdown-" "rst-doc-syntax)" @@ -391,7 +392,7 @@ msgstr "" "[Markdown、MyST、およびReST](/documentation/hosting-tools/myst-markdown-rst-" "doc-syntax)" -#: ../../index.md:192 +#: ../../index.md:190 msgid "" "[Host your docs on Read The Docs or GitHub Pages](/documentation/hosting-" "tools/publish-documentation-online)" @@ -399,65 +400,57 @@ msgstr "" "[Read The Docs または GitHub Pages でドキュメントをホストする](/documentation/hosting-" "tools/publish-documentation-online)" -#: ../../index.md:198 -msgid "" -"*We are actively working on this section. [Follow development " -"here.](https://github.com/pyOpenSci/python-package-guide)*" -msgstr "" -"*私たちはこのセクションに積極的に取り組んでいます。 [開発のフォローはこちら](https://github.com/pyOpenSci" -"/python-package-guide)*" - -#: ../../index.md:206 +#: ../../index.md:203 msgid "✨ Tests for your Python package ✨" msgstr "✨Pythonパッケージのテスト✨" -#: ../../index.md:209 +#: ../../index.md:206 msgid "[Intro to testing](tests/index.md)" msgstr "[テスト入門](tests/index.md)" -#: ../../index.md:210 +#: ../../index.md:207 msgid "[Write tests](tests/write-tests)" msgstr "[テストを書く](tests/write-tests)" -#: ../../index.md:211 +#: ../../index.md:208 msgid "[Types of tests](tests/test-types)" msgstr "[テストの種類](tests/test-types)" -#: ../../index.md:216 +#: ../../index.md:213 msgid "✨ Run your tests ✨" msgstr "✨テストの実行✨" -#: ../../index.md:219 +#: ../../index.md:216 msgid "[Run tests locally](tests/run-tests)" msgstr "[ローカルでテストを実行する](tests/run-tests)" -#: ../../index.md:220 +#: ../../index.md:217 msgid "[Run tests in CI](tests/tests-ci)" msgstr "[CIでテストを実行する](tests/tests-ci)" -#: ../../index.md:224 +#: ../../index.md:221 msgid "Contributing" msgstr "貢献" -#: ../../index.md:234 +#: ../../index.md:230 msgid "✨ Code style & Format ✨" msgstr "✨コードスタイルとフォーマット✨" -#: ../../index.md:239 +#: ../../index.md:233 msgid "[Code style](package-structure-code/code-style-linting-format.md)" msgstr "[コードスタイル](package-structure-code/code-style-linting-format.md)" -#: ../../index.md:244 +#: ../../index.md:238 msgid "✨ Want to contribute? ✨" msgstr "✨貢献したいですか? ✨" -#: ../../index.md:249 +#: ../../index.md:243 msgid "" "We welcome contributions to this guide. Learn more about how you can " "contribute." msgstr "このガイドへのご貢献をお待ちしております。貢献方法についてはこちらをご覧ください。" -#: ../../index.md:255 +#: ../../index.md:248 msgid "" "xkcd comic showing a stick figure on the ground and one in the air. The " "one on the ground is saying. `You're flying! how?` The person in the air" @@ -475,11 +468,11 @@ msgstr "" "地上にいる人が言う。まったく新しい世界だ。でもどうやって飛んでるの?ボックス3 - 飛んでいる人はこう言う。- " "`反重力をインポートしました。薬箱の中のものも全部試しました。でもこれがpythonだと思う。地上の人はこう言っている。- これで終わり?" -#: ../../index.md:261 +#: ../../index.md:254 msgid "A community-created guidebook" msgstr "コミュニティが作るガイドブック" -#: ../../index.md:263 +#: ../../index.md:256 msgid "" "Every page in this guidebook goes through an extensive community review " "process. To ensure our guidebook is both beginner-friendly and accurate, " @@ -489,41 +482,41 @@ msgstr "" "このガイドブックのすべてのページは、コミュニティの広範なレビュープロセスを経ています。 " "このガイドブックが初心者にやさしく、正確であることを保証するために、私たちは幅広いスキルと専門知識を持つ多様なpythonistaや科学者からのレビューを奨励しています。" -#: ../../index.md:266 +#: ../../index.md:259 msgid "View guidebook contributors" msgstr "ガイドブックの貢献者を見る" -#: ../../index.md:274 +#: ../../index.md:267 msgid "Who this guidebook is for" msgstr "このガイドブックの対象者" -#: ../../index.md:276 +#: ../../index.md:269 msgid "" "This guidebook is for anyone interested in learning more about Python " "packaging. It is beginner-friendly and will provide:" msgstr "このガイドブックはPythonのパッケージングについてもっと学びたいと思っている人のためのものです。 初心者に優しく、以下を提供します:" -#: ../../index.md:278 +#: ../../index.md:271 msgid "Beginning-to-end guidance on creating a Python package." msgstr "Pythonパッケージの作成に関する初歩から終わりまでのガイダンス。" -#: ../../index.md:279 +#: ../../index.md:272 msgid "" "Resources to help you navigate the Python packaging ecosystem of tools " "and approaches to packaging." msgstr "Python のパッケージングエコシステムをナビゲートするのに役立つリソースです。" -#: ../../index.md:280 +#: ../../index.md:273 msgid "" "A curated list of resources to help you get your package into documented," " usable and maintainable shape." msgstr "あなたのパッケージが文書化され、使用可能で保守可能な形になるのを助けるリソースの厳選されたリストです。" -#: ../../index.md:282 +#: ../../index.md:275 msgid "Where this guide is headed" msgstr "このガイドの方向性" -#: ../../index.md:284 +#: ../../index.md:277 msgid "" "If you have ideas of things you'd like to see here clarified in this " "guide, [we invite you to open an issue on " @@ -533,7 +526,7 @@ msgstr "" "[GitHubにissueを開いてください。](https://github.com/pyOpenSci/python-package-" "guide/issues) 。" -#: ../../index.md:287 +#: ../../index.md:280 msgid "" "If you have questions about our peer review process or packaging in " "general, you are welcome to use our [pyOpenSci Discourse " @@ -542,7 +535,7 @@ msgstr "" "レビュープロセスやパッケージング全般について質問がある場合は、 [pyOpenSci Discourse " "forum](https://pyopensci.discourse.group/) をご利用ください。" -#: ../../index.md:289 +#: ../../index.md:282 msgid "" "This living Python packaging guide is updated as tools and best practices" " evolve in the Python packaging ecosystem. We will be adding new content " @@ -550,3 +543,15 @@ msgid "" msgstr "" "これは Python のパッケージングエコシステムにおけるツールやベストプラクティスの進化に合わせて更新されるこの生きた Python " "パッケージングガイドです。 来年にかけて新しいコンテンツを追加していく予定です。" + +#~ msgid "CI/CD" +#~ msgstr "CI/CD" + +#~ msgid "" +#~ "*We are actively working on this " +#~ "section. [Follow development " +#~ "here.](https://github.com/pyOpenSci/python-package-guide)*" +#~ msgstr "" +#~ "*私たちはこのセクションに積極的に取り組んでいます。 " +#~ "[開発のフォローはこちら](https://github.com/pyOpenSci/python-package-" +#~ "guide)*" diff --git a/locales/ja/LC_MESSAGES/maintain-automate.po b/locales/ja/LC_MESSAGES/maintain-automate.po new file mode 100644 index 00000000..aeee60bf --- /dev/null +++ b/locales/ja/LC_MESSAGES/maintain-automate.po @@ -0,0 +1,1615 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2026, pyOpenSci +# This file is distributed under the same license as the pyOpenSci Python +# Package Guide package. +# FIRST AUTHOR , 2026. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pyOpenSci Python Package Guide \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-01-04 09:59+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ja\n" +"Language-Team: ja \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../maintain-automate/ci.md:2 +msgid "" +"Continuous Integration and Continuous Deployment (CI/CD) For Python " +"Packages" +msgstr "" + +#: ../../maintain-automate/ci.md:4 +msgid "" +"When you develop, work on, and contribute to software, there is more to " +"consider than just writing code. Having tests and checks ensures that " +"your code runs reliably and follows a consistent format is also " +"important. You can use **Continuous Integration (CI)** and **Continuous " +"Deployment (CD)** to run tests and checks on your code every time someone" +" suggests a change online in a platform like GitHub or GitLab." +msgstr "" + +#: ../../maintain-automate/ci.md:12 +msgid "" +"**Continuous Integration (CI):** Automates the process of running tests, " +"code checks, and other workflows each time code is updated." +msgstr "" + +#: ../../maintain-automate/ci.md:14 +msgid "" +"**Continuous Deployment (CD):** Extends CI by allowing you to automate " +"publishing your package to PyPI, publishing your documentation, and more." +msgstr "" + +#: ../../maintain-automate/ci.md:18 +msgid "" +"CI and CD streamline software development by automating repetitive tasks " +"and ensuring code quality and consistency. Having CI setup also makes it " +"easier for new contributors to contribute to your code base without " +"setting up all your test suites and other local checks." +msgstr "" + +#: ../../maintain-automate/ci.md:23 +msgid "What is continuous integration?" +msgstr "" + +#: ../../maintain-automate/ci.md:25 +msgid "" +"When you're ready to publish your code online, you can set up Continuous " +"Integration (CI). CI is a platform that allows you to specify and run " +"jobs or workflows you define. These workflows include:" +msgstr "" + +#: ../../maintain-automate/ci.md:28 +msgid "Running your test suite" +msgstr "" + +#: ../../maintain-automate/ci.md:29 +msgid "Running code checkers / linters / spellcheck" +msgstr "" + +#: ../../maintain-automate/ci.md:30 +msgid "Building your documentation" +msgstr "" + +#: ../../maintain-automate/ci.md:32 +msgid "" +"CI allows you to automate running workflows across a suite of " +"environments, including:" +msgstr "" + +#: ../../maintain-automate/ci.md:34 +msgid "environments containing different Python versions and" +msgstr "" + +#: ../../maintain-automate/ci.md:35 +msgid "different operating systems (Mac, Linux, Windows)." +msgstr "" + +#: ../../maintain-automate/ci.md:37 +msgid "What is continuous deployment (CD)?" +msgstr "" + +#: ../../maintain-automate/ci.md:39 +msgid "" +"Continuous deployment (CD) extends the CI process by automating the " +"deployment of code changes to production or staging environments. In the " +"case of your open source tool, CD can be used to:" +msgstr "" + +#: ../../maintain-automate/ci.md:41 +msgid "Automate publishing to PyPI" +msgstr "" + +#: ../../maintain-automate/ci.md:42 +msgid "Automate publishing your documentation to GitHub Pages or Read the Docs." +msgstr "" + +#: ../../maintain-automate/ci.md:44 +msgid "" +"It is also used once your conda-forge recipe is set up to keep your " +"package up to date on conda-forge." +msgstr "" + +#: ../../maintain-automate/ci.md:47 +msgid "Why use CI?" +msgstr "" + +#: ../../maintain-automate/ci.md:49 +msgid "" +"CI can be configured to run a workflow on every commit pushed to GitHub " +"and every pull request opened. This ensures that any changes made to your" +" package are tested across environments before merging into the main " +"branch of your code." +msgstr "" + +#: ../../maintain-automate/ci.md:54 +msgid "" +"These checks are particularly useful if someone new is contributing to " +"your code. Every contributor's change will be tested when pushed to your " +"code repository." +msgstr "" + +#: ../../maintain-automate/ci.md:58 +msgid "" +"Together, CI and CD streamline the process of building, testing, and " +"deploying code. They aim to improve software development and publication " +"efficiency, quality, and reliability." +msgstr "" + +#: ../../maintain-automate/ci.md:63 +msgid "" +"All pyOpenSci packages must use some form of continuous integration. Even" +" if you are not planning to go through peer review, we strongly recommend" +" that you use continuous integration, too!" +msgstr "" + +#: ../../maintain-automate/ci.md:68 +msgid "" +"In the case of GitHub actions (which we will focus on here), CI workflows" +" are running on online servers that support GitHub." +msgstr "" + +#: ../../maintain-automate/ci.md:71 +msgid "CI/CD platforms" +msgstr "" + +#: ../../maintain-automate/ci.md:73 +msgid "" +"There are numerous platforms available for CI/CD. Here, we will focus on " +"GitHub Actions (GHA), built into GitHub. GitHub is the most commonly used" +" platform to store scientific open-source software." +msgstr "" + +#: ../../maintain-automate/ci.md:78 +msgid "" +"If you use [GitLab](https://about.gitlab.com/) CI/CD, many of the " +"principles described here will apply. However, the workflow files may " +"look different." +msgstr "" + +#: ../../maintain-automate/ci.md:83 +msgid "If you aren't sure, use GitHub Actions" +msgstr "" + +#: ../../maintain-automate/ci.md:85 +msgid "" +"While you are welcome to use the continuous integration platform of your " +"choice, we recommend GitHub Actions because it is free-to-use and " +"integrated tightly into the GitHub user interface. There is also an " +"entire store of GitHub action templates that you can easily use and adapt" +" to your own needs." +msgstr "" + +#: ../../maintain-automate/ci.md:91 +msgid "Other platforms that you may run into" +msgstr "" + +#: ../../maintain-automate/ci.md:94 +msgid "" +"[Appveyor:](https://www.appveyor.com/): Supports running tests on Windows" +" operating systems and predated the release of GitHub Actions. Today, " +"AppVeyor supports operating systems beyond Windows." +msgstr "" + +#: ../../maintain-automate/ci.md:97 +msgid "" +"[Travis CI:](https://www.travis-ci.com/) had been a common CI platform " +"choice in our ecosystem. Usage dropped after Travis CI ended free support" +" for open-source projects." +msgstr "" + +#: ../../maintain-automate/ci.md:100 +msgid "" +"[CircleCI:](https://circleci.com/) CircleCI can be useful for automated " +"builds of websites and documentation since it offers a preview of the PR " +"changes." +msgstr "" + +#: ../../maintain-automate/ci.md:105 +msgid "Embrace automation" +msgstr "" + +#: ../../maintain-automate/ci.md:107 +msgid "" +"By embracing CI/CD, you can ensure that your code runs as you expect it " +"to across the diverse landscapes of user environments. Further, you can " +"automate certain checks (and, in some cases, code fixes), including " +"linting and code style. You can even automate spell-checking your " +"documentation and docstrings!" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:2 +msgid "Environment Managers for Python Packaging" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:4 +msgid "Quick Decision Guide" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:6 +msgid "**Python-only project, want simplicity?** → venv + pip" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:7 +msgid "**Python-only, want speed?** → **uv** (recommended)" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:8 +msgid "**Installing CLI tools globally?** → pipx" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:9 +msgid "" +"**Need conda packages or cross-language dependencies?** → **pixi** " +"(recommended) or conda/mamba" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:10 +msgid "" +"**Creating a Python package?** → Use Hatch -- with UV as a dependency " +"manager" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:12 +msgid "" +"You can mix tools! For example, use **pipx** to install tools you use " +"often (at the command line) like Hatch, ruff or pre-commit, then use " +"**uv** within your projects for package and environment management." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:15 +msgid "Environment and package managers" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:17 +msgid "" +"Package and environment managers are important tools in your Python " +"packaging workflows. To make Your packaging experience when selecting a " +"tool will be easier if you understand the difference between the two." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:20 +msgid "" +"A **package manager** is used to install, update, and remove Python " +"packages (libraries and tools) and their dependencies in your " +"environment. When you use a package manager, you are often downloading " +"packages from a repository like PyPI (Python Package Index) or a local " +"repository like GitHub / GitLab." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:23 +msgid "" +"When you run `pip install numpy`, pip acts as a package manager and " +"installs numpy from PyPI. Pip's default repository when you install a " +"package is PyPI, but it can be used to install packages from other " +"repositories such as GitHub." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:26 +msgid "" +"An **environment manager** creates isolated spaces (environments) for " +"your Python projects. Each environment has its own Python installation " +"and its own installed packages. Using isolated environments for different" +" projects reduces the change of environment conflicts when using the same" +" environment across different projects with different dependencies." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:28 +msgid "" +"There are many tools listed below, but if you're short on time, you may " +"want to consider" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:30 +msgid "" +"Hatch combined with UV if you are managing a Python package. [Check out " +"our tutorials for more on this workflow.](create-pure-python-package)" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:31 +msgid "" +"Pixi or mamba as faster alternatives to conda if you are working in the " +"non-Pure Python packaging space." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:33 +msgid "Where environment managers save your environment" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:35 +msgid "" +"Environment managers save environments in different locations by default." +" For instance, `venv`, an environment manager that ships with Python, " +"saves an environment by default in your current working directory. UV has" +" the same native behavior. In contrast, conda and mamba save environments" +" in a global location, allowing you to access them easily across " +"projects." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:38 +msgid "" +"UV does have a global cache even tho its default behavior is to create an" +" environment in your current working directory." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:42 +msgid "Some tools do everything" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:44 +msgid "" +"Some modern tools handle both package installation and environment " +"management. For instance, UV, conda and mamba can be used to both create " +"environments, add dependencies, and build and install tools." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:46 +msgid "Comparison Table: pip ecosystem" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Tool" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Type" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Language" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Speed" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Default Environment Location" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Description" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "**pip**" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Package manager" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +#: ../../maintain-automate/task-runners.md +msgid "Python" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Slower" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "N/A (uses existing environment)" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Python's standard package installer. pip also builds packages" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "**pipx**" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Global (isolated per tool)" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "" +"Installs tools that you need to regularly use across projects such as " +"nox, pytest or ruff in a global location" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "**uv**" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Both" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Rust" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Fastest" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Current working directory" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Fast package installer and environment creator" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "**venv**" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Environment manager" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Python's built-in environment creator" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "**virtualenv**" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Moderate" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Feature-rich alternative to venv" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:56 +msgid "Comparison Table: conda ecosystem" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "**conda**" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Python/C++" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Global (`~/anaconda3/envs/`)" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Cross-language package and environment manager" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "**mamba**" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "C++" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Faster" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Faster drop-in replacement for conda" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "**pixi**" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Current working directory (`.pixi/`)" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:37 +msgid "Modern conda-based tool with lock files" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:64 +msgid "" +"**Speed comparison:** Rust-based tools (uv, pixi) are significantly " +"faster when installing packages and resolving complex environments than " +"Python-based tools. Mamba is faster than conda but might be slower than " +"Rust-based alternatives such as Pixi." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:67 +msgid "Package Managers" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:69 +msgid "pip" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:71 +msgid "" +"Pip is Python's standard package installer. It is included with Python by" +" default." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:72 +msgid "" +"Pip is great for installing packages from PyPI and GitHub / GitLab into " +"existing environments." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:73 +msgid "" +"It is also great for development if you want to install your package " +"locally in editable mode." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:75 +#: ../../maintain-automate/environment-managers.md:87 +#: ../../maintain-automate/environment-managers.md:99 +#: ../../maintain-automate/environment-managers.md:127 +#: ../../maintain-automate/environment-managers.md:189 +#: ../../maintain-automate/environment-managers.md:211 +#: ../../maintain-automate/environment-managers.md:261 +#: ../../maintain-automate/environment-managers.md:280 +msgid "**Basic usage:**" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:81 +msgid "pipx" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:83 +msgid "" +"Pipx is can be used to install a tool that you need to use across " +"projects (like `riff`, `pytest`, `sphinx`, `nox`), globally." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:85 +msgid "" +"Why use it: You might use it to avoid reinstalling the same tool over and" +" over on your machine." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:93 +msgid "conda / mamba" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:95 +msgid "" +"Conda is a cross-language package manager that installs Python packages, " +"R packages, system libraries, and more. Mamba is a faster, drop-in " +"replacement for conda and we highly recommend mamba over conda if you are" +" still using conda." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:97 +msgid "" +"These tools are best for scientific computing projects and environments " +"that need non-Python dependencies (like C libraries, GDAL, or R " +"packages)." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:109 +msgid "Conda and mamba also function as environment managers - see below!" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:112 +#: ../../maintain-automate/index.md:46 +msgid "Environment Managers" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:114 +msgid "hatch for pure Python packaging" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:116 +#: ../../maintain-automate/environment-managers.md:204 +#: ../../maintain-automate/environment-managers.md:273 +msgid "pyOpenSci Recommends" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:118 +msgid "" +"We recommend **hatch** as a complete project management tool for Python " +"packaging. Hatch manages environments, builds packages, runs tests, and " +"handles publishing—all in one tool. It can use **uv** as its backend for " +"even faster operations." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:121 +msgid "" +"Hatch is a comprehensive modern Python project manager that handles " +"environments, package building, testing, and publishing. Hatch creates " +"isolated environments for different tasks (testing, docs, development). " +"Hatch uses UV under the hood to install Python, and can be set to use UV " +"to manage environment installations too." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:123 +msgid "" +"Hatch is best for Python package developers who want an all-in-one tool " +"that handles the entire packaging workflow from development to " +"publication." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:125 +msgid "[Check out our tutorial](create-pure-python-package)" +msgstr "" + +#: ../../maintain-automate/environment-managers.md +msgid "hatch (recommended)" +msgstr "" + +#: ../../maintain-automate/environment-managers.md +msgid "hatch with uv backend" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:160 +msgid "" +"Hatch acts as a task runner and can manage multiple environments that you" +" define. It also handles project and dependency installation, making it " +"ideal for package maintainers who want consistency across development " +"tasks." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:163 +msgid "venv" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:165 +msgid "" +"venv is Python's built-in environment creator (included with Python " +"3.3+). It is best for simple pure Python projects. Because venv ships " +"with Python, and it is used by Hatch, UV and other tools under the hood, " +"it is the most widely used tool." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:168 +msgid "Basic usage:" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:184 +msgid "virtualenv" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:186 +msgid "" +"virtualenv is a more feature-rich alternative to venv with better " +"performance and additional options. It's best for you if you need more " +"control over your environments." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:202 +msgid "uv" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:206 +msgid "" +"We recommend **uv** for fast, reliable Python package and environment " +"management. It's significantly faster than pip and easily handles both " +"installing packages and creating environments." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:209 +msgid "" +"UV is a fast, Rust-based tool that replaces both pip and venv. It " +"installs packages and creates virtual environments at lightning speed. UV" +" is best for any pure Python project. Pixi is better if are working in " +"the non-pure Python packaging space." +msgstr "" + +#: ../../maintain-automate/environment-managers.md +msgid "uv (recommended)" +msgstr "" + +#: ../../maintain-automate/environment-managers.md +msgid "venv + pip" +msgstr "" + +#: ../../maintain-automate/environment-managers.md +#: ../../maintain-automate/environment-managers.md:272 +msgid "pixi" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:256 +msgid "conda / mamba (as environment managers)" +msgstr "" + +#: ../../maintain-automate/environment-managers.md:258 +msgid "" +"Conda and mamba create isolated environments that can contain Python, R, " +"system libraries, and more. The conda ecosystem tools are best for " +"managing complex dependencies across languages or when you need specific " +"system libraries." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:275 +msgid "" +"For projects needing conda packages, we recommend **pixi** over " +"conda/mamba. It's faster, uses lock files for reproducibility, and works " +"cross-platform." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:278 +msgid "" +"Pixi is a modern, fast package and environment manager built on conda " +"ecosystems. Similar to UV, Pixi uses lock files for reproducible " +"environments. Pixi is best suited for scientific projects that require " +"conda packages, teams that require exact reproducibility, or cross-" +"platform development." +msgstr "" + +#: ../../maintain-automate/environment-managers.md:299 +msgid "" +"Pixi automatically creates a lock file (`pixi.lock`) ensuring everyone on" +" your team gets identical environments." +msgstr "" + +#: ../../maintain-automate/index.md:46 +msgid "What is CI?" +msgstr "" + +#: ../../maintain-automate/index.md:46 +msgid "Task runners" +msgstr "" + +#: ../../maintain-automate/index.md:46 +msgid "Maintain & Automate" +msgstr "" + +#: ../../maintain-automate/index.md:2 +msgid "Automate Workflows and Maintain Your Package" +msgstr "" + +#: ../../maintain-automate/index.md:4 +msgid "" +"Once you've [created your package](create-pure-python-package), " +"[published it](publish-pypi-tutorial), and set up a repository for it, " +"the next step is to automate development and maintenance workflows. " +"Automation makes maintaining your package easier, more robust, and more " +"secure. It also helps new contributors get started quickly without having" +" to manually set up complex development environments and testing " +"workflows." +msgstr "" + +#: ../../maintain-automate/index.md:11 +msgid "Why automate?" +msgstr "" + +#: ../../maintain-automate/index.md:13 +msgid "" +"When you automate repetitive tasks like running tests, checking code " +"style, and building documentation, you ensure that these important steps " +"happen consistently every time. This consistency helps you catch bugs " +"early, maintain code quality, and make it easier for others to contribute" +" to your package. Automation also saves you time—instead of remembering " +"and typing long command sequences, you can run everything with simple " +"commands or have workflows run automatically when you push code to " +"GitHub." +msgstr "" + +#: ../../maintain-automate/index.md:22 +msgid "What you'll learn" +msgstr "" + +#: ../../maintain-automate/index.md:24 +msgid "" +"This section will walk you through two key automation strategies for " +"Python packages:" +msgstr "" + +#: ../../maintain-automate/index.md:27 +msgid "" +"[**Task runners**](task-runners-intro) help you automate common " +"development tasks locally— things like running tests, building " +"documentation, formatting code, and checking for errors. Instead of " +"typing out long command sequences every time, you define tasks once and " +"run them with simple commands. Task runners like Hatch and Nox also " +"manage isolated environments for different workflows, ensuring you have " +"the right dependencies for each task." +msgstr "" + +#: ../../maintain-automate/index.md:35 +msgid "" +"[**Continuous Integration (CI)**](ci-cd) takes automation further by " +"running your tests and checks automatically every time code is pushed to " +"GitHub or when someone opens a pull request. CI ensures that all changes " +"are tested across different Python versions and operating systems before " +"they're merged. You can also use Continuous Deployment (CD) to automate " +"publishing your package to PyPI and deploying your documentation." +msgstr "" + +#: ../../maintain-automate/index.md:42 +msgid "" +"Together, task runners and CI/CD create a robust development workflow " +"that makes your package easier to maintain and more welcoming to " +"contributors." +msgstr "" + +#: ../../maintain-automate/task-runners.md:2 +msgid "Task Runners for Python Packaging" +msgstr "" + +#: ../../maintain-automate/task-runners.md:4 +msgid "What is a Task Runner?" +msgstr "" + +#: ../../maintain-automate/task-runners.md:6 +msgid "" +"A task runner is a tool that automates repetitive development workflows. " +"Instead of typing out long command sequences every time you need to test " +"your code, build documentation, or check your package, you define these " +"tasks once and run them with simple commands." +msgstr "" + +#: ../../maintain-automate/task-runners.md:11 +msgid "For example, rather than running:" +msgstr "" + +#: ../../maintain-automate/task-runners.md:19 +msgid "You can define a task and run:" +msgstr "" + +#: ../../maintain-automate/task-runners.md:25 +msgid "" +"Most modern task runners also include environment management features " +"that make it quick and easy to run tasks. Task runners ensure that " +"workflows are executed consistently every time, whether you're running " +"them on your laptop or in continuous integration, and they also make it " +"easier for contributors to recreate the same workflows in their local " +"environments." +msgstr "" + +#: ../../maintain-automate/task-runners.md:32 +msgid "Benefits of task runners" +msgstr "" + +#: ../../maintain-automate/task-runners.md:34 +msgid "" +"Task runners provide several benefits for package development. When you " +"use a task runner, everyone on your team runs tasks the same way, " +"reducing environment-specific issues and \"works on my machine\" " +"problems. Complex multi-step processes become single commands, so " +"contributors don't need to memorize or look up lengthy command sequences." +msgstr "" + +#: ../../maintain-automate/task-runners.md:41 +msgid "" +"Many task runners also create isolated environments for different " +"workflows, ensuring the right dependencies are available for each task " +"without conflicts. This means your tasks run the same way locally and in " +"continuous integration, making debugging easier and builds more reliable." +msgstr "" + +#: ../../maintain-automate/task-runners.md:47 +msgid "Two types of task runners" +msgstr "" + +#: ../../maintain-automate/task-runners.md:49 +msgid "" +"The most common task runners used in the Python ecosystem fall into two " +"categories:" +msgstr "" + +#: ../../maintain-automate/task-runners.md:51 +msgid "Environment + command managers" +msgstr "" + +#: ../../maintain-automate/task-runners.md:53 +msgid "" +"You can use these to both create custom isolated environments and also to" +" run your tasks." +msgstr "" + +#: ../../maintain-automate/task-runners.md:55 +msgid "" +"**[Hatch](https://hatch.pypa.io/):** Hatch is an all-in-one package " +"management tool that includes a built-in task runner. It uses a " +"declarative TOML configuration in your `pyproject.toml` file, which means" +" everything related to your package—metadata, dependencies, and " +"tasks—lives in one place. Hatch also integrates with UV for fast " +"environment creation." +msgstr "" + +#: ../../maintain-automate/task-runners.md:56 +msgid "" +"**[Nox](https://nox.thea.codes/):** Nox is a flexible Python-based task " +"runner that uses a code-based (imperative) configuration approach. You " +"write Python functions to define your tasks in a `noxfile.py`, which " +"gives you maximum flexibility for complex testing scenarios and " +"conditional logic. It's especially popular in the Scientific Python " +"ecosystem." +msgstr "" + +#: ../../maintain-automate/task-runners.md:57 +msgid "" +"**[Tox](https://tox.wiki/):** Tox is a mature declarative tool that uses " +"INI or TOML configuration files. It's particularly well-suited for " +"testing across multiple Python versions and dependency combinations, and " +"has been a standard in the Python community for years." +msgstr "" + +#: ../../maintain-automate/task-runners.md:59 +msgid "Command-only tools" +msgstr "" + +#: ../../maintain-automate/task-runners.md:61 +msgid "These tools execute your commands but don't manage environments." +msgstr "" + +#: ../../maintain-automate/task-runners.md:63 +msgid "" +"**[Make](https://www.gnu.org/software/make/):** Make is a traditional " +"build automation tool that uses Makefiles. It's widely known and " +"available on most systems, making it a good choice for simple task " +"automation when you don't need Python-specific features. However, it can " +"have cross-platform compatibility issues, especially on Windows." +msgstr "" + +#: ../../maintain-automate/task-runners.md:64 +msgid "" +"**[Just](https://just.systems/):** Just is a modern command runner " +"written in Rust with simple, Make-like syntax. It's fast, cross-platform," +" and easy to learn, making it a good lightweight alternative when you " +"need basic task running without environment management." +msgstr "" + +#: ../../maintain-automate/task-runners.md:66 +msgid "" +"Generally the two task runners that pyOpenSci suggests and uses are " +"[Nox](https://nox.thea.codes/en/stable/) and [Hatch (also a package " +"management tool)](https://hatch.pypa.io/latest/). Below, you will learn " +"about the differences between all of the tools and can make a decision " +"for yourself depending on your needs." +msgstr "" + +#: ../../maintain-automate/task-runners.md:71 +msgid "pyOpenSci recommends: Hatch and Nox" +msgstr "" + +#: ../../maintain-automate/task-runners.md:73 +msgid "" +"At pyOpenSci, the recommendation is **Hatch** for Python package " +"development. Hatch also includes a task and environment system feature. " +"Using Hatch means you don't need to setup another tool like Nox." +msgstr "" + +#: ../../maintain-automate/task-runners.md:77 +msgid "" +"However, **Nox** is also an excellent choice, particularly if you need " +"complex testing, build or workflow logic." +msgstr "" + +#: ../../maintain-automate/task-runners.md:80 +msgid "" +"You'll find many of the pyOpenSci documentation repositories use Nox to " +"automate workflows such as building and testing documentation." +msgstr "" + +#: ../../maintain-automate/task-runners.md:83 +msgid "Why use Hatch?" +msgstr "" + +#: ../../maintain-automate/task-runners.md:85 +msgid "" +"Hatch is an all-in-one tool that helps you manage metadata, dependencies," +" build configuration, and tasks together in `pyproject.toml`. Using " +"Hatch, everything related to your package lives in one place. It combines" +" packaging (building and publishing) with everyday development tasks like" +" testing, docs, and formatting, making workflows easier to run and share." +" Hatch also integrates with UV making it extremely fast. Finally, Hatch " +"follows modern packaging practices (for example, PEP 621), so your " +"project stays aligned with community standards." +msgstr "" + +#: ../../maintain-automate/task-runners.md:95 +msgid "Why use Nox?" +msgstr "" + +#: ../../maintain-automate/task-runners.md:97 +msgid "" +"Python-based configuration gives Nox maximum flexibility, making it easy " +"to express complex logic and conditionals directly. Because sessions are " +"written in Python, they are explicit and easy to inspect and debug. Nox " +"is particularly powerful for handling complex test and build scenarios " +"that some packages require." +msgstr "" + +#: ../../maintain-automate/task-runners.md:103 +msgid "Declarative vs. imperative configuration" +msgstr "" + +#: ../../maintain-automate/task-runners.md:105 +msgid "An important distinction between these tools is how you configure them:" +msgstr "" + +#: ../../maintain-automate/task-runners.md:107 +msgid "" +"Hatch is a **Declarative tool**. This means it uses a configuration file " +"where you specify *what* you want. See the example below:" +msgstr "" + +#: ../../maintain-automate/task-runners.md:119 +msgid "" +"Nox uses an **Imperative** approach to defining workflows. With Nox, you " +"write Python code that defines how to perform a task. An example of a Nox" +" function (which would live in a separate noxfile.py file) is shown " +"below:" +msgstr "" + +#: ../../maintain-automate/task-runners.md:132 +msgid "Trade-offs: declarative vs. imperative" +msgstr "" + +#: ../../maintain-automate/task-runners.md:134 +msgid "" +"**Declarative (Hatch, Tox):** Simpler syntax, easier to read and " +"maintain. Might be slightly less flexible for complex logic (this is user" +" dependent)." +msgstr "" + +#: ../../maintain-automate/task-runners.md:137 +msgid "" +"**Imperative (Nox):** You can easily include complex logic and " +"conditionals. Because it uses Python, it might be more familiar to you!" +msgstr "" + +#: ../../maintain-automate/task-runners.md:141 +msgid "" +"Neither approach is inherently better—it depends on your needs and " +"preferences. Projects with complex testing scenarios may benefit from " +"Nox's flexibility, while projects wanting simple, standardized workflows " +"may prefer the clarity of declarative configuration." +msgstr "" + +#: ../../maintain-automate/task-runners.md:146 +msgid "An overview of the core task runners tools that you will find in" +msgstr "" + +#: ../../maintain-automate/task-runners.md:147 +msgid "the Python ecosystem" +msgstr "" + +#: ../../maintain-automate/task-runners.md:149 +msgid "Comparison table" +msgstr "" + +#: ../../maintain-automate/task-runners.md:151 +msgid "" +"Below you will see a comparison of features associated with each tool. " +"Each tool is then described in a bit more detail just in case you want a " +"better lay of the land." +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "Feature" +msgstr "" + +#: ../../maintain-automate/task-runners.md +#: ../../maintain-automate/task-runners.md:167 +msgid "Hatch" +msgstr "" + +#: ../../maintain-automate/task-runners.md +#: ../../maintain-automate/task-runners.md:223 +msgid "Nox" +msgstr "" + +#: ../../maintain-automate/task-runners.md +#: ../../maintain-automate/task-runners.md:275 +msgid "Tox" +msgstr "" + +#: ../../maintain-automate/task-runners.md +#: ../../maintain-automate/task-runners.md:321 +msgid "Make" +msgstr "" + +#: ../../maintain-automate/task-runners.md +#: ../../maintain-automate/task-runners.md:360 +msgid "Just" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "**Configuration**" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "pyproject.toml" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "noxfile.py" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "tox.ini" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "Makefile" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "justfile" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "**Configuration Style**" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "Declarative" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "Imperative" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "**Language**" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "TOML" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "INI/TOML" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "Make syntax" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "Just syntax" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "**Python-specific**" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "Yes" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "No" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "**Environment Management**" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "**Matrix Testing**" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "**Packaging Integration**" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "**Cross-platform**" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "Limited" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "**Best For**" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "Complete package development" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "Complex testing workflows and other builds" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "Legacy projects, standard testing" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "Simple tasks" +msgstr "" + +#: ../../maintain-automate/task-runners.md +msgid "Simple commands" +msgstr "" + +#: ../../maintain-automate/task-runners.md:169 +msgid "" +"[Hatch](https://hatch.pypa.io/) is a modern, all-in-one packaging and " +"task automation tool that simplifies Python package development by " +"handling everything from building and publishing to running tests and " +"formatting code. Hatch is what we use [in our packaging tutorials found " +"in this guidebook](packaging-101)." +msgstr "" + +#: ../../maintain-automate/task-runners.md:174 +msgid "Why we like Hatch" +msgstr "" + +#: ../../maintain-automate/task-runners.md:176 +msgid "" +"Hatch stands out because it's a single tool that handles both packaging " +"AND task running. Instead of juggling multiple tools, you configure " +"everything in your `pyproject.toml` file—no extra configuration files " +"needed. Hatch creates isolated environments for different tasks (like " +"testing or building docs) and integrates with UV for extremely fast " +"environment setup. It uses a declarative, clean syntax that's easy to " +"read and maintain, and it supports matrix testing so you can easily test " +"your package across multiple Python versions." +msgstr "" + +#: ../../maintain-automate/task-runners.md:185 +msgid "When to use Hatch" +msgstr "" + +#: ../../maintain-automate/task-runners.md:187 +msgid "" +"Hatch is ideal for complete package development workflows. You can use it" +" for testing across Python versions, building documentation, running code" +" formatters and linters, and building and publishing your package to " +"PyPI. If you want a modern, all-in-one solution that follows current " +"Python packaging standards (like PEP 621), Hatch is an excellent choice." +msgstr "" + +#: ../../maintain-automate/task-runners.md:194 +#: ../../maintain-automate/task-runners.md:251 +#: ../../maintain-automate/task-runners.md:299 +#: ../../maintain-automate/task-runners.md:344 +#: ../../maintain-automate/task-runners.md:383 +msgid "Example configuration" +msgstr "" + +#: ../../maintain-automate/task-runners.md:196 +msgid "" +"Below is an example of how you'd set up a test environment in Hatch. This" +" configuration creates a `test` environment with pytest and pytest-cov " +"installed, defines a `run` script to execute your tests, and sets up " +"matrix testing to run tests on Python 3.10, 3.11, and 3.12:" +msgstr "" + +#: ../../maintain-automate/task-runners.md:217 +#: ../../maintain-automate/task-runners.md:269 +#: ../../maintain-automate/task-runners.md:315 +#: ../../maintain-automate/task-runners.md:356 +#: ../../maintain-automate/task-runners.md:396 +msgid "You would run the above in your terminal using:" +msgstr "" + +#: ../../maintain-automate/task-runners.md:219 +msgid "`hatch run test:run`" +msgstr "" + +#: ../../maintain-automate/task-runners.md:221 +msgid "**Learn more:** [Hatch documentation](https://hatch.pypa.io/)" +msgstr "" + +#: ../../maintain-automate/task-runners.md:225 +msgid "" +"[Nox](https://nox.thea.codes/) is a Python-based automation toolkit " +"focused on testing across environments. It uses a code-based (imperative)" +" configuration approach that gives you maximum flexibility for complex " +"testing workflows." +msgstr "" + +#: ../../maintain-automate/task-runners.md:230 +msgid "Why we like Nox" +msgstr "" + +#: ../../maintain-automate/task-runners.md:232 +msgid "" +"Nox stands out because it uses Python code to define your tasks, which " +"means you can include complex logic and conditionals directly in your " +"automation workflows. Because sessions are written in Python, they're " +"explicit, easy to inspect, and straightforward to debug. Nox is " +"particularly powerful for handling complex test and build scenarios that " +"some packages require, and it's especially popular in the Scientific " +"Python ecosystem. You'll find many pyOpenSci documentation repositories " +"use Nox to automate workflows such as building and testing documentation." +msgstr "" + +#: ../../maintain-automate/task-runners.md:242 +msgid "When to use Nox" +msgstr "" + +#: ../../maintain-automate/task-runners.md:244 +msgid "" +"Nox is ideal when you need complex testing scenarios with conditional " +"logic or when you prefer Python-based configuration over declarative " +"formats. It's excellent for testing across Python versions and managing " +"multiple testing environments. If packaging is handled separately and you" +" want maximum flexibility in your task automation, Nox is a great choice." +msgstr "" + +#: ../../maintain-automate/task-runners.md:253 +msgid "" +"Below is an example of a Nox session that runs tests across multiple " +"Python versions. The `@nox.session` decorator defines a session (similar " +"to a task), and you specify which Python versions to test with. Nox will " +"create isolated environments for each version and run your tests:" +msgstr "" + +#: ../../maintain-automate/task-runners.md:271 +msgid "`nox -s tests`" +msgstr "" + +#: ../../maintain-automate/task-runners.md:273 +msgid "**Learn more:** [Nox documentation](https://nox.thea.codes/)" +msgstr "" + +#: ../../maintain-automate/task-runners.md:277 +msgid "" +"[Tox](https://tox.wiki/) is a mature automation tool for testing in " +"multiple environments. It uses declarative configuration and has been a " +"standard in the Python community for years." +msgstr "" + +#: ../../maintain-automate/task-runners.md:281 +msgid "Why people use Tox" +msgstr "" + +#: ../../maintain-automate/task-runners.md:283 +msgid "" +"Tox is mature and stable, with a long history in the Python ecosystem. It" +" uses declarative configuration (traditionally INI format, though TOML " +"support was added recently) and is particularly good for testing across " +"Python versions and dependency sets. Many projects use Tox because it " +"integrates well with CI/CD systems and has a robust plugin ecosystem." +msgstr "" + +#: ../../maintain-automate/task-runners.md:290 +msgid "When to use Tox" +msgstr "" + +#: ../../maintain-automate/task-runners.md:292 +msgid "" +"Tox is ideal if you're maintaining a legacy project that already uses it," +" or if you have existing `tox.ini` configuration you want to preserve. " +"It's also a good choice if you need specific Tox plugins or prefer " +"declarative configuration separate from your packaging tools. However, " +"keep in mind that Tox can be slower than modern alternatives like Hatch." +msgstr "" + +#: ../../maintain-automate/task-runners.md:301 +msgid "" +"Below is an example of a Tox configuration that runs tests across " +"multiple Python versions. The `envlist` specifies which Python versions " +"to test, and the `testenv` section defines what to install and run:" +msgstr "" + +#: ../../maintain-automate/task-runners.md:317 +msgid "" +"`tox` (runs all environments) or `tox -e py310` (runs a specific " +"environment)" +msgstr "" + +#: ../../maintain-automate/task-runners.md:319 +msgid "**Learn more:** [Tox documentation](https://tox.wiki/)" +msgstr "" + +#: ../../maintain-automate/task-runners.md:323 +msgid "" +"[Make](https://www.gnu.org/software/make/) is a traditional build " +"automation tool that uses Makefiles. It's been around since the 1970s and" +" is widely used across many programming languages." +msgstr "" + +#: ../../maintain-automate/task-runners.md:327 +msgid "Why people use Make" +msgstr "" + +#: ../../maintain-automate/task-runners.md:329 +msgid "" +"Make is widely known and available on most systems, making it a familiar " +"choice for many developers. It has simple syntax for basic tasks and " +"executes very quickly. Because it's not Python-specific, you can use it " +"to coordinate tasks across different languages in the same project." +msgstr "" + +#: ../../maintain-automate/task-runners.md:335 +msgid "When to use Make" +msgstr "" + +#: ../../maintain-automate/task-runners.md:337 +msgid "" +"Make is best for simple task automation when you don't need Python-" +"specific features or environment management. It's a good lightweight " +"option if you want something fast and universally available. However, be " +"aware that Make can have cross-platform compatibility issues, especially " +"on Windows, and you'll need to handle Python environment management " +"separately." +msgstr "" + +#: ../../maintain-automate/task-runners.md:346 +msgid "" +"Below is an example of a simple Makefile with tasks for testing and " +"building documentation:" +msgstr "" + +#: ../../maintain-automate/task-runners.md:358 +msgid "`make test` or `make docs`" +msgstr "" + +#: ../../maintain-automate/task-runners.md:362 +msgid "" +"[Just](https://just.systems/) is a modern command runner written in Rust " +"that offers a simpler, more user-friendly alternative to Make." +msgstr "" + +#: ../../maintain-automate/task-runners.md:365 +msgid "Why people use Just" +msgstr "" + +#: ../../maintain-automate/task-runners.md:367 +msgid "" +"Just has simple, Make-like syntax but with better error messages and more" +" intuitive behavior. It's fast, truly cross-platform (unlike Make), and " +"easy to learn. The tool is written in Rust, which makes it very " +"performant, and it avoids many of the quirks and gotchas that Make has " +"accumulated over decades." +msgstr "" + +#: ../../maintain-automate/task-runners.md:373 +msgid "When to use Just" +msgstr "" + +#: ../../maintain-automate/task-runners.md:375 +msgid "" +"Just is ideal when you need a lightweight command runner for simple tasks" +" and don't require Python-specific features or environment management. " +"It's a great choice if you want something faster and more modern than " +"Make, with better cross-platform support. However, keep in mind that Just" +" requires separate installation and has less integration with the Python " +"packaging ecosystem compared to tools like Hatch or Nox." +msgstr "" + +#: ../../maintain-automate/task-runners.md:385 +msgid "" +"Below is an example of a justfile with tasks for testing and building " +"documentation:" +msgstr "" + +#: ../../maintain-automate/task-runners.md:398 +msgid "`just test` or `just docs`" +msgstr "" + +#: ../../maintain-automate/task-runners.md:400 +msgid "**Learn more:** [Just documentation](https://just.systems/)" +msgstr "" + +#: ../../maintain-automate/task-runners.md:402 +msgid "Choosing the right task runner" +msgstr "" + +#: ../../maintain-automate/task-runners.md:404 +msgid "**Choose Hatch if:**" +msgstr "" + +#: ../../maintain-automate/task-runners.md:406 +msgid "You're building a Python package" +msgstr "" + +#: ../../maintain-automate/task-runners.md:407 +msgid "You want an all-in-one tool" +msgstr "" + +#: ../../maintain-automate/task-runners.md:408 +msgid "You prefer configuration in pyproject.toml" +msgstr "" + +#: ../../maintain-automate/task-runners.md:409 +msgid "You want fast environment management" +msgstr "" + +#: ../../maintain-automate/task-runners.md:410 +msgid "You prefer declarative configuration" +msgstr "" + +#: ../../maintain-automate/task-runners.md:412 +msgid "**Choose Nox if:**" +msgstr "" + +#: ../../maintain-automate/task-runners.md:414 +msgid "You need complex testing scenarios with conditional logic" +msgstr "" + +#: ../../maintain-automate/task-runners.md:415 +msgid "You prefer Python-based, imperative configuration" +msgstr "" + +#: ../../maintain-automate/task-runners.md:416 +msgid "You're working in the Scientific Python ecosystem" +msgstr "" + +#: ../../maintain-automate/task-runners.md:417 +msgid "Packaging is handled separately" +msgstr "" + +#: ../../maintain-automate/task-runners.md:418 +msgid "You want maximum flexibility" +msgstr "" + +#: ../../maintain-automate/task-runners.md:420 +msgid "**Choose Tox if:**" +msgstr "" + +#: ../../maintain-automate/task-runners.md:422 +msgid "You're maintaining a legacy project already using it" +msgstr "" + +#: ../../maintain-automate/task-runners.md:423 +msgid "You have existing tox.ini configuration" +msgstr "" + +#: ../../maintain-automate/task-runners.md:424 +msgid "You need specific tox plugins" +msgstr "" + +#: ../../maintain-automate/task-runners.md:425 +msgid "You prefer declarative configuration separate from packaging" +msgstr "" + +#: ../../maintain-automate/task-runners.md:427 +msgid "**Choose Make or Just if:**" +msgstr "" + +#: ../../maintain-automate/task-runners.md:429 +msgid "You need a lightweight command runner" +msgstr "" + +#: ../../maintain-automate/task-runners.md:430 +msgid "You're not doing Python-specific workflows" +msgstr "" + +#: ../../maintain-automate/task-runners.md:431 +msgid "You want something simple and fast" +msgstr "" + +#: ../../maintain-automate/task-runners.md:432 +msgid "You don't need environment management" +msgstr "" + +#: ../../maintain-automate/task-runners.md:434 +msgid "Next steps" +msgstr "" + +#: ../../maintain-automate/task-runners.md:436 +msgid "" +"Learn how to use [Hatch " +"environments](https://hatch.pypa.io/latest/tutorials/environment/basic-" +"usage/)" +msgstr "" + +#: ../../maintain-automate/task-runners.md:437 +msgid "" +"[Create a package using the Python package tutorial.](create-pure-python-" +"package)" +msgstr "" + +#: ../../maintain-automate/task-runners.md:438 +msgid "" +"Explore and use the [pyOpenSci package " +"template](https://github.com/pyOpenSci/pyos-package-template) with pre-" +"configured Hatch tasks" +msgstr "" + +#: ../../maintain-automate/task-runners.md:441 +msgid "" +"Read the [Scientific Python development guide on task " +"runners](https://learn.scientific-python.org/development/guides/tasks/). " +"This guide is excellent if you plan to use nox as your task runner as it " +"has lots of examples that you can follow." +msgstr "" diff --git a/locales/ja/LC_MESSAGES/package-structure-code.po b/locales/ja/LC_MESSAGES/package-structure-code.po index bb6f5144..071d9423 100644 --- a/locales/ja/LC_MESSAGES/package-structure-code.po +++ b/locales/ja/LC_MESSAGES/package-structure-code.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: pyOpenSci Python Package Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-12 11:17+0200\n" +"POT-Creation-Date: 2026-01-04 09:59+0900\n" "PO-Revision-Date: 2025-04-14 18:12+0000\n" "Last-Translator: Tetsuo Koyama , 2025\n" "Language: ja\n" @@ -117,11 +117,11 @@ msgstr "" "pre-commitフックとpre-" "commit.ciボットを設定することで、日々のワークフローやGitHubのプルリクエストでコードフォーマットツールを簡単に使えるようになります。" -#: ../../package-structure-code/code-style-linting-format.md:38 +#: ../../package-structure-code/code-style-linting-format.md:39 msgid "Use a code format tool (or tools) to make your life easier" msgstr "コードフォーマットツール (または複数のツール) を使って生活を楽にします" -#: ../../package-structure-code/code-style-linting-format.md:40 +#: ../../package-structure-code/code-style-linting-format.md:41 msgid "" "We suggest that you use a code format tool, or a set of format tools, " "because manually applying all of the PEP 8 format specifications is both " @@ -134,56 +134,58 @@ msgstr "" "のフォーマット仕様をすべて手作業で適用するのは、メンテナにとって時間がかかるだけでなく、潜在的な新規貢献者にとっては障害になりかねないからです。 " "コードフォーマッタはあなたのコードを自動的に再フォーマットし、PEP 8の標準を遵守し、一貫したスタイル決定を適用します。" -#: ../../package-structure-code/code-style-linting-format.md:46 +#: ../../package-structure-code/code-style-linting-format.md:47 msgid "Setting up a code format suite of tools will:" msgstr "コードフォーマット一式のツールを設定します:" -#: ../../package-structure-code/code-style-linting-format.md:48 +#: ../../package-structure-code/code-style-linting-format.md:49 msgid "Save you and your maintainer team time in fixing PEP 8 inconsistencies." msgstr "PEP 8の不整合を修正する時間を、あなたとあなたのメンテナチームに節約させます。" -#: ../../package-structure-code/code-style-linting-format.md:49 +#: ../../package-structure-code/code-style-linting-format.md:50 msgid "Ensure that format and style is consistent across your entire code-base." msgstr "フォーマットとスタイルがコードベース全体で一貫していることを確認します。" -#: ../../package-structure-code/code-style-linting-format.md:50 +#: ../../package-structure-code/code-style-linting-format.md:51 msgid "" "Avoid lengthy discussions with contributors and other maintainers about " "personalized code format preferences during reviews." msgstr "レビューの際に、貢献者や他のメンテナと、個人的なコード形式の好みについて長々と議論するのは避けましょう。" -#: ../../package-structure-code/code-style-linting-format.md:52 +#: ../../package-structure-code/code-style-linting-format.md:53 msgid "" "Avoid pure visual edits in the code base so that code reviews focus on " "added value" msgstr "コードレビューが付加価値に焦点を当てるように、コードベースにおける純粋な視覚的編集を避けます。" -#: ../../package-structure-code/code-style-linting-format.md:54 +#: ../../package-structure-code/code-style-linting-format.md:55 msgid "" "Many packages use a suite of tools to apply code format rules, taking the" " work out of manually implementing code format requirements." msgstr "多くのパッケージは、コードフォーマット規則を適用するために一連のツールを使用しており、手作業でコードフォーマット要件を実装する手間を省いています。" -#: ../../package-structure-code/code-style-linting-format.md:57 +#: ../../package-structure-code/code-style-linting-format.md:58 msgid "" "Consistent code format across packages within the (scientific) Python " "ecosystem, will also broadly make code easier to scan, understand and " "contribute to." msgstr "(科学的な)Pythonエコシステム内のパッケージ間で統一されたコードフォーマットは、広くコードをスキャンし、理解し、貢献することを容易にします。" -#: ../../package-structure-code/code-style-linting-format.md:60 -msgid "Linting vs format and style" +#: ../../package-structure-code/code-style-linting-format.md:61 +#, fuzzy +msgid "Linting vs. format and style" msgstr "リンティング vs フォーマットとスタイル" -#: ../../package-structure-code/code-style-linting-format.md:62 +#: ../../package-structure-code/code-style-linting-format.md:63 msgid "Before we dive in let's get a few definitions out of the way." msgstr "その前に、いくつかの定義を整理しておきましょう。" -#: ../../package-structure-code/code-style-linting-format.md:64 -msgid "Code Linting" +#: ../../package-structure-code/code-style-linting-format.md:65 +#, fuzzy +msgid "Code linting" msgstr "コードリンティング" -#: ../../package-structure-code/code-style-linting-format.md:66 +#: ../../package-structure-code/code-style-linting-format.md:67 msgid "" "A code linter is a tool that will review your code and identify errors or" " issues. A linter typically does not modify your code. It will tell you " @@ -193,11 +195,12 @@ msgstr "" "コードリンターは、コードをレビューしてエラーや問題を特定するツールです。 リンターは通常、あなたのコードを修正しません。 " "エラーが何であり、どの行で発見されたかを教えてくれます。 後述するFlake8は、よく使われるコードリンターの一例です。" -#: ../../package-structure-code/code-style-linting-format.md:71 -msgid "Code Formatters (and stylers)" +#: ../../package-structure-code/code-style-linting-format.md:72 +#, fuzzy +msgid "Code formatters (and stylers)" msgstr "コードフォーマッタ(およびスタイラーズ)" -#: ../../package-structure-code/code-style-linting-format.md:73 +#: ../../package-structure-code/code-style-linting-format.md:74 msgid "" "Code formatters will reformat your code for you. Python focused code " "formatters often follow PEP 8 standards. However, they also make " @@ -206,7 +209,7 @@ msgstr "" "コードフォーマッタはあなたのコードを再フォーマットしてくれます。 Python に特化したコードフォーマッタは PEP 8 " "標準に従うことが多いです。 しかし、コードの一貫性に関する文体的な決定も行います。" -#: ../../package-structure-code/code-style-linting-format.md:77 +#: ../../package-structure-code/code-style-linting-format.md:78 msgid "" "Black is an example of a commonly-used code formatter. Black both applies" " PEP 8 standards while also making decisions about things like consistent" @@ -215,19 +218,19 @@ msgstr "" "Blackはよく使われるコードフォーマッターの一例です。 BlackはPEP " "8の標準を適用すると同時に、文字列に対する二重引用符の一貫した使用や、リスト内の項目のスペーシングなどについても決定しています。" -#: ../../package-structure-code/code-style-linting-format.md:81 +#: ../../package-structure-code/code-style-linting-format.md:82 msgid "You will learn more about Black below." msgstr "Black については後述します。" -#: ../../package-structure-code/code-style-linting-format.md:83 +#: ../../package-structure-code/code-style-linting-format.md:84 msgid "Code linting, formatting and styling tools" msgstr "コードリンティング、フォーマット、スタイリングツール" -#: ../../package-structure-code/code-style-linting-format.md:85 +#: ../../package-structure-code/code-style-linting-format.md:87 msgid "Black" msgstr "Black" -#: ../../package-structure-code/code-style-linting-format.md:87 +#: ../../package-structure-code/code-style-linting-format.md:89 msgid "" "[Black](https://black.readthedocs.io/en/stable/) is a code formatter. " "Black will automagically (and _unapologetically_) fix spacing issues and " @@ -240,7 +243,7 @@ msgstr "" "に)スペーシングの問題を修正し、コードフォーマットがパッケージ全体で一貫していることを保証します。 " "Blackはまた、いくつかの例外を除き、一般的にPEP 8スタイルガイドラインを遵守します。 以下にその例外の例をいくつか示します:" -#: ../../package-structure-code/code-style-linting-format.md:93 +#: ../../package-structure-code/code-style-linting-format.md:95 msgid "" "Black defaults to a line length of 88 (79 + 10%) rather than the 79 " "character `PEP 8` specification. However, line length is a setting can be" @@ -249,11 +252,11 @@ msgstr "" "Blackのデフォルトの行の長さは、79文字の `PEP 8` 仕様ではなく、88 (79 + 10%) です。 しかし、行の長さは Black " "の設定で手動で上書きすることができます。" -#: ../../package-structure-code/code-style-linting-format.md:94 +#: ../../package-structure-code/code-style-linting-format.md:96 msgid "Black will not adjust line length in your comments or docstrings." msgstr "Blackはコメントやdocstringの行の長さを調整しません。" -#: ../../package-structure-code/code-style-linting-format.md:95 +#: ../../package-structure-code/code-style-linting-format.md:97 msgid "" "This tool will not review and fix import order (you need `isort` or " "`ruff` to do that - see below)." @@ -261,7 +264,7 @@ msgstr "" "このツールはインポートの順番を見直したり修正したりはしません(そのためには `isort` や `ruff` が必要です - " "下記を参照してください)。" -#: ../../package-structure-code/code-style-linting-format.md:98 +#: ../../package-structure-code/code-style-linting-format.md:100 msgid "" "If you are interested in seeing how Black will format your code, you can " "use the [Black playground](https://black.vercel.app/)" @@ -269,17 +272,17 @@ msgstr "" "Black があなたのコードをどのようにフォーマットするか興味がある場合は、 [Black " "playground](https://black.vercel.app/) を使用することができます。" -#: ../../package-structure-code/code-style-linting-format.md:102 +#: ../../package-structure-code/code-style-linting-format.md:104 msgid "" "Using a code formatter like Black will leave you more time to work on " "code function rather than worry about format." msgstr "Blackのようなコードフォーマッターを使うことで、書式を気にするよりもコードの機能に時間を割くことができます。" -#: ../../package-structure-code/code-style-linting-format.md:105 +#: ../../package-structure-code/code-style-linting-format.md:108 msgid "Flake8" msgstr "Flake8" -#: ../../package-structure-code/code-style-linting-format.md:107 +#: ../../package-structure-code/code-style-linting-format.md:110 msgid "" "To adhere to Python `pep8` format standards, you might want to add " "[flake8](https://flake8.pycqa.org/en/latest/) to your code format " @@ -289,29 +292,29 @@ msgstr "" "フォーマットの標準に準拠するために、[flake8](https://flake8.pycqa.org/en/latest/) " "をコードフォーマットツールボックスに追加するとよいでしょう。" -#: ../../package-structure-code/code-style-linting-format.md:111 +#: ../../package-structure-code/code-style-linting-format.md:114 msgid "flake8 will:" msgstr "flake8 は:" -#: ../../package-structure-code/code-style-linting-format.md:113 +#: ../../package-structure-code/code-style-linting-format.md:116 msgid "" "Flag every line in your code that extends beyond 79 characters (including" " those in docstrings and comments)" msgstr "コード中の79文字を超えるすべての行にフラグを付ける(docstringやコメント中の行も含む)" -#: ../../package-structure-code/code-style-linting-format.md:114 +#: ../../package-structure-code/code-style-linting-format.md:117 msgid "" "Flag spacing issues that conflict with PEP 8 guidelines such as missing " "spaces after commas" msgstr "カンマの後にスペースがないなど、PEP 8ガイドラインに抵触するフラグスペースの問題" -#: ../../package-structure-code/code-style-linting-format.md:116 +#: ../../package-structure-code/code-style-linting-format.md:119 msgid "" "Flake8 also flags unused imports and unused declared variables in your " "modules." msgstr "Flake8はまた、モジュール内の未使用のインポートや未使用の宣言変数にフラグを立てます。" -#: ../../package-structure-code/code-style-linting-format.md:119 +#: ../../package-structure-code/code-style-linting-format.md:122 msgid "" "Below you can see the output of running `flake8 filename.py` at the " "command line for a Python file within a package called `stravalib`." @@ -319,11 +322,11 @@ msgstr "" "下記は `stravalib` というパッケージ内の Python ファイルに対してコマンドラインで `flake8 filename.py` " "を実行したときの出力です。" -#: ../../package-structure-code/code-style-linting-format.md:123 +#: ../../package-structure-code/code-style-linting-format.md:126 msgid "The line length standard for PEP 8 is 79 characters." msgstr "PEP 8の行の長さの標準は79文字です。" -#: ../../package-structure-code/code-style-linting-format.md:125 +#: ../../package-structure-code/code-style-linting-format.md:128 msgid "" "Notice that flake8 returns a list of issues that it found in the model.py" " module on the command line. The Python file itself is not modified. " @@ -332,11 +335,11 @@ msgstr "" "flake8はコマンドラインでmodel.pyモジュールで見つかった問題のリストを返すことに注意してください。 " "Pythonファイル自体は変更されません。 この出力を使って、問題を一行ずつ手作業で修正することができます。" -#: ../../package-structure-code/code-style-linting-format.md:140 +#: ../../package-structure-code/code-style-linting-format.md:143 msgid "Isort" msgstr "Isort" -#: ../../package-structure-code/code-style-linting-format.md:142 +#: ../../package-structure-code/code-style-linting-format.md:145 msgid "" "Python imports refer to the Python packages that a module in your package" " requires. Imports should always be located at the top of each Python " @@ -345,7 +348,7 @@ msgstr "" "Python import は、あなたのパッケージのモジュールが必要とする Python パッケージを指します。 " "importsは常にパッケージ内の各Pythonモジュールの先頭に配置されるべきです。" -#: ../../package-structure-code/code-style-linting-format.md:146 +#: ../../package-structure-code/code-style-linting-format.md:149 msgid "" "[PEP 8 has specific standards for the order of these " "imports](https://peps.python.org/pep-0008/#imports). These standards are " @@ -355,23 +358,23 @@ msgstr "" "8には、これらのimportの順序に関する具体的な基準があります](https://peps.python.org/pep-0008/#imports)" " 。これらの基準を以下に示します:" -#: ../../package-structure-code/code-style-linting-format.md:148 +#: ../../package-structure-code/code-style-linting-format.md:151 msgid "Imports should be grouped in the following order:" msgstr "import は以下の順序でグループ化します:" -#: ../../package-structure-code/code-style-linting-format.md:150 +#: ../../package-structure-code/code-style-linting-format.md:153 msgid "Standard library imports." msgstr "標準ライブラリの import 。" -#: ../../package-structure-code/code-style-linting-format.md:151 +#: ../../package-structure-code/code-style-linting-format.md:154 msgid "Related third party imports." msgstr "関連するサードパーティの import 。" -#: ../../package-structure-code/code-style-linting-format.md:152 +#: ../../package-structure-code/code-style-linting-format.md:155 msgid "Local application/library specific imports." msgstr "ローカルアプリケーション/ライブラリ固有のインポート。" -#: ../../package-structure-code/code-style-linting-format.md:154 +#: ../../package-structure-code/code-style-linting-format.md:157 msgid "" "While `flake8` will identify unused imports in your code, it won't fix or" " identify issues with the order of package imports." @@ -379,7 +382,7 @@ msgstr "" "`flake8` " "はあなたのコードで使用されていないインポートを特定しますが、パッケージのインポートの順序に関する問題を修正したり特定したりすることはできません。" -#: ../../package-structure-code/code-style-linting-format.md:157 +#: ../../package-structure-code/code-style-linting-format.md:160 msgid "" "`isort` will identify where imports in your code are out of order. It " "will then modify your code, automatically reordering all imports. This " @@ -388,15 +391,15 @@ msgstr "" "`isort` は、コードの中でインポートの順番が狂っている箇所を特定します。 " "そして、あなたのコードを修正し、すべてのインポートの順番を自動的に並べ替えます。 これで、コードを整理するときに考えることが1つ減ります。" -#: ../../package-structure-code/code-style-linting-format.md:162 +#: ../../package-structure-code/code-style-linting-format.md:165 msgid "Example application of isort" msgstr "isort の使用例" -#: ../../package-structure-code/code-style-linting-format.md:164 +#: ../../package-structure-code/code-style-linting-format.md:167 msgid "Code imports before `isort` is run:" msgstr "`isort` が実行される前にコードがインポートされます:" -#: ../../package-structure-code/code-style-linting-format.md:166 +#: ../../package-structure-code/code-style-linting-format.md:169 msgid "" "Below, the `pandas` is a third party package, `typing` is a core `Python`" " package distributed with `Python`, and `examplePy.temperature` is a " @@ -409,19 +412,19 @@ msgstr "" "`examplePy.temperature`はファーストパーティモジュールで、インポートを行うファイルと同じパッケージに属していることを意味します。" " また、以下のインポートにスペースがないことに注意してください。" -#: ../../package-structure-code/code-style-linting-format.md:176 +#: ../../package-structure-code/code-style-linting-format.md:179 msgid "From the project root, run:" msgstr "プロジェクトルートから以下を実行してください:" -#: ../../package-structure-code/code-style-linting-format.md:182 +#: ../../package-structure-code/code-style-linting-format.md:185 msgid "Python file `temporal.py` imports after `isort` has been run" msgstr "Python ファイル `temporal.py` は `isort` が実行された後にインポートされます。" -#: ../../package-structure-code/code-style-linting-format.md:189 +#: ../../package-structure-code/code-style-linting-format.md:193 msgid "Ruff" msgstr "Ruff" -#: ../../package-structure-code/code-style-linting-format.md:191 +#: ../../package-structure-code/code-style-linting-format.md:195 msgid "" "[Ruff](https://docs.astral.sh/ruff/) is a new addition to the code " "quality ecosystem, gaining some traction since its release. `ruff` is " @@ -435,21 +438,21 @@ msgstr "" "はPythonのリンターであり、コード整形ツールでもあります。 そのため、 `ruff` " "はここで紹介する他のすべてのツールの置き換えとして、あるいはいくつかのツールの補完として使用することができます。" -#: ../../package-structure-code/code-style-linting-format.md:197 +#: ../../package-structure-code/code-style-linting-format.md:201 msgid "" "`ruff` has some interesting features that distinguish it from other " "linters:" msgstr "`ruff` には他のリンターと異なる興味深い特徴があります:" -#: ../../package-structure-code/code-style-linting-format.md:199 +#: ../../package-structure-code/code-style-linting-format.md:203 msgid "Linter configuration in `pyproject.toml`" msgstr "`pyproject.toml` のリンター設定" -#: ../../package-structure-code/code-style-linting-format.md:200 +#: ../../package-structure-code/code-style-linting-format.md:204 msgid "Several hundred rules included, many of which are automatically fixable" msgstr "数百のルールが含まれ、その多くは自動的に修正可能です" -#: ../../package-structure-code/code-style-linting-format.md:201 +#: ../../package-structure-code/code-style-linting-format.md:205 msgid "" "Rules explanation, see [F403](https://docs.astral.sh/ruff/rules" "/undefined-local-with-import-star/) for an example" @@ -457,33 +460,33 @@ msgstr "" "ルールの説明、例については [F403](https://docs.astral.sh/ruff/rules/undefined-local-" "with-import-star/) を参照してください。" -#: ../../package-structure-code/code-style-linting-format.md:202 +#: ../../package-structure-code/code-style-linting-format.md:206 msgid "" "Fast execution time, makes a quick feedback loop possible even on large " "projects." msgstr "実行時間が速いので、大規模プロジェクトでも素早いフィードバックループが可能。" -#: ../../package-structure-code/code-style-linting-format.md:204 +#: ../../package-structure-code/code-style-linting-format.md:208 msgid "" "Here is a simple configuration to get started with `ruff`. It would go " "into your `pyproject.toml`:" msgstr "以下は `ruff` を使い始めるための簡単な設定です。 これは `pyproject.toml` に記述します:" -#: ../../package-structure-code/code-style-linting-format.md:212 +#: ../../package-structure-code/code-style-linting-format.md:216 msgid "" "Depending on your project, you might want to add the following to sort " "imports correctly:" msgstr "プロジェクトによっては、インポートを正しく並べ替えるために以下を追加するとよいです:" -#: ../../package-structure-code/code-style-linting-format.md:219 +#: ../../package-structure-code/code-style-linting-format.md:224 msgid "How to use code formatter in your local workflow" msgstr "ローカルワークフローでコードフォーマッタを使用する方法" -#: ../../package-structure-code/code-style-linting-format.md:221 +#: ../../package-structure-code/code-style-linting-format.md:226 msgid "Linters, code formatters and your favorite coding tools" msgstr "リンター、コードフォーマッター、お気に入りのコーディングツール" -#: ../../package-structure-code/code-style-linting-format.md:223 +#: ../../package-structure-code/code-style-linting-format.md:228 msgid "" "Linters can be run as a command-line tool as shown above. They also can " "be run within your favorite coding tool (e.g. VScode, pycharm, etc). For " @@ -496,39 +499,39 @@ msgstr "" "例えば、ファイルを保存するときにBlackやisortのようなツールを実行させたいかもしれません。 " "エディタによっては、お気に入りのコード整形ツールをオンデマンドで実行するショートカットを設定することもできる。" -#: ../../package-structure-code/code-style-linting-format.md:229 +#: ../../package-structure-code/code-style-linting-format.md:234 msgid "Use pre-commit hooks to run code formatters and linters on commits" msgstr "プレコミットフックを使って、コミット時にコードフォーマッタやリンタを実行" -#: ../../package-structure-code/code-style-linting-format.md:231 +#: ../../package-structure-code/code-style-linting-format.md:236 msgid "You can also setup a `pre-commit hook` in your Python package repository." msgstr "Pythonのパッケージリポジトリに `pre-commit hook` をセットアップすることもできます。" -#: ../../package-structure-code/code-style-linting-format.md:233 +#: ../../package-structure-code/code-style-linting-format.md:238 msgid "" "A pre-commit hook is a tool that allows an action (or actions) to be " "triggered when you apply a commit to your git repository." msgstr "プレコミットフックとは、git リポジトリにコミットを適用するときに (複数の) アクションを実行するためのツールです。" -#: ../../package-structure-code/code-style-linting-format.md:236 +#: ../../package-structure-code/code-style-linting-format.md:241 msgid "Pre-commit hook example workflow" msgstr "pre-commit フックのワークフロー例" -#: ../../package-structure-code/code-style-linting-format.md:238 +#: ../../package-structure-code/code-style-linting-format.md:243 msgid "The precommit workflow looks like this: You type and run:" msgstr "precommit のワークフローは次のようになる: 次のように入力して実行します:" -#: ../../package-structure-code/code-style-linting-format.md:241 +#: ../../package-structure-code/code-style-linting-format.md:246 msgid "`git commit -m \"message here\"` at the command line" msgstr "コマンドラインで `git commit -m \"message here\"` を実行" -#: ../../package-structure-code/code-style-linting-format.md:243 +#: ../../package-structure-code/code-style-linting-format.md:248 msgid "" "Once you hit return, pre-commit will run any tools that you have " "configured in a **.pre-commit-config.yaml** file." msgstr "returnを押すと、pre-commitは **.pre-commit-config.yaml** ファイルで設定したツールを実行します。" -#: ../../package-structure-code/code-style-linting-format.md:245 +#: ../../package-structure-code/code-style-linting-format.md:250 msgid "" "If the tools configured in the pre-commit hook run successfully without " "making changes or finding errors in your code, the commit will be applied" @@ -537,7 +540,7 @@ msgstr "" "pre-" "commitフックで設定したツールが、コードに変更を加えたりエラーを発見したりすることなく正常に実行されると、コミットがリポジトリに適用されます。" -#: ../../package-structure-code/code-style-linting-format.md:249 +#: ../../package-structure-code/code-style-linting-format.md:254 msgid "" "If the tools configured in the hook find errors in your files, the commit" " will NOT be applied to the repository. Remember from the discussion " @@ -550,17 +553,17 @@ msgstr "" "のようなコードフォーマッタが実行され、コードを再フォーマットすることを思い出してください。 _flake8_ " "のようなリンターは、コードのどこにシンタックス上の問題があるかを詳細に出力してくれます。 そして、それらの問題を手動で修正する必要があります。" -#: ../../package-structure-code/code-style-linting-format.md:256 +#: ../../package-structure-code/code-style-linting-format.md:261 msgid "" "Once all of the fixes are applied you can re-add (stage) the files to be " "commit. And re-run your commit." msgstr "すべての修正が適用されたら、コミットするファイルを再追加 (stage) することができます。 そしてコミットを再実行します。" -#: ../../package-structure-code/code-style-linting-format.md:260 +#: ../../package-structure-code/code-style-linting-format.md:265 msgid "Diagram showing the steps of a pre-commit workflow from left to right." msgstr "左から右へ、 pre-commit ワークフローのステップを示す図。" -#: ../../package-structure-code/code-style-linting-format.md:262 +#: ../../package-structure-code/code-style-linting-format.md:267 #, fuzzy msgid "" "The pre-commit workflow begins with you adding files that have changes to" @@ -580,7 +583,7 @@ msgstr "" "[_Image Source_](https://ljvmiranda921.github.io/notebook/2018/06/21" "/precommits-using-black-and-flake8/*)" -#: ../../package-structure-code/code-style-linting-format.md:275 +#: ../../package-structure-code/code-style-linting-format.md:280 msgid "" "If have a Python code-base and multiple maintainers actively working on " "the code, and you intend to run a tool like Black, be sure to coordinate " @@ -594,11 +597,11 @@ msgstr "" "Blackをパッケージ全体に適用する最初のコミットは、おそらくコードのかなりの部分を変更するでしょう。 " "これは、新しい変更がマージされる前に、オープンなPRや新しいPRでマージ競合が発生する可能性があります。" -#: ../../package-structure-code/code-style-linting-format.md:282 +#: ../../package-structure-code/code-style-linting-format.md:287 msgid "General pre commit checks" msgstr "一般的なコミット前のチェック" -#: ../../package-structure-code/code-style-linting-format.md:284 +#: ../../package-structure-code/code-style-linting-format.md:289 msgid "" "In addition to calling tools, Pre-commit also has a suite of [built in " "format hooks](https://github.com/pre-commit/pre-commit-hooks#hooks-" @@ -610,7 +613,7 @@ msgstr "" "/pre-commit-hooks#hooks-available) が用意されています。また、 `trailing-whitespace` " "のように、コミット前のワークフローに追加することで、クリーンで合理的なコードファイルを確保できるものもあります。" -#: ../../package-structure-code/code-style-linting-format.md:289 +#: ../../package-structure-code/code-style-linting-format.md:294 msgid "" "An example pre-commit-config.yaml file is below with examples of how this" " is all setup." @@ -618,11 +621,11 @@ msgstr "" "以下に、 pre-commit-config.yaml " "ファイルの例を記載します。このファイルに記載されている内容のセットアップ方法の例も記載されています。" -#: ../../package-structure-code/code-style-linting-format.md:292 +#: ../../package-structure-code/code-style-linting-format.md:297 msgid "Pre-commit.ci" msgstr "pre-commit.ci" -#: ../../package-structure-code/code-style-linting-format.md:294 +#: ../../package-structure-code/code-style-linting-format.md:299 msgid "" "[Pre-commit.ci](https://pre-commit.ci) is a bot that may become your new " "best friend. This bot, when setup on a repo can be configured to do the " @@ -631,11 +634,11 @@ msgstr "" "[pre-commit.ci](https://pre-commit.ci) は、あなたの新しい親友になるかもしれないボットです。 " "このボットをリポジトリにセットアップすると、次のようなことができるようになります:" -#: ../../package-structure-code/code-style-linting-format.md:297 +#: ../../package-structure-code/code-style-linting-format.md:302 msgid "It will check every pull request using all of the pre-commit hook setting" msgstr "コミット前のフック設定をすべて使用して、すべてのプルリクエストをチェックします" -#: ../../package-structure-code/code-style-linting-format.md:298 +#: ../../package-structure-code/code-style-linting-format.md:303 msgid "" "If you wish, it will also submit a pull request to your repo with pre-" "commit fixes, saving you, and new contributors the time of reformatting a" @@ -644,11 +647,11 @@ msgstr "" "あなたが望むなら、事前にコミットした修正と一緒にあなたのリポジトリにプルリクエストを提出します、あなたや新しい貢献者は、フォーマットの問題がある " "pr を再フォーマットする時間を節約できます。" -#: ../../package-structure-code/code-style-linting-format.md:301 +#: ../../package-structure-code/code-style-linting-format.md:306 msgid "You can also call the bot on any pull request to run / and fix the code." msgstr "また、どのプルリクエストでもボットを呼び出して、実行し / コードを修正することができます。" -#: ../../package-structure-code/code-style-linting-format.md:303 +#: ../../package-structure-code/code-style-linting-format.md:308 msgid "" "The pre-commit.ci bot uses the same pre-commit-config.yaml file that you " "use to setup pre-commit locally." @@ -656,17 +659,17 @@ msgstr "" "pre-commit.ci ボットは、ローカルで pre-commit をセットアップするのと同じ pre-commit-config.yaml " "ファイルを使用します。" -#: ../../package-structure-code/code-style-linting-format.md:306 +#: ../../package-structure-code/code-style-linting-format.md:311 msgid "Setting up a bot like this can be valuable because:" msgstr "このようなボットを設置することは価値があるなぜなら:" -#: ../../package-structure-code/code-style-linting-format.md:308 +#: ../../package-structure-code/code-style-linting-format.md:313 msgid "" "It can make is easier for maintainers as they no longer have to worry at " "allows about fixing code format. The bot will do the work for them." msgstr "メンテナにとっては、コードフォーマットの修正に頭を悩ませる必要がなくなり、楽になります。 ボットが代わりにやってくれます。" -#: ../../package-structure-code/code-style-linting-format.md:310 +#: ../../package-structure-code/code-style-linting-format.md:315 msgid "" "It can make it easier for new comers as they never have to setup pre-" "commit locally or worry about linting their code. They can even make " @@ -675,27 +678,27 @@ msgstr "" "ローカルでpre-" "commitをセットアップしたり、コードのlintを心配したりする必要がないので、新規参入者も楽になります。GitHub上で直接コードを修正することもできます。" -#: ../../package-structure-code/code-style-linting-format.md:312 +#: ../../package-structure-code/code-style-linting-format.md:317 msgid "Setting up a git pre-commit hook" msgstr "git pre-commit フックの設定" -#: ../../package-structure-code/code-style-linting-format.md:314 +#: ../../package-structure-code/code-style-linting-format.md:319 msgid "To setup pre-commit locally, you need to do 3 things:" msgstr "ローカルで pre-commit をセットアップするには、3つのことをする必要があります:" -#: ../../package-structure-code/code-style-linting-format.md:316 +#: ../../package-structure-code/code-style-linting-format.md:321 msgid "" "Install pre-commit (and include it as a development requirement in your " "repository)" msgstr "pre-commitをインストールする(そしてリポジトリに開発要件として含める)" -#: ../../package-structure-code/code-style-linting-format.md:326 +#: ../../package-structure-code/code-style-linting-format.md:331 msgid "" "Create a .pre-commit-config.yaml file in the root of your package " "directory." msgstr "パッケージディレクトリのルートに .pre-commit-config.yaml ファイルを作成します。" -#: ../../package-structure-code/code-style-linting-format.md:328 +#: ../../package-structure-code/code-style-linting-format.md:333 msgid "" "Below is an example **.pre-commit-cofig.yaml** file that can be used to " "setup the pre-commit hook and the pre-commit.ci bot if you chose to " @@ -704,7 +707,7 @@ msgstr "" "以下は、 pre-commit とpre-commit.ciボットのセットアップに使用できる **.pre-commit-cofig.yaml**" " ファイルの例です。" -#: ../../package-structure-code/code-style-linting-format.md:336 +#: ../../package-structure-code/code-style-linting-format.md:341 msgid "" "This file specifies a hook that will be triggered automatically before " "each `git commit`, in this case, it specifies a `flake8` using version " @@ -713,7 +716,7 @@ msgstr "" "このファイルでは、各 `git commit` の前に自動的に起動するフックを指定します。この例では、バージョン `6.0.0` を使って " "`flake8` を指定しています。" -#: ../../package-structure-code/code-style-linting-format.md:339 +#: ../../package-structure-code/code-style-linting-format.md:344 msgid "" "Install your pre-commit hook(s) using `pre-commit install`. This will " "install all of the hooks specified in the pre-commit yaml file into your " @@ -722,17 +725,17 @@ msgstr "" "`pre-commit install` を使用して、(複数の)コミット前フックをインストールします。 これにより、pre-commit yaml" " ファイルで指定したすべてのフックがあなたの環境にインストールされます。" -#: ../../package-structure-code/code-style-linting-format.md:341 +#: ../../package-structure-code/code-style-linting-format.md:346 msgid "" "Once you have done the above, you are ready to start working on your " "code. Pre-commit will run every time you run `git commit`." msgstr "上記を実行したら、コードを書き始める準備ができました。 `git commit` を実行するたびに pre-commit が実行されます。" -#: ../../package-structure-code/code-style-linting-format.md:344 +#: ../../package-structure-code/code-style-linting-format.md:349 msgid "Summary" msgstr "概要" -#: ../../package-structure-code/code-style-linting-format.md:346 +#: ../../package-structure-code/code-style-linting-format.md:351 msgid "" "pyOpenSci suggests setting up a linter and a code styler for your " "package, regardless of whether you use pre-commit hooks, CI or other " @@ -760,11 +763,19 @@ msgstr "このガイドでは、純粋なPythonか、CやC++のような他の #: ../../package-structure-code/complex-python-package-builds.md:6 msgid "" -"In the future, we want to provide resources for packaging workflows that " -"require more complex builds. If you have questions about these types of " -"package, please [add a question to our " -"discourse](https://pyopensci.discourse.group/) or open an [issue about " -"this guide specifically in the GitHub repo for this " +"For comprehensive guidance on packaging compiled projects with " +"C/C++/Fortran/Rust extensions, see the [Scientific Python Development " +"Guide on compiled packaging](https://learn.scientific-" +"python.org/development/guides/packaging-compiled/). This is the best " +"reference for complex builds and covers scikit-build-core, meson-python, " +"maturin, and other modern build backends." +msgstr "" + +#: ../../package-structure-code/complex-python-package-builds.md:8 +#, fuzzy +msgid "" +"If you have questions about these types of package, please open an [issue" +" about this guide specifically in the GitHub repo for this " "guide](https://github.com/pyOpenSci/python-package-guide/issues). There " "are many nuances to building and distributing Python packages that have " "compiled extensions requiring non-Python dependencies at build time. For " @@ -779,11 +790,12 @@ msgstr "" "Python パッケージをビルドして配布するには、多くの微妙な違いがあります。 これらの微妙な違いの概要と徹底的な議論については、 " "[このサイト](https://pypackaging-native.github.io/) を参照してください。" -#: ../../package-structure-code/complex-python-package-builds.md:8 -msgid "Pure Python Packages vs. packages with extensions in other languages" +#: ../../package-structure-code/complex-python-package-builds.md:10 +#, fuzzy +msgid "Pure Python packages vs. packages with extensions in other languages" msgstr "純粋なPythonパッケージと他言語の拡張機能付きパッケージの比較" -#: ../../package-structure-code/complex-python-package-builds.md:10 +#: ../../package-structure-code/complex-python-package-builds.md:12 msgid "" "You can classify Python package complexity into three general categories." " These categories can in turn help you select the correct package " @@ -792,7 +804,7 @@ msgstr "" "Pythonパッケージの複雑さを3つの一般的なカテゴリに分類することができます。 " "これらの分類は、正しいパッケージフロントエンドとバックエンドツールを選択するのに役立ちます。" -#: ../../package-structure-code/complex-python-package-builds.md:14 +#: ../../package-structure-code/complex-python-package-builds.md:16 msgid "" "**Pure-python packages:** these are packages that only rely on Python to " "function. Building a pure Python package is simpler. As such, you can " @@ -802,7 +814,7 @@ msgstr "" "**純粋なPythonパッケージ:** Pythonだけに依存して機能するパッケージです。 純粋なPythonパッケージの構築はよりシンプルです。" " そのため、以下のツールの中から自分の欲しい機能を持つものを選び、決定しましょう!" -#: ../../package-structure-code/complex-python-package-builds.md:16 +#: ../../package-structure-code/complex-python-package-builds.md:18 msgid "" "**Python packages with non-Python extensions:** These packages have " "additional components called extensions written in other languages (such " @@ -819,7 +831,7 @@ msgstr "" " さらに、ワークフローをサポートするフロントエンドツールを使いたい場合は、追加のビルド設定をサポートするツールを選択する必要があります。 " "Hatchのようなカスタムビルドステップをサポートするビルドツールを選択することをお勧めします。" -#: ../../package-structure-code/complex-python-package-builds.md:18 +#: ../../package-structure-code/complex-python-package-builds.md:20 msgid "" "**Python packages that have extensions written in different languages " "(e.g. Fortran and C++) or that have non Python dependencies that are " @@ -837,11 +849,11 @@ msgstr "" "build.readthedocs.io/en/latest/) や [meson-python](https://mesonbuild.com" "/Python-module.html) といったツールが必要になります。 注:meson-pythonはPDMと一緒に使うことができます。" -#: ../../package-structure-code/complex-python-package-builds.md:21 +#: ../../package-structure-code/complex-python-package-builds.md:23 msgid "Mixing frontend and backend projects" msgstr "フロントエンドとバックエンドの混合プロジェクト" -#: ../../package-structure-code/complex-python-package-builds.md:23 +#: ../../package-structure-code/complex-python-package-builds.md:25 msgid "" "It is sometimes necessary or desirable to use a build frontend with an " "alternative build-backend. This is because some frontends do not have a " @@ -858,7 +870,7 @@ msgstr "" "core`) でのみ動作します。フロントエンドとバックエンドの互換性に関する詳細は、 (#python-package-build-tools) " "を参照してください。" -#: ../../package-structure-code/complex-python-package-builds.md:29 +#: ../../package-structure-code/complex-python-package-builds.md:31 msgid "" "In this packaging guide we recommend using `hatch` along with its " "preferred backend `hatchling`. While this will be suitable for most " @@ -877,7 +889,7 @@ msgstr "" "[プラグイン](https://hatch.pypa.io/1.9/plugins/about/) " "を利用するか、すでに拡張モジュールを構築できるバックエンドに置き換えなければなりません。" -#: ../../package-structure-code/complex-python-package-builds.md:37 +#: ../../package-structure-code/complex-python-package-builds.md:39 msgid "" "In order to use a different backend you will need to edit your project's " "`pyproject.toml`. If you have a `pyproject.toml` generated by the `hatch`" @@ -888,426 +900,394 @@ msgstr "" " `pyproject.toml` や、パッケージングチュートリアルに従った `pyproject.toml` " "がある場合は、次のように変更する必要があるかもしれません。" -#: ../../package-structure-code/declare-dependencies.md:8 -#: ../../package-structure-code/declare-dependencies.md:375 -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:23 -msgid "Todo" -msgstr "Todo" +#: ../../package-structure-code/declare-dependencies.md:6 +#, fuzzy +msgid "Dependencies for your Python Package" +msgstr "Pythonパッケージのバージョンを管理するツール" -#: ../../package-structure-code/declare-dependencies.md:10 +#: ../../package-structure-code/declare-dependencies.md:8 msgid "" -"keep this comment - https://github.com/pyOpenSci/python-package-" -"guide/pull/106#issuecomment-1844278487 in this file for now - jeremiah " -"did a nice inventory of common shells and whether they need quotes or " -"not. It's really comprehensive. But do we want it in the guide?? it's " -"really useful for more advanced users i think." +"In the [pyproject.toml overview page](pyproject-toml-python-package-" +"metadata), you learned how to set up a **pyproject.toml** file with basic" +" metadata for your package. On this page, you will learn how to specify " +"different types of dependencies in your `pyproject.toml`." msgstr "" -"このコメントを残しておいてください - https://github.com/pyOpenSci/python-package-" -"guide/pull/106#issuecomment-1844278487 - " -"今のところはこのファイルに。jeremiahは一般的なシェルについて、引用符が必要かどうかという点も含めて、素晴らしいリストを作成しました。本当に包括的です。しかし、ガイドに必要でしょうか?上級ユーザーにとっては本当に役立つと思います。" +"[pyproject.tomlの概要ページ](pyproject-toml-python-package-metadata) " +"では、パッケージの基本的なメタデータを持つ **pyproject.toml** ファイルをセットアップする方法を学びました。 このページでは、 " +"`pyproject.toml` で異なるタイプの依存関係を指定する方法を学びます。" + +#: ../../package-structure-code/declare-dependencies.md:14 +msgid "What is a package dependency?" +msgstr "パッケージ依存性とは何か?" -#: ../../package-structure-code/declare-dependencies.md:12 +#: ../../package-structure-code/declare-dependencies.md:16 +#, fuzzy msgid "" -"Following this comment: https://github.com/pyOpenSci/python-package-" -"guide/pull/106#pullrequestreview-1766663571" +"A Python package dependency refers to an external package or A tool that " +"is needed when using or working on your Python project. Declare your " +"dependencies in your `pyproject.toml` file. This keeps all package " +"metadata in one place, making it simpler for users and contributors to " +"understand your package." msgstr "" -"このコメントによります: https://github.com/pyOpenSci/python-package-" -"guide/pull/106#pullrequestreview-1766663571" - -#: ../../package-structure-code/declare-dependencies.md:15 -msgid "Jonny will add a section that talks about:" -msgstr "Jonny はそのセクションを追加する予定です:" +"依存関係は `pyproject.toml` ファイルを使って宣言することを推奨します。 " +"こうすることで、パッケージに関連するすべてのメタデータが一箇所で宣言され、ユーザや貢献者がパッケージのインフラストラクチャを理解するのがより簡単になります。" -#: ../../package-structure-code/declare-dependencies.md:17 -msgid "" -"Why you specify dependencies How to specify dependencies When you use " -"different specifiers" -msgstr "依存関係を指定する理由 依存関係を指定する方法 異なる指定子を使用する場合" +#: ../../package-structure-code/declare-dependencies.md:19 +#, fuzzy +msgid "Older ways to declare dependencies" +msgstr "依存関係はどのように宣言するのか?" #: ../../package-structure-code/declare-dependencies.md:22 -msgid "Python Package Dependencies" -msgstr "Pythonパッケージの依存関係" +msgid "" +"While `pyproject.toml` is now the standard, you may sometimes encounter " +"older approaches to storing dependencies \"in the wild\":" +msgstr "" #: ../../package-structure-code/declare-dependencies.md:24 -msgid "What is a package dependency?" -msgstr "パッケージ依存性とは何か?" +msgid "" +"**requirements.txt**: Previously common for dependencies, still used by " +"some projects for local development" +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:26 +#: ../../package-structure-code/declare-dependencies.md:25 +#, fuzzy msgid "" -"A Python package dependency refers to an external package or software " -"that your Python project:" -msgstr "Pythonパッケージ依存とは、Pythonプロジェクトが使用する外部パッケージやソフトウェアのことです:" +"**setup.py or setup.cfg**: May be needed for packages with extensions in " +"other languages" +msgstr "純粋なPythonパッケージと他言語の拡張機能付きパッケージの比較" -#: ../../package-structure-code/declare-dependencies.md:29 -msgid "Needs to function properly." -msgstr "適切に機能する必要があります。" +#: ../../package-structure-code/declare-dependencies.md:27 +#, fuzzy +msgid "" +"[Learn more in the setuptools " +"documentation](https://setuptools.pypa.io/en/latest/userguide/dependency_management.html" +"#declaring-required-dependency)" +msgstr "" +"プロジェクトが他の言語で書かれた拡張機能を含んでいる場合、 `setup.py` ファイルが必要になるかもしれません。あるいは、依存関係の宣言に " +"`setup.cfg` を使っているパッケージに貢献することもできます。 [これについては setuptools " +"のドキュメントを参照してください](https://setuptools.pypa.io/en/latest/userguide/dependency_management.html" +"#declaring-required-dependency)" #: ../../package-structure-code/declare-dependencies.md:30 -msgid "" -"Requires if someone wants to develop / work on improving your package " -"locally or" -msgstr "もし、あなたのパッケージをローカルで開発したり、改良したりしたい人がいるか" +#, fuzzy +msgid "Why specify dependencies" +msgstr "再帰的依存関係" -#: ../../package-structure-code/declare-dependencies.md:31 +#: ../../package-structure-code/declare-dependencies.md:32 msgid "" -"Requires if a user wants to add additional functionality (that is not " -"core) to your package" -msgstr "ユーザが(コアではない)追加機能をパッケージに追加したい場合に必要です。" +"Specifying dependencies in the [project.dependency] array of your " +"`pyproject.toml` file ensures that libraries needed to run your package " +"are correctly installed into a user's environment. For instance, if your " +"package requires Pandas to run properly, and you add Pandas to the " +"`project.dependency` array, Pandas will be installed into the users' " +"environment when they install your package using uv, pip, or conda." +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:33 +#: ../../package-structure-code/declare-dependencies.md:45 msgid "" -"A dependency is not part of your project's codebase. It is a package or " -"software that is called within the code of your project or during " -"development of your package." -msgstr "依存関係は、プロジェクトのコードベースの一部ではありません。 プロジェクトのコード内やパッケージの開発中に呼び出されるパッケージやソフトウェアです。" - -#: ../../package-structure-code/declare-dependencies.md:37 -msgid "Understanding optional vs. required dependencies" -msgstr "オプションと必須の依存関係を理解する" +"Development dependencies make it easier for contributors to work on your " +"package. You can set up instructions for running specific workflows, such" +" as tests, linting, and even typing, that automatically install groups of" +" development dependencies. These dependencies can be stored in arrays " +"(lists of dependencies) within a `[development-group]` table." +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:38 -msgid "" -"You can think about dependencies as being either optional or required. If" -" they are required, they will be listed in the `dependencies` key in the " -"`project` table of your `pyproject.toml` file. If they are optional, they" -" will be listed in the `[optional.dependencies]` table of your " -"`pyproject.toml`." -msgstr "" -"依存関係はオプションか必須であると考えることができます。 必須であれば、 `pyproject` テーブルの `dependencies` " -"キーにリストされます。 オプションの場合は、 `pyproject.toml` の `[optional.dependencies]` " -"テーブルにリストされます。" - -#: ../../package-structure-code/declare-dependencies.md:40 -msgid "You will learn about both below." -msgstr "両者については後述します。" - -#: ../../package-structure-code/declare-dependencies.md:46 -msgid "" -"There are two broad groups of Python package dependencies: those that are" -" optional and those that are required. Required packages are those that a" -" user needs to use your package. Optional dependencies are packages a " -"user can chose to install to add functionality to your package. Within " -"those 2 groups, there are three use cases that you can think about. 1. " -"Core dependencies are **required** for a user to use your package. 2. " -"Development dependencies are optional and only needed if someone wants to" -" work on your package locally. 3. Finally feature dependencies are " -"optional and add additional functionality to your package. Not all " -"packages will have feature dependencies." -msgstr "" -"Pythonパッケージの依存関係には、オプションのものと必須のものの2つの大きなグループがあります。必須パッケージとは、ユーザがあなたのパッケージを使うために必要なパッケージのことです。オプションの依存関係とは、パッケージの機能を追加するために、ユーザーがインストールを選択できるパッケージのことです。この2つのグループの中で、3つのユースケースを考えることができます。1." -" コアの依存関係は、ユーザがあなたのパッケージを使うために **必須** です。2. " -"開発依存関係はオプションで、誰かがあなたのパッケージをローカルで作業したい場合にのみ必要です。3. " -"最後に、機能依存はオプションであり、パッケージに追加機能を追加します。 すべてのパッケージが機能依存を持つわけではありません。" - -#: ../../package-structure-code/declare-dependencies.md:51 -msgid "Required (or core) dependencies" -msgstr "必須(またはコア)の依存関係" - -#: ../../package-structure-code/declare-dependencies.md:53 -msgid "" -"Required dependencies are called directly within your package's code. On " -"this page we refer to these dependencies as **core dependencies** as they" -" are needed in order to run your package. You should place your core or " -"required dependencies in the `dependencies` key of the `[project]` table " -"of your `pyproject.toml` file." -msgstr "" -"必要な依存関係は、パッケージのコード内で直接呼び出されます。このページでは、パッケージを実行するために必要なこれらの依存関係を " -"**コア依存関係** と呼びます。 `pyproject.toml` ファイルの `[project]` テーブルの `dependencies`" -" キーに、コアまたは必要な依存関係を置く必要があります。" - -#: ../../package-structure-code/declare-dependencies.md:56 -#: ../../package-structure-code/declare-dependencies.md:147 -msgid "Optional dependencies" -msgstr "オプションの依存関係" +#: ../../package-structure-code/declare-dependencies.md:55 +#, fuzzy +msgid "Types of dependencies" +msgstr "依存関係のセットを組み合わせる" -#: ../../package-structure-code/declare-dependencies.md:58 +#: ../../package-structure-code/declare-dependencies.md:57 msgid "" -"Optional dependencies dependencies can be optionally installed by users " -"depending upon their needs. There are two broad groups of optional " -"dependencies:" +"There are three different types of dependencies that you will learn about" +" on this page:" msgstr "" -"オプションの依存関係依存関係は、ユーザーが必要に応じてオプションでインストールすることができます。 " -"オプションの依存関係には、大きく分けて2つのグループがあります:" -#: ../../package-structure-code/declare-dependencies.md:61 +#: ../../package-structure-code/declare-dependencies.md:59 msgid "" -"**Development dependencies**: These are dependencies that are required to" -" support development of your package. They include tools to run tests " -"such as `pytest`, linters (like `flake8` and `ruff`) and code formatters " -"such as `black` and even automation tools such as `nox` or `tox` that run" -" tasks." +"**Required dependencies:** These are dependencies that need to be " +"installed for your package to work correctly in a user's environment. You" +" add these dependencies to the `[project.dependencies]` table in your " +"pyproject.toml file." msgstr "" -"**開発依存** :これらは、あなたのパッケージの開発をサポートするために必要な依存関係です。pytest` のようなテストを実行するツールや、 " -"( `flake8` や `ruff` のような) リンター、`black` のようなコードフォーマッター、さらにはタスクを実行する `nox` " -"や `tox` のような自動化ツールも含まれます。" -#: ../../package-structure-code/declare-dependencies.md:63 +#: ../../package-structure-code/declare-dependencies.md:60 msgid "" -"**Feature dependencies:** These are dependencies that a user can chose to" -" install to add functionality to your package." -msgstr "**Feature dependencies:** これらは、パッケージに機能を追加するために、ユーザーが インストールを選択できる依存関係です。" +"**Feature Dependencies:** These are dependencies that are required if a " +"user wants to access additional functionality (that is not core) to your " +"package. Store these in the `[project.optional.dependencies]` table or " +"your pyproject.toml file." +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:65 +#: ../../package-structure-code/declare-dependencies.md:61 msgid "" -"When a Python project is installed, the Python package manager (either " -"`pip` or `conda`) installs your package's dependencies automatically. " -"This ensures that when you call a function in a specific dependency, it " -"is available in your user's environment." +"**Development Dependencies:** These dependencies are required if someone " +"wants to develop or work on your package. These include instance linters," +" testing tools like pytest and mypy are examples of development " +"dependencies. Store these in the `[project.dependency.groups]` table or " +"your pyproject.toml file." msgstr "" -"Python プロジェクトがインストールされると、Python パッケージマネージャ (`pip` または `conda`) " -"はパッケージの依存関係を自動的にインストールします。これにより、特定の依存関係にある関数を呼び出すと、ユーザーの環境でその関数が利用できるようになります。" - -#: ../../package-structure-code/declare-dependencies.md:70 -msgid "Dependencies can be added to your pyproject.toml file" -msgstr "依存関係はpyproject.tomlファイルに追加できます" -#: ../../package-structure-code/declare-dependencies.md:72 +#: ../../package-structure-code/declare-dependencies.md:64 +#, fuzzy msgid "" -"In the [pyproject.toml overview page](pyproject-toml-python-package-" -"metadata), you learned how to set up a **pyproject.toml** file with basic" -" metadata for your package. On this page, you will learn how to specify " -"different types of dependencies in your `pyproject.toml`." -msgstr "" -"[pyproject.tomlの概要ページ](pyproject-toml-python-package-metadata) " -"では、パッケージの基本的なメタデータを持つ **pyproject.toml** ファイルをセットアップする方法を学びました。 このページでは、 " -"`pyproject.toml` で異なるタイプの依存関係を指定する方法を学びます。" +"A dependency is not part of your project's codebase. It is a package or " +"software called within the code of your project or used during the " +"development of your package." +msgstr "依存関係は、プロジェクトのコードベースの一部ではありません。 プロジェクトのコード内やパッケージの開発中に呼び出されるパッケージやソフトウェアです。" -#: ../../package-structure-code/declare-dependencies.md:79 -msgid "How do you declare dependencies?" -msgstr "依存関係はどのように宣言するのか?" +#: ../../package-structure-code/declare-dependencies.md:69 +#, fuzzy +msgid "1. Required dependencies" +msgstr "再帰的依存関係" -#: ../../package-structure-code/declare-dependencies.md:81 +#: ../../package-structure-code/declare-dependencies.md:71 msgid "" -"We recommend that you declare your dependencies using your " -"`pyproject.toml` file. This ensures that all of the metadata associated " -"with your package is declared in a single place, making it simpler for " -"users and contributors to understand your package infrastructure." +"Required dependencies are imported and called directly within your " +"package's code. They are needed for your package to run." msgstr "" -"依存関係は `pyproject.toml` ファイルを使って宣言することを推奨します。 " -"こうすることで、パッケージに関連するすべてのメタデータが一箇所で宣言され、ユーザや貢献者がパッケージのインフラストラクチャを理解するのがより簡単になります。" -#: ../../package-structure-code/declare-dependencies.md:86 +#: ../../package-structure-code/declare-dependencies.md:74 msgid "" -"Previously, it was common to use a `requirements.txt` file to declare " -"package dependencies. However in recent years, the ecosystem has moved to" -" storing this information in your **pyproject.toml** file. You may notice" -" however that some projects still maintain a `requirements.txt` file for " -"specific local development needs." +"You can add your required dependencies to the `dependencies` array in the" +" `[project]` table of your **pyproject.toml** file. When users install " +"your package with uv, pip, or conda, these dependencies will be " +"automatically installed alongside your package in their environment." msgstr "" -"以前は `requirements.txt` ファイルを使ってパッケージの依存関係を宣言するのが一般的でした。しかし近年、エコシステムはこの情報を" -" **pyproject.toml** ファイルに保存するようになりました。しかし、プロジェクトによっては、特定のローカルな開発ニーズのために " -"`requirements.txt` ファイルを保持していることに気づくかもしれません。" #: ../../package-structure-code/declare-dependencies.md:92 -msgid "Other ways you may see packages storing dependencies" -msgstr "パッケージが依存関係を保存する他の方法" - -#: ../../package-structure-code/declare-dependencies.md:95 +#, fuzzy msgid "" -"If a project contains extensions written in other languages, you may need" -" a `setup.py` file. Or you may contribute to a package that us using " -"`setup.cfg` for dependency declaration. [Learn more about this in the " -"setuptools " -"documentation](https://setuptools.pypa.io/en/latest/userguide/dependency_management.html" -"#declaring-required-dependency)" -msgstr "" -"プロジェクトが他の言語で書かれた拡張機能を含んでいる場合、 `setup.py` ファイルが必要になるかもしれません。あるいは、依存関係の宣言に " -"`setup.cfg` を使っているパッケージに貢献することもできます。 [これについては setuptools " -"のドキュメントを参照してください](https://setuptools.pypa.io/en/latest/userguide/dependency_management.html" -"#declaring-required-dependency)" +"Try your best to minimize dependencies whenever possible. Remember that " +"fewer dependencies reduce the possibility of version conflicts in user " +"environments." +msgstr "インストールする依存関係を少なくすることで、ユーザー環境でのバージョン不一致の可能性が低くなることを覚えておいてください。" -#: ../../package-structure-code/declare-dependencies.md:100 -msgid "Add required dependencies to your pyproject.toml file" +#: ../../package-structure-code/declare-dependencies.md +#, fuzzy +msgid "How to Add Required Dependencies with UV" msgstr "必要な依存関係をpyproject.tomlファイルに追加" #: ../../package-structure-code/declare-dependencies.md:102 -msgid "" -"Your core project dependencies need to be installed by a package manager " -"such as `pip` or `conda` when a user installs your package. You can add " -"those dependencies to the `dependencies` array located within the " -"`[project]` table of your **pyproject.toml** file. This looks something " -"like this:" +#: ../../package-structure-code/declare-dependencies.md:162 +#: ../../package-structure-code/declare-dependencies.md:223 +#, fuzzy +msgid "You can use uv to add dependencies to your pyproject.toml file:" +msgstr "pyproject.tomlファイルに依存関係を追加" + +#: ../../package-structure-code/declare-dependencies.md:104 +msgid "**Add a required dependency:**" +msgstr "" + +#: ../../package-structure-code/declare-dependencies.md:110 +msgid "Will add numpy as a dependency to your `project.dependency` array:" msgstr "" -"コアプロジェクトの依存関係は、ユーザがパッケージをインストールするときに `pip` や `conda` " -"のようなパッケージマネージャによってインストールされる必要があります。 これらの依存関係は、**pyproject.toml** ファイルの " -"`[project]` テーブルにある `dependencies` 配列に追加することができます。 これは次のようになります:" #: ../../package-structure-code/declare-dependencies.md:121 +#, fuzzy +msgid "Requiring packages from GitHub / Gitlab" +msgstr "GitHub / Gitlab からパッケージをインストールする" + +#: ../../package-structure-code/declare-dependencies.md:124 +#, fuzzy msgid "" -"Ideally, you should only list the packages that are necessary to install " -"and use your package in the `dependencies` key in the `[project]` table. " -"This minimizes the number of additional packages that your users must " -"install as well as the number of packages that depend upon your package " -"must also install." +"If you have dependencies that need to be installed directly from GitHub, " +"you can specify them in your pyproject.toml file like this:" msgstr "" -"理想的には、 `[project]` テーブルの `dependencies` キーに、あなたのパッケージをインス " -"トールして使用するために必要なパッケージだけをリストするようにしま す。 " -"こうすることで、ユーザがインストールしなければならない追加パッケージの数や " -"あなたのパッケージに依存するパッケージの数を最小限に抑えることができます。" +"GitHubから直接インストールする必要がある依存関係がある場合は、`git+https`というインストール方法を使います、以下のように " +"`pyproject.toml` ファイルを使用します:" -#: ../../package-structure-code/declare-dependencies.md:128 +#: ../../package-structure-code/declare-dependencies.md:133 +#, fuzzy msgid "" -"Remember that fewer dependencies to install reduces the likelihood of " -"version mismatches in user environments." -msgstr "インストールする依存関係を少なくすることで、ユーザー環境でのバージョン不一致の可能性が低くなることを覚えておいてください。" +"IMPORTANT: If your library depends on a GitHub-hosted project, you should" +" point to a specific commit/tag/hash of that repository before you upload" +" your project to PyPI. You never know how the project might change over " +"time. Commit hashes are more reliable as they can't be changed" +msgstr "重要:セキュリティ上の理由から、あなたのライブラリがGitHubでホストされているプロジェクトに依存している場合、あなたのプロジェクトをPyPIにアップロードするには、そのリポジトリの特定のコミット/タグ/ハッシュを指す必要があります。" -#: ../../package-structure-code/declare-dependencies.md:131 -msgid "A dependency example" -msgstr "依存関係の例" +#: ../../package-structure-code/declare-dependencies.md:140 +#, fuzzy +msgid "2. Optional dependencies" +msgstr "オプションの依存関係" -#: ../../package-structure-code/declare-dependencies.md:133 +#: ../../package-structure-code/declare-dependencies.md:142 msgid "" -"Let's pretend you have a package called `plotMe` that creates beautiful " -"plots of data stored in `numpy` arrays. To create your plots in the " -"`plotMe` package, you use the `seaborn` package to stylize our plots and " -"also `numpy` to process array formatted data." +"Optional (also referred to as feature) dependencies can be installed by " +"users as needed. Optional dependencies add specific features to your " +"package that not all users need. For example, if your package has an " +"optional interactive plotting feature that uses Bokeh, you would list " +"Bokeh as an `[optional.dependency]`. Users who want interactive plotting " +"will install it. Users who don't need plotting don't have to install it." msgstr "" -"`numpy` 配列に格納されたデータの美しいプロットを作成する `plotMe` というパッケージがあるとしましょう。 `plotMe` " -"パッケージでプロットを作成するには、 `seaborn` パッケージを使用してプロットをスタイリングし、 `numpy` " -"パッケージを使用して配列フォーマットのデータを処理します。" - -#: ../../package-structure-code/declare-dependencies.md:135 -msgid "In the example above, the plotMe package, depends upon two packages:" -msgstr "上の例では、plotMeパッケージは2つのパッケージに依存しています:" -#: ../../package-structure-code/declare-dependencies.md:137 -msgid "seaborn" -msgstr "seaborn" - -#: ../../package-structure-code/declare-dependencies.md:138 -msgid "numpy" -msgstr "numpy" +#: ../../package-structure-code/declare-dependencies.md:144 +#, fuzzy +msgid "Place these dependencies in the `[project.optional-dependencies]` table." +msgstr "`[project.optional-dependencies]` テーブルに複数の依存グループをインストールすることができます:" -#: ../../package-structure-code/declare-dependencies.md:140 +#: ../../package-structure-code/declare-dependencies.md:155 msgid "" -"This means that in order for plotMe to work in a user's `environment` " -"when installed, you also need to ensure that they have both of those " -"required `dependencies` installed in their environment too." +"When a user installs your package, uv, pip, or conda automatically " +"installs all required dependencies. Optional dependencies are only " +"installed if the user explicitly requests them." msgstr "" -"つまり、plotMeをインストールしたユーザーの `環境` で動作させるためには、そのユーザーの環境にも必要な `依存関係` " -"の両方がインストールされていることを確認する必要があります。" -#: ../../package-structure-code/declare-dependencies.md:142 -msgid "" -"Declaring a dependency in your `pyproject.toml` file will ensure that it " -"is listed as a required dependency when your package is published to PyPI" -" and that a package manager (`pip` or `conda`) will automatically install" -" it into a user's environment alongside your package:" -msgstr "" -"依存関係を `pyproject.toml` ファイルで宣言することで、あなたのパッケージが PyPI " -"に公開されるときに必須の依存関係としてリストされ、パッケージマネージャ ( `pip` や `conda` ) " -"があなたのパッケージと一緒にユーザーの環境に自動的にインストールするようになります:" +#: ../../package-structure-code/declare-dependencies.md +#, fuzzy +msgid "How to Add optional.dependencies using UV" +msgstr "オプションの依存関係" -#: ../../package-structure-code/declare-dependencies.md:144 -msgid "`python -m pip install plotMe`" -msgstr "`python -m pip install plotMe`" +#: ../../package-structure-code/declare-dependencies.md:164 +#, fuzzy +msgid "**Add an optional dependency:**" +msgstr "オプションの依存関係" + +#: ../../package-structure-code/declare-dependencies.md:170 +#, fuzzy +msgid "Will add this to your pyproject.toml file:" +msgstr "pyproject.tomlファイルに依存関係を追加" + +#: ../../package-structure-code/declare-dependencies.md:181 +#, fuzzy +msgid "3. Dependency groups" +msgstr "依存グループをインストールする" -#: ../../package-structure-code/declare-dependencies.md:149 +#: ../../package-structure-code/declare-dependencies.md:183 msgid "" -"Optional dependencies for building your documentation, running your tests" -" and building your package's distribution files are often referred to as " -"development dependencies. These are the dependencies that a user needs to" -" work on your package locally and perform tasks such as:" +"Development dependencies include packages needed to work on your package " +"locally. They are used to perform tasks such as:" msgstr "" -"ドキュメントの構築、テストの実行、パッケージの配布ファイルの構築のための オプションの依存関係は、しばしば開発依存関係と呼ばれます。 " -"これらは、ユーザがあなたのパッケージをローカルで作業し、以下のようなタスクを実行するために必要な依存関係です:" -#: ../../package-structure-code/declare-dependencies.md:151 -msgid "running your test suite" +#: ../../package-structure-code/declare-dependencies.md:186 +#, fuzzy +msgid "running your test suite (pytest, pytest-cov)" msgstr "テストスイートの実行" -#: ../../package-structure-code/declare-dependencies.md:152 -msgid "building your documentation" +#: ../../package-structure-code/declare-dependencies.md:187 +#, fuzzy +msgid "building your documentation (sphinx, sphinx-theme packages)" msgstr "ドキュメントの作成" -#: ../../package-structure-code/declare-dependencies.md:153 -msgid "linting and other code cleanup tools" -msgstr "リンティングとその他のコードクリーンナップツール" +#: ../../package-structure-code/declare-dependencies.md:188 +msgid "linting and formatting code (ruff, black)" +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:155 -msgid "" -"These dependencies are considered optional, because they are not required" -" to install and use your package. Feature dependencies are considered " -"optional and should also be placed in the `[project.optional-" -"dependencies]` table." +#: ../../package-structure-code/declare-dependencies.md:189 +msgid "building package distribution files (build, twine)" msgstr "" -"これらの依存関係はオプションとみなされます。なぜなら、あなたのパッケ ージをインストールして使用するのに必要ではないからです。 " -"機能の依存関係はオプションとみなされ、 `[project.optional-dependencies]` テーブルに置く必要があります。" -#: ../../package-structure-code/declare-dependencies.md:158 +#: ../../package-structure-code/declare-dependencies.md:191 msgid "" -"Optional dependencies can be stored in an `[project.optional-" -"dependencies]` table in your **pyproject.toml** file." +"Dependency groups are optional because they are not required for users to" +" install and use your package. However, they will make it easier for " +"contributors to your project to setup development environments locally." msgstr "" -"オプションの依存関係は **pyproject.toml** ファイルの `[project.optional-dependencies]` " -"テーブルに格納することができます。" -#: ../../package-structure-code/declare-dependencies.md:161 +#: ../../package-structure-code/declare-dependencies.md:196 +#, fuzzy +msgid "New: PEP 735 development dependency groups" +msgstr "オプションの依存グループを作成する" + +#: ../../package-structure-code/declare-dependencies.md:199 msgid "" -"It's important to note that within the `[project.optional-dependencies]` " -"table, you can store additional, optional dependencies within named sub-" -"groups. This is a different table than the dependencies array located " -"within the `[project]` table discussed above which contains a single " -"array with a single list of required packages." +"`[development-groups]` is a newer specification introduced by PEP 735. " +"They are intended to organize development dependencies and are " +"intentionally separate from `[project.optional-dependencies]`, which can" +" be installed into a user's environment." msgstr "" -"ここで重要なのは、 `[project.optional-dependencies]` " -"テーブルの中で、名前付きサブグループの中に追加のオプションの依存関係を格納できることです。これは、上で説明した `[project]` " -"テーブル内の依存関係配列とは異なるテーブルであり、必要なパッケージのリストを1つだけ含む配列が1つ格納されています。" -#: ../../package-structure-code/declare-dependencies.md:163 -msgid "Create optional dependency groups" -msgstr "オプションの依存グループを作成する" +#: ../../package-structure-code/declare-dependencies.md:204 +#, fuzzy +msgid "How to declare dependency groups" +msgstr "依存関係はどのように宣言するのか?" -#: ../../package-structure-code/declare-dependencies.md:165 -msgid "To declare optional dependencies in your **pyproject.toml** file:" +#: ../../package-structure-code/declare-dependencies.md:206 +#, fuzzy +msgid "" +"You declare development dependencies in your **pyproject.toml** file " +"within a `[development-groups]` table." msgstr "**pyproject.toml** ファイルでオプションの依存関係を宣言します:" -#: ../../package-structure-code/declare-dependencies.md:167 +#: ../../package-structure-code/declare-dependencies.md:209 msgid "" -"Add a `[project.optional-dependencies]` table to your **pyproject.toml** " -"file." -msgstr "**pyproject.toml** ファイルに `[project.optional-dependencies]` テーブルを追加します。" +"Similar to optional-dependencies, you can create separate subgroups or " +"arrays with names using the syntax: `group-name = [\"dep1\", \"dep2\"]`" +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:168 -msgid "Create named groups of dependencies using the syntax:" -msgstr "構文を使って、依存関係の名前付きグループを作成します:" +#: ../../package-structure-code/declare-dependencies.md +msgid "How to Add [development.group] using UV" +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:170 -msgid "`group-name = [\"dep1\", \"dep2\"]`" -msgstr "`group-name = [\"dep1\", \"dep2\"]`" +#: ../../package-structure-code/declare-dependencies.md:225 +msgid "**Add a development group dependency:**" +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:172 -msgid "Installing packages from GitHub / Gitlab" -msgstr "GitHub / Gitlab からパッケージをインストールする" +#: ../../package-structure-code/declare-dependencies.md:232 +#, fuzzy +msgid "Will add the following to your pyproject.toml file:" +msgstr "pyproject.tomlファイルに依存関係を追加" + +#: ../../package-structure-code/declare-dependencies.md:245 +#: ../../package-structure-code/declare-dependencies.md:251 +#: ../../package-structure-code/declare-dependencies.md:295 +#: ../../package-structure-code/declare-dependencies.md:414 +#: ../../package-structure-code/declare-dependencies.md:496 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:14 +msgid "Todo" +msgstr "Todo" -#: ../../package-structure-code/declare-dependencies.md:175 +#: ../../package-structure-code/declare-dependencies.md:246 msgid "" -"If you have dependencies that need to be installed directly from GitHub " -"using a `git+https` installation approach, you can do so using the " -"pyproject.toml file like so:" +"i'll pick back up here tomorrow - this section is all about how things " +"install and what \"ships\" with your package vs what just gets installed " +"via commands (ie development)" msgstr "" -"GitHubから直接インストールする必要がある依存関係がある場合は、`git+https`というインストール方法を使います、以下のように " -"`pyproject.toml` ファイルを使用します:" -#: ../../package-structure-code/declare-dependencies.md:185 +#: ../../package-structure-code/declare-dependencies.md:249 +#, fuzzy +msgid "Understanding required vs. optional dependencies" +msgstr "オプションと必須の依存関係を理解する" + +#: ../../package-structure-code/declare-dependencies.md:252 msgid "" -"IMPORTANT: For security reasons, if your library depends on a GitHub-" -"hosted project, you will need to point to a specific commit/tag/hash of " -"that repository in order to upload your project to PyPI" -msgstr "重要:セキュリティ上の理由から、あなたのライブラリがGitHubでホストされているプロジェクトに依存している場合、あなたのプロジェクトをPyPIにアップロードするには、そのリポジトリの特定のコミット/タグ/ハッシュを指す必要があります。" +"The purpose of this section is to help users understand how dependencies " +"relate to what is installed in their environment. We have two graphics on" +" this page - one that breaks out the two buckets of tools (required and " +"optional) that both get installed into a user's envt vs development " +"groups, which are contributor/ development facing, not user-facing. When " +"we originally wrote this section, development groups didn't exist, and we" +" were using optional dependencies for dev groups." +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:190 +#: ../../package-structure-code/declare-dependencies.md:254 msgid "" -"Below we've created three sets of optional development dependencies " -"named: tests, docs and lint. We've also added a set of feature " -"dependencies." -msgstr "以下では、tests、docs、lintという3つのオプションの開発依存関係を作成しました。また、機能依存のセットも追加しました。" +"The graphic below is two circles representing optional vs regular / " +"required deps - created before development groups existed... there is " +"another graphi that shows what gets installed into a uses envt." +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:213 +#: ../../package-structure-code/declare-dependencies.md:258 +msgid "" +"Diagram showing two main groups of Python package dependencies: required " +"and optional. Required dependencies include core packages needed to use " +"your package. Optional dependencies include development dependencies for " +"working on the package locally and feature dependencies for additional " +"functionality." +msgstr "" + +#: ../../package-structure-code/declare-dependencies.md:260 +msgid "" +"Python package dependencies fall into two categories: **required** " +"dependencies that users need to run your package, and **optional** " +"dependencies for development work or additional features." +msgstr "" + +#: ../../package-structure-code/declare-dependencies.md:265 msgid "Additional dependency resources" msgstr "その他の依存リソース" -#: ../../package-structure-code/declare-dependencies.md:215 +#: ../../package-structure-code/declare-dependencies.md:267 msgid "" "[Learn more: View PyPA's overview of declaring optional " "dependencies](https://packaging.python.org/en/latest/specifications" @@ -1317,7 +1297,7 @@ msgstr "" "PyPAのオプション依存関係の宣言の概要を見る](https://packaging.python.org/en/latest/specifications" "/declaring-project-metadata/#dependencies-optional-dependencies)" -#: ../../package-structure-code/declare-dependencies.md:217 +#: ../../package-structure-code/declare-dependencies.md:268 msgid "" "[Dependency " "specifiers](https://packaging.python.org/en/latest/specifications" @@ -1327,22 +1307,27 @@ msgstr "" "specifiers](https://packaging.python.org/en/latest/specifications" "/dependency-specifiers/)" -#: ../../package-structure-code/declare-dependencies.md:221 +#: ../../package-structure-code/declare-dependencies.md:272 msgid "Install dependency groups" msgstr "依存グループをインストールする" -#: ../../package-structure-code/declare-dependencies.md:226 +#: ../../package-structure-code/declare-dependencies.md:274 msgid "" -"Diagram showing a Venn diagram with three sections representing the " -"dependency groups listed above - docs feature and tests. In the center it" -" says your-package and lists the core dependencies of that package " -"seaborn and numpy. To the right are two arrows. The first shows the " -"command python - m pip install your-package. It them shows how installing" -" your package that way installs only the package and the two core " -"dependencies into a users environment. Below is a second arrow with " -"python -m pip install youPackage[tests]. This leads to an environment " -"with both the package dependencies - your-package, seaborn and numpy and " -"also the tests dependencies including pytest and pytest-cov" +"When someone installs your package, only core dependencies are installed " +"by default. To install optional dependencies, you need to specify which " +"groups to include when installing the package." +msgstr "" + +#: ../../package-structure-code/declare-dependencies.md:280 +#, fuzzy +msgid "" +"Diagram showing a Venn diagram with three sections representing " +"dependency groups - docs, feature, and tests. In the center it shows " +"your-package with core dependencies seaborn and numpy. Two arrows on the " +"right demonstrate: first, python -m pip install your-package installs " +"only the package and core dependencies. Second, python -m pip install " +"your-package[tests] installs the package, core dependencies, and test " +"dependencies including pytest and pytest-cov." msgstr "" "上記の依存グループを表す3つのセクションを持つven図を示す図 - ドキュメント機能とテスト。中央には your-package " "と表示され、そのパッケージの主要な依存関係であるseabornとnumpyがリストされています。 " @@ -1351,14 +1336,14 @@ msgstr "" " python -m pip install youPackage[tests] とあります。これにより、パッケージ依存関係 - your-" "package、seaborn、numpy とテスト依存関係 pytest、pytest-cov の両方を含む環境が構築されます。" -#: ../../package-structure-code/declare-dependencies.md:228 +#: ../../package-structure-code/declare-dependencies.md:282 +#, fuzzy msgid "" -"When a user installs your package locally using `python -m pip install " -"your-package` only your package and it's core dependencies get installed." -" When they install your package `python -m pip install your-" -"package[tests]` pip will install both your package and its core " -"dependencies plus any of the dependencies listed within the tests array " -"of your `[project.optional-dependencies]` table." +"When a user installs your package using `pip install your-package`, only " +"your package and its core dependencies get installed. When they install " +"with `pip install your-package[tests]`, pip will install your package, " +"core dependencies, and the test dependencies from the `[project.optional-" +"dependencies]` table." msgstr "" "ユーザがローカルで `python -m pip install your-package` " "を使ってあなたのパッケージをインストールすると、あなたのパッケージとそのコア依存関係のみがインストールされます。ユーザがあなたのパッケージ " @@ -1366,676 +1351,703 @@ msgstr "" "はあなたのパッケージとそのコア依存パッケージの両方をインストールし、さらに `[project.optional-dependencies]` " "テーブルの tests 配列にリストされている依存パッケージをインストールします。" -#: ../../package-structure-code/declare-dependencies.md:231 -msgid "Using `python -m pip install` vs. `pip install`" -msgstr "`python -m pip install` と `pip install` の比較" +#: ../../package-structure-code/declare-dependencies.md:289 +msgid "Using uv or pip for installation" +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:233 +#: ../../package-structure-code/declare-dependencies.md:291 msgid "" -"In all of the examples in this guide, you will notice we are calling " -"`pip` using the syntax:" -msgstr "このガイドのすべての例で、構文を使って `pip` を呼び出していることに気づくでしょう:" - -#: ../../package-structure-code/declare-dependencies.md:236 -msgid "`python -m pip`" -msgstr "`python -m pip`" +"UV streamlines this process, allowing you to sync a venv in your project " +"directory with both an editable install of your package and its " +"dependencies automatically. You can also use pip and install dependencies" +" into the environment of your choice." +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:238 +#: ../../package-structure-code/declare-dependencies.md:296 msgid "" -"Calling pip using `python -m` ensures that the `pip` that you are using " -"to install your package comes from your current active Python " -"environment. We strongly suggest that you use this approach whenever you " -"call `pip` to avoid installation conflicts." +"We shouldn't show UV pip install, so how do you add optional feature deps" +" with UV??" msgstr "" -"`python -m` を使用して pip を呼び出すと、パッケージをインストールするために使用する `pip` が、現在アクティブな " -"Python 環境のものであることが保証されます。インストールの衝突を避けるために、 `pip` " -"を呼び出すときは常にこの方法を使うことを強く推奨します。" -#: ../../package-structure-code/declare-dependencies.md:242 -msgid "" -"To ensure this works as you want it to, activate your package's " -"development environment prior to installing anything using `pip`." -msgstr "これが思い通りに動くようにするには、 `pip` を使って何かをインストールする前に、パッケージの開発環境を有効にしてください。" +#: ../../package-structure-code/declare-dependencies.md:299 +#, fuzzy +msgid "**Install development groups:**" +msgstr "依存グループをインストールする" -#: ../../package-structure-code/declare-dependencies.md:246 -msgid "" -"You can install development dependencies using the groups that you " -"defined above using the syntax:" -msgstr "上記で定義したグループを使用して、構文を使って開発依存ファイルをインストールすることができます:" +#: ../../package-structure-code/declare-dependencies.md +msgid "Use UV" +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:249 -msgid "`python -m pip install \".[docs]\"`" -msgstr "`python -m pip install \".[docs]\"`" +#: ../../package-structure-code/declare-dependencies.md:305 +msgid "You can use uv sync to sync dependency groups in your uv-managed venv" +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:251 -msgid "Above you install:" -msgstr "上記でインストールするのは:" +#: ../../package-structure-code/declare-dependencies.md:313 +#: ../../package-structure-code/declare-dependencies.md:334 +#, fuzzy +msgid "**Install optional dependencies:**" +msgstr "オプションの依存関係" -#: ../../package-structure-code/declare-dependencies.md:252 -msgid "dependencies needed for your documentation (`docs`)," -msgstr "ドキュメント (`docs`) に必要な依存関係、" +#: ../../package-structure-code/declare-dependencies.md:321 +#, fuzzy +msgid "**Install everything (package + all dependencies):**" +msgstr "Pythonパッケージの依存関係" -#: ../../package-structure-code/declare-dependencies.md:253 -msgid "required package dependencies in the `dependencies` array and" -msgstr "必要なパッケージの依存関係を `dependency` 配列で指定し" +#: ../../package-structure-code/declare-dependencies.md:327 +msgid "" +"`uv sync` is the recommended command for development workflows. It " +"manages your virtual environment and keeps your lockfile up to date. Use " +"`uv pip install` when you need pip-compatible behavior." +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:254 -msgid "your package" -msgstr "あなたのパッケージ" +#: ../../package-structure-code/declare-dependencies.md +msgid "Use pip (version >=25.1)" +msgstr "" + +#: ../../package-structure-code/declare-dependencies.md:341 +#, fuzzy +msgid "**Install dependency groups:**" +msgstr "依存グループをインストールする" + +#: ../../package-structure-code/declare-dependencies.md:348 +#, fuzzy +msgid "" +"Always call pip using `python -m pip` to ensure you're using the pip from" +" your current active Python environment. This helps avoid installation " +"conflicts." +msgstr "" +"`python -m` を使用して pip を呼び出すと、パッケージをインストールするために使用する `pip` が、現在アクティブな " +"Python 環境のものであることが保証されます。インストールの衝突を避けるために、 `pip` " +"を呼び出すときは常にこの方法を使うことを強く推奨します。" -#: ../../package-structure-code/declare-dependencies.md:256 +#: ../../package-structure-code/declare-dependencies.md:352 msgid "" -"using pip. Below you install your package, required dependencies and " -"optional test dependencies." -msgstr "pipを使います。 以下では、パッケージ、必要な依存関係、オプションのテスト依存関係をインストールします。" +"**Note:** Some shells (like zsh on Mac) require quotes around brackets to" +" run successfully:" +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:259 -#: ../../package-structure-code/declare-dependencies.md:277 +#: ../../package-structure-code/declare-dependencies.md:354 msgid "`python -m pip install \".[tests]\"`" msgstr "`python -m pip install \".[tests]\"`" -#: ../../package-structure-code/declare-dependencies.md:261 -msgid "" -"You can install multiple dependency groups in the `[project.optional-" -"dependencies]` table using:" -msgstr "`[project.optional-dependencies]` テーブルに複数の依存グループをインストールすることができます:" +#: ../../package-structure-code/declare-dependencies.md:360 +#, fuzzy +msgid "Combining dependency groups" +msgstr "依存グループをインストールする" -#: ../../package-structure-code/declare-dependencies.md:263 -msgid "`python -m pip install \".[docs, tests, lint]\"`" -msgstr "`python -m pip install \".[docs, tests, lint]\"`" +#: ../../package-structure-code/declare-dependencies.md:362 +msgid "You can also create combined groups that reference other groups:" +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:266 -msgid "For zsh shell users" -msgstr "zshシェルユーザーの場合" +#: ../../package-structure-code/declare-dependencies.md:371 +msgid "Then install everything with pip install or uv sync as needed:" +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:270 +#: ../../package-structure-code/declare-dependencies.md:380 +#, fuzzy msgid "" -"There are different shell applications that you and your package " -"contributors might use." -msgstr "あなたやパッケージの貢献者が使うかもしれません、さまざまなシェルアプリケーションがあります。" - -#: ../../package-structure-code/declare-dependencies.md:271 -msgid "zsh is the shell that comes by default on newer Mac OS computers" -msgstr "zsh は、新しい Mac OS コンピュータにデフォルトで搭載されているシェルです" +"When you install optional dependencies, pip and uv install your package " +"and its core dependencies automatically." +msgstr "`pip` はあなたのパッケージとそのコアの依存関係もインストールします。" -#: ../../package-structure-code/declare-dependencies.md:272 -msgid "Windows users may use a tool such as git bash" -msgstr "Windowsユーザーは、git bashのようなツールを使うことができます" +#: ../../package-structure-code/declare-dependencies.md:384 +#, fuzzy +msgid "Version specifiers for dependencies" +msgstr "依存関係のセットを組み合わせる" -#: ../../package-structure-code/declare-dependencies.md:274 +#: ../../package-structure-code/declare-dependencies.md:386 msgid "" -"Some shells don't support unquoted brackets (`[tests]`) which is why we " -"add quotes to the command in this guide like this:" +"Version specifiers control which versions of a dependency work with your " +"package. Use them to specify minimum versions, exclude buggy releases, or" +" set version ranges." msgstr "" -"シェルによっては、引用符で囲まれていない括弧 (`[tests]`) " -"をサポートしていないものもあるので、このガイドではこのようにコマンドに引用符を追加しています:" - -#: ../../package-structure-code/declare-dependencies.md:279 -msgid "" -"In some cases you may see commands without the quotes in guidebooks or " -"contributing guides like the example below:" -msgstr "ガイドブックやコントリビューションガイドでは、以下の例のように引用符を使わないコマンドを見かけることがあります:" -#: ../../package-structure-code/declare-dependencies.md:282 -msgid "`python -m pip install your-package[tests]`" -msgstr "`python -m pip install your-package[tests]`" +#: ../../package-structure-code/declare-dependencies.md:390 +msgid "Common operators" +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:284 +#: ../../package-structure-code/declare-dependencies.md:392 msgid "" -"Calling your-package[tests] without the double quotes will work on some " -"shells *but not all*." -msgstr "二重引用符を付けずに your-package[tests] を呼び出すと、一部のシェルでは動作しますが、 *すべてではありません* 。" - -#: ../../package-structure-code/declare-dependencies.md:287 -msgid "Combining sets of dependencies" -msgstr "依存関係のセットを組み合わせる" +"**`>=`** Minimum version set: `numpy>=1.20` (This is the most common " +"approach and is recommended)" +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:289 +#: ../../package-structure-code/declare-dependencies.md:393 msgid "" -"Above we reviewed how to install dependencies from your `pyproject.toml`." -" In some cases you may want to group sets of dependencies like so:" +"**`==`** Exact version: `requests==2.28.0` (Avoid pinning dependencies " +"like this unless necessary)" msgstr "" -"上記では、 `pyproject.toml` から依存関係をインストールする方法を説明しました。 " -"場合によっては、依存関係のセットをこのようにグループ化したいこともあるでしょう:" -#: ../../package-structure-code/declare-dependencies.md:302 +#: ../../package-structure-code/declare-dependencies.md:394 msgid "" -"The above allows you to install both the tests and docs dependency lists " -"using the command:" -msgstr "上記のコマンドを使えば、testsとdocsの両方の依存リストをインストールできます:" - -#: ../../package-structure-code/declare-dependencies.md:305 -msgid "`python -m pip install \".[dev]\"`" -msgstr "`python -m pip install \".[dev]\"`" - -#: ../../package-structure-code/declare-dependencies.md:308 -msgid "When you install dependencies using the above syntax:" -msgstr "上記の構文を使って依存関係をインストールする場合:" - -#: ../../package-structure-code/declare-dependencies.md:310 -msgid "`python -m pip install \".[tests, docs]\"`" -msgstr "`python -m pip install \".[tests, docs]\"`" - -#: ../../package-structure-code/declare-dependencies.md:312 -msgid "`pip` will also install your package and its core dependencies." -msgstr "`pip` はあなたのパッケージとそのコアの依存関係もインストールします。" +"**`~=`** Compatible release: `django~=4.2.0` (Allows patches: " +">=4.2.0,<4.3.0)" +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:316 -msgid "Where does conda fit in?" -msgstr "condaはどこに入りますか?" +#: ../../package-structure-code/declare-dependencies.md:395 +msgid "**`<` or `>`** - Upper/lower bounds: `pandas>=1.0,<3.0`" +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:319 +#: ../../package-structure-code/declare-dependencies.md:396 msgid "" -"The `pyproject.toml` file allows you to list any Python package published" -" on PyPI (or on GitHub/ GitLab) as a dependency. Once you create this " -"file, declare dependencies, [build your package](python-package-" -"distribution-files-sdist-wheel.md) and [publish your package to PyPI" -"](publish-python-package-pypi-conda.md), people can install both your " -"package and all of it's dependencies with one command." +"**`!=`** Exclude version: `scipy>=1.7,!=1.8.0` (Rare but allows you to " +"skip a buggy release version)" msgstr "" -"`pyproject.toml` ファイルを使うと、PyPI(またはGitHub/ " -"GitLab)で公開されているPythonパッケージを依存関係として列挙することができます。 このファイルを作成し、依存関係を宣言し、 " -"[パッケージをビルドする](python-package-distribution-files-sdist-wheel.md) 、 " -"[パッケージをPyPIに公開する](publish-python-package-pypi-conda.md) " -"とすると、1つのコマンドであなたのパッケージと依存関係のあるパッケージの両方をインストールすることができます。" -#: ../../package-structure-code/declare-dependencies.md:322 -msgid "`python -m pip install your-package`" -msgstr "`python -m pip install your-package`" +#: ../../package-structure-code/declare-dependencies.md:399 +msgid "" +"**Best practice:** Use `>=` to specify your minimum tested version and " +"avoid upper bounds unless you know at what version that dependency is no " +"longer compatible. UV will do this by default when it adds a dependency " +"to your pyproject.toml file. This keeps your package flexible and reduces" +" dependency conflicts." +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:324 -msgid "This works great if your package is pure-python (no other languages used)." -msgstr "これは、パッケージが純粋なpython (他の言語が使われていない) のであれば、とてもうまくいきます。" +#: ../../package-structure-code/declare-dependencies.md:415 +msgid "Using conda and Pixi" +msgstr "" -#: ../../package-structure-code/declare-dependencies.md:326 +#: ../../package-structure-code/declare-dependencies.md:419 +#, fuzzy msgid "" -"Some packages, particularly in the scientific Python ecosystem, require " -"dependencies that are not written in Python. Conda was created to support" -" distribution of tools that have code written in both Python and " -"languages other than Python." +"The `pyproject.toml` file works great for pure-Python packages. However, " +"some packages (particularly in the scientific Python ecosystem) require " +"dependencies written in other languages like C or Fortran. Conda was " +"created to support the distribution of tools with non-Python " +"dependencies." msgstr "" "いくつかのパッケージ、特に科学的なPythonエコシステムでは、Pythonで書かれていない依存関係を必要とします。 " "Condaは、PythonとPython以外の言語の両方で書かれたコードを持つツールの配布をサポートするために作られました。" -#: ../../package-structure-code/declare-dependencies.md:329 -msgid "Support conda users with environment.yml files" -msgstr "environment.yml ファイルで conda ユーザーをサポートする" +#: ../../package-structure-code/declare-dependencies.md:424 +#, fuzzy +msgid "**For conda users:**" +msgstr "condaユーザーへのメモ" -#: ../../package-structure-code/declare-dependencies.md:331 +#: ../../package-structure-code/declare-dependencies.md:426 msgid "" -"The above workflow assumes that you want to publish your package on PyPI." -" And then you plan to publish to conda-forge (optionally), [by submitting" -" a recipe using grayskull](https://www.pyopensci.org/python-package-guide" -"/package-structure-code/publish-python-package-pypi-conda.html)." +"You can maintain an `environment.yml` file to help users and contributors" +" set up conda environments. This is especially useful for packages with " +"system-level dependencies like GDAL." +msgstr "" + +#: ../../package-structure-code/declare-dependencies.md:430 +msgid "**Consider Pixi for conda package focused workflows:**" msgstr "" -"上記のワークフローは、PyPIでパッケージを公開することを想定しています。そして、 " -"[grayskullを使ってレシピを投稿する](https://www.pyopensci.org/python-package-guide" -"/package-structure-code/publish-python-package-pypi-conda.html) ことで" -"、conda-forgeに(オプションで)公開する予定です。" -#: ../../package-structure-code/declare-dependencies.md:333 +#: ../../package-structure-code/declare-dependencies.md:432 msgid "" -"If you want to support conda users, you may want to also maintain a conda" -" environment that they can use to install your package. Maintaining a " -"conda environment will also help you test that your package installs as " -"you expect into a conda environment." +"[Pixi](https://pixi.sh) is a modern package manager built on top of both " +"the conda and Python package ecosystems. Pixi is able to treat conda and " +"Python package requirements with parity when resolving environments, but " +"uses a \"conda-first\" approach of using already resolved conda packages " +"if possible when resolving Python dependencies. Pixi [can also use " +"`pyproject.toml` for " +"configuration](https://pixi.sh/latest/python/pyproject_toml/). If your " +"project relies heavily on conda packages, Pixi offers a streamlined " +"workflow with faster dependency resolution and automatic lock file " +"support for full environment reproducibility. If you already have an " +"existing conda environment definition file, like an `environment.yml`, " +"you can [import the " +"environment](https://pixi.sh/latest/tutorials/import/) into a new Pixi " +"workspace with" msgstr "" -"conda ユーザーをサポートしたいのであれば、彼らがあなたのパッケージをインス トールするのに使える conda " -"環境も管理した方が良いでしょう。 conda 環境を維持することは、あなたのパッケージが conda " -"環境に期待通りにインストールされるかをテストするのにも役立ちます。" -#: ../../package-structure-code/declare-dependencies.md:336 +#: ../../package-structure-code/declare-dependencies.md:450 msgid "A note for conda users" msgstr "condaユーザーへのメモ" -#: ../../package-structure-code/declare-dependencies.md:339 +#: ../../package-structure-code/declare-dependencies.md:453 msgid "" -"If you use a conda environment for developing your tool, keep in mind " -"that when you install your package using `python -m pip install -e .` (or" -" using pip in general), dependencies will be installed from PyPI rather " -"than conda." +"If you use a conda environment for development and install your package " +"with `python -m pip install -e .` dependencies will be installed from " +"PyPI, potentially overwriting conda packages that had already been " +"installed. This can cause conflicts, especially for packages with system " +"dependencies." msgstr "" -"ツールの開発にconda環境を使用している場合、 `python -m pip install -e .` " -"を使用してパッケージをインストールするとき(または一般的にpipを使用するとき)、依存関係はcondaではなくPyPIからインストールされることに注意してください。" -#: ../../package-structure-code/declare-dependencies.md:341 -msgid "" -"Thus, if you are running a conda environment, installing your package in " -"\"editable\" mode risks dependency conflicts. This is particularly " -"important if you have a spatial package that requires geospatial system " -"libraries like GDAL or another system-level dependency." -msgstr "" -"したがって、conda環境を実行している場合、パッケージを \"editable \"モードでインス " -"トールすると、依存関係が衝突する危険性があります。 " -"これは、GDALのような地理空間システムライブラリや他のシステムレベルの依存関係を必要とする空間パッケージがある場合、特に重要です。" +#: ../../package-structure-code/declare-dependencies.md:458 +#, fuzzy +msgid "To avoid this, install your package without dependencies:" +msgstr "`pip` はあなたのパッケージとそのコアの依存関係もインストールします。" -#: ../../package-structure-code/declare-dependencies.md:343 -msgid "" -"Alternatively, you can install your package using `python -m pip install " -"-e . --no-deps` to only install the package. And install the rest of your" -" dependencies using a conda environment file." -msgstr "" -"あるいは、 `python -m pip install -e . --no-deps` " -"を使ってパッケージだけをインストールすることもできます。そして、conda環境ファイルを使って残りの依存関係をインストールします。" +#: ../../package-structure-code/declare-dependencies.md:464 +#, fuzzy +msgid "Then install dependencies through your conda `environment.yml` file." +msgstr "pyproject.tomlファイルに依存関係を追加" -#: ../../package-structure-code/declare-dependencies.md:346 +#: ../../package-structure-code/declare-dependencies.md:467 msgid "Dependencies in Read the Docs" msgstr "Read the Docs の依存関係" -#: ../../package-structure-code/declare-dependencies.md:348 +#: ../../package-structure-code/declare-dependencies.md:469 +#, fuzzy msgid "" -"Now that you have your dependencies specified in your project, you can " -"use them to support other workflows such as publishing to Read the Docs." +"Once you've specified dependencies in your `pyproject.toml`, you can use " +"them in other workflows like building documentation on Read the Docs." msgstr "プロジェクトで依存関係を指定できたので、Read the Docsへのパブリッシュなど、他のワークフローをサポートするためにそれらを使用できます。" -#: ../../package-structure-code/declare-dependencies.md:350 +#: ../../package-structure-code/declare-dependencies.md:472 +#, fuzzy msgid "" -"[Read the Docs](https://readthedocs.org) is a documentation platform with" -" a continuous integration / continuous deployment service that " -"automatically builds and publishes your documentation." +"[Read the Docs](https://readthedocs.org) is a documentation platform that" +" automatically builds and publishes your documentation. To install your " +"dependencies during the build process, configure them in a " +"**readthedocs.yaml** file." msgstr "" "[Read the Docs](https://readthedocs.org) " "は、継続的インテグレーション/継続的デプロイメントサービスを備えたドキュメントプラットフォームで、あなたのドキュメントを自動的にビルドして公開します。" -#: ../../package-structure-code/declare-dependencies.md:352 -msgid "" -"If you are using Read the Docs to build your documentation, then you may " -"need to install your dependencies using a **readthedocs.yaml** file." +#: ../../package-structure-code/declare-dependencies.md:477 +msgid "Here's an example that installs your `docs` optional dependencies:" msgstr "" -"Read the Docsを使用してドキュメントを構築している場合、 **readthedocs.yaml** " -"ファイルを使用して依存関係をインストールする必要があるかもしれません。" -#: ../../package-structure-code/declare-dependencies.md:354 +#: ../../package-structure-code/declare-dependencies.md:488 +#, fuzzy +msgid "Learn more about Read the Docs" +msgstr "flitについてもっと知る" + +#: ../../package-structure-code/declare-dependencies.md:491 +#, fuzzy msgid "" -"Below is an example of installing the **docs** section of your dependency" -" table in the pyproject.toml file within a readthedocs.yaml file." +"[Creating a readthedocs.yaml file](https://docs.readthedocs.io/en/stable" +"/config-file/index.html)" msgstr "" -"以下は、readthedocs.yamlファイル内のpyproject.tomlファイルに依存関係テーブルの **docs** " -"セクションをインストールする例です。" - -#: ../../package-structure-code/declare-dependencies.md:366 -msgid "Read the Docs and Python packages" -msgstr "Read the DocsとPythonパッケージ" +"[ `readthedocs.yaml` " +"ファイルの作成方法についてはこちらをご覧ください。](https://docs.readthedocs.io/en/stable/config-" +"file/index.html)" -#: ../../package-structure-code/declare-dependencies.md:370 +#: ../../package-structure-code/declare-dependencies.md:492 +#, fuzzy msgid "" -"[Learn more about creating a `readthedocs.yaml` file here. " -"](https://docs.readthedocs.io/en/stable/config-file/index.html)" +"[Using uv with Read the Docs](https://docs.readthedocs.io/en/stable" +"/build-customization.html)" msgstr "" "[ `readthedocs.yaml` " "ファイルの作成方法についてはこちらをご覧ください。](https://docs.readthedocs.io/en/stable/config-" "file/index.html)" -#: ../../package-structure-code/declare-dependencies.md:371 +#: ../../package-structure-code/declare-dependencies.md:493 +#, fuzzy msgid "" -"If you want to install dependencies using Poetry in Read the Docs, [you " -"can learn more here.](https://docs.readthedocs.io/en/stable/build-" -"customization.html#install-dependencies-with-poetry)" +"[Using Poetry with Read the Docs](https://docs.readthedocs.io/en/stable" +"/build-customization.html#install-dependencies-with-poetry)" msgstr "" "Read the DocsのPoetryを使って依存関係をインストールしたい場合は、 " "[こちらで詳しく説明されています。](https://docs.readthedocs.io/en/stable/build-" "customization.html#install-dependencies-with-poetry)" -#: ../../package-structure-code/declare-dependencies.md:376 -msgid "This is hidden. TO" -msgstr "これは隠されています。TO" +#: ../../package-structure-code/declare-dependencies.md:498 +#, fuzzy +msgid "" +"Keep this comment - in this file for now - Jeremiah " +"did a nice inventory of common shells and whether they need quotes or " +"not. It's really comprehensive. But do we want it in the guide?? It's " +"really useful for more advanced users." +msgstr "" +"このコメントを残しておいてください - https://github.com/pyOpenSci/python-package-" +"guide/pull/106#issuecomment-1844278487 - " +"今のところはこのファイルに。jeremiahは一般的なシェルについて、引用符が必要かどうかという点も含めて、素晴らしいリストを作成しました。本当に包括的です。しかし、ガイドに必要でしょうか?上級ユーザーにとっては本当に役立つと思います。" + +#: ../../package-structure-code/declare-dependencies.md:500 +#, fuzzy +msgid "" +"Following this comment: " +msgstr "" +"このコメントによります: https://github.com/pyOpenSci/python-package-" +"guide/pull/106#pullrequestreview-1766663571" + +#: ../../package-structure-code/declare-dependencies.md:503 +msgid "Jonny will add a section that talks about:" +msgstr "Jonny はそのセクションを追加する予定です:" + +#: ../../package-structure-code/declare-dependencies.md:505 +msgid "" +"Why you specify dependencies How to specify dependencies When you use " +"different specifiers" +msgstr "依存関係を指定する理由 依存関係を指定する方法 異なる指定子を使用する場合" -#: ../../package-structure-code/intro.md:179 +#: ../../package-structure-code/intro.md:183 msgid "Intro" msgstr "イントロ" -#: ../../package-structure-code/intro.md:179 +#: ../../package-structure-code/intro.md:183 msgid "Python package structure" msgstr "Pythonパッケージ構造" -#: ../../package-structure-code/intro.md:179 +#: ../../package-structure-code/intro.md:183 msgid "pyproject.toml Package Metadata" msgstr "pyproject.toml パッケージのメタデータ" -#: ../../package-structure-code/intro.md:179 -msgid "Build Your Package" -msgstr "パッケージをビルドする" - -#: ../../package-structure-code/intro.md:179 +#: ../../package-structure-code/intro.md:183 msgid "Declare dependencies" msgstr "依存関係の宣言" -#: ../../package-structure-code/intro.md:179 +#: ../../package-structure-code/intro.md:183 msgid "Package Build Tools" msgstr "パッケージビルドツール" -#: ../../package-structure-code/intro.md:179 +#: ../../package-structure-code/intro.md:183 +msgid "Build Your Package" +msgstr "パッケージをビルドする" + +#: ../../package-structure-code/intro.md:183 msgid "Complex Builds" msgstr "複雑なビルド" -#: ../../package-structure-code/intro.md:179 +#: ../../package-structure-code/intro.md:183 msgid "Create & Build Your Package" msgstr "パッケージを作成 & ビルドする" -#: ../../package-structure-code/intro.md:193 +#: ../../package-structure-code/intro.md:197 msgid "Publish with Conda / PyPI" msgstr "Conda / PyPIで公開する" -#: ../../package-structure-code/intro.md:193 +#: ../../package-structure-code/intro.md:197 msgid "Package versions" msgstr "パッケージバージョン" -#: ../../package-structure-code/intro.md:193 +#: ../../package-structure-code/intro.md:197 msgid "Code style" msgstr "コードスタイル" -#: ../../package-structure-code/intro.md:193 +#: ../../package-structure-code/intro.md:197 msgid "Publish your package" msgstr "パッケージを公開する" #: ../../package-structure-code/intro.md:1 -msgid "Python Package Structure" +#, fuzzy +msgid "Python Package Structure & Code" msgstr "Pythonパッケージ構造" #: ../../package-structure-code/intro.md:3 msgid "" -"This section provides guidance on your Python package's structure, code " -"format, and style. It also reviews the various [packaging tools](python-" -"package-build-tools) you can use to [build](python-package-distribution-" -"files-sdist-wheel) and [publish](publish-python-package-pypi-conda) your " -"Python package." -msgstr "" -"このセクションでは、Python パッケージの構造、コードフォーマット、スタイルに関するガイダンスを提供します。また、Pythonパッケージの " -"[build](python-package-distribution-files-sdist-wheel) や [publish" -"](publish-python-package-pypi-conda) に使える様々な [packaging tools](python-" -"package-build-tools) もレビューしています。" - -#: ../../package-structure-code/intro.md:7 -msgid "" -"If you want end-to-end tutorials, check out our tutorial series that " -"starts by introducing [what a Python package is](what-is-a-package)." -msgstr "" -"チュートリアルが必要な場合は、 [Python パッケージとは](what-is-a-package) " -"何かを紹介するところから始まるチュートリアルシリーズをご覧ください。" - -#: ../../package-structure-code/intro.md:9 -msgid "" -"If you are confused by Python packaging, you are not alone! The good news" -" is that some great modern packaging tools ensure you follow best " -"practices. Here, we review tool features and suggest tools you can use " -"for your Python packaging workflow." +"This section covers everything you need to structure your Python package," +" configure metadata, choose build tools, and publish your package to PyPI" +" and conda-forge." msgstr "" -"Python のパッケージングに戸惑っているのはあなただけではありません! " -"良いニュースは、あなたがベストプラクティスに従っていることを保証する、いくつかの素晴らしい最新のパッケージングツールがあるということです。 " -"ここでは、ツールの機能をレビューし、あなたのワークフローに最適なツールを提案します。" -#: ../../package-structure-code/intro.md:14 -msgid "Checkout our beginning-to-end create a Python package tutorials" -msgstr "Pythonパッケージ作成チュートリアルをご覧ください。" - -#: ../../package-structure-code/intro.md:23 +#: ../../package-structure-code/intro.md:44 msgid "How this content is developed" msgstr "このコンテンツの開発方法" -#: ../../package-structure-code/intro.md:24 +#: ../../package-structure-code/intro.md:47 msgid "" "All of the content in this guide has been vetted by community members, " "including maintainers and developers of the core packaging tools." msgstr "このガイドの内容はすべて、コアパッケージングツールのメンテナや開発者を含むコミュニティメンバーによって吟味されています。" -#: ../../package-structure-code/intro.md:35 -msgid "✨ 1. Package file structure ✨" -msgstr "✨ 1. パッケージのファイル構成 ✨" +#: ../../package-structure-code/intro.md:50 +#, fuzzy +msgid "What you'll learn" +msgstr "ここで学べること" + +#: ../../package-structure-code/intro.md:52 +msgid "In this section, you'll learn how to:" +msgstr "" -#: ../../package-structure-code/intro.md:39 +#: ../../package-structure-code/intro.md:54 msgid "" -"src layout, flat layout and where should tests folders live? No matter " -"what your level of packaging knowledge is, this page will help you decide" -" upon a package structure that follows modern python best practices." +"**Structure your package** - Choose between src and flat layouts, " +"organize tests and documentation" msgstr "" -"src レイアウト、フラットレイアウト、テストフォルダはどこに置くべきか? " -"あなたのパッケージング知識のレベルに関係なく、このページは最新のpythonのベストプラクティスに従ったパッケージ構造を決める助けになるでしょう。" -#: ../../package-structure-code/intro.md:44 -msgid "✨ 2. Learn about building your package ✨" -msgstr "✨ 2. パッケージの構築について学ぶ✨ " +#: ../../package-structure-code/intro.md:55 +msgid "" +"**Configure metadata** - Set up `pyproject.toml` with project " +"information, dependencies, and versioning" +msgstr "" -#: ../../package-structure-code/intro.md:48 +#: ../../package-structure-code/intro.md:56 msgid "" -"To publish your Python package on PyPI, you will need to first build it. " -"The act of \"building\" refers to the process of placing your package " -"code and metadata into a format that can be published on PyPI. Learn more" -" about building your Python package." +"**Choose build tools** - Compare Hatch, PDM, Poetry, and setuptools to " +"find the right fit" msgstr "" -"PythonパッケージをPyPIで公開するには、まずビルドする必要があります。 \"ビルド\" " -"とは、パッケージのコードとメタデータをPyPIで公開できるような形式にすることです。 " -"Pythonパッケージのビルドについての詳細はこちらをご覧ください。" #: ../../package-structure-code/intro.md:57 -msgid "✨ 4. Add metadata ✨" -msgstr "✨ 4. メタデータを追加する ✨" +msgid "" +"**Build distributions** - Create sdist and wheel files ready for " +"publication" +msgstr "" + +#: ../../package-structure-code/intro.md:58 +msgid "" +"**Publish your package** - Make your package available on PyPI and " +"optionally conda-forge" +msgstr "" + +#: ../../package-structure-code/intro.md:59 +msgid "" +"**Maintain code quality** - Set up linters and formatters to keep your " +"code consistent" +msgstr "" #: ../../package-structure-code/intro.md:61 +#, fuzzy msgid "" -"Learn how to add project metadata to your Python package to support both " -"filtering on PyPI and also the metadata that a package installer needs to" -" build and install your package." +"Our recommendations align with current [Python packaging " +"standards](https://packaging.python.org/en/latest/) and [Scientific " +"Python community specs](https://scientific-python.org/specs/), while " +"prioritizing tools that are beginner-friendly and well-maintained." msgstr "" -"Python パッケージにプロジェクトのメタデータを追加して、PyPI " -"でのフィルタリングと、パッケージインストーラがパッケージをビルドしてインストールするために必要なメタデータの両方をサポートする方法を学びましょう。" +"ここでは、私たちの提案を、最新の、受け入れられている " +"[Pythonコミュニティ](https://packaging.python.org/en/latest/) と " +"[科学コミュニティ](https://scientific-python.org/specs/) に合わせることも試みています。" -#: ../../package-structure-code/intro.md:68 -msgid "✨ 3. What Python package tool should you use? ✨" -msgstr "✨ 3. どのPythonパッケージツールを使うべきですか? ✨" +#: ../../package-structure-code/intro.md:63 +#, fuzzy +msgid "Package setup" +msgstr "パッケージバージョン" #: ../../package-structure-code/intro.md:72 +#, fuzzy +msgid "✨ Package file structure ✨" +msgstr "✨ 1. パッケージのファイル構成 ✨" + +#: ../../package-structure-code/intro.md:74 msgid "" -"Learn more about the suite of packaging tools out there. And learn which " -"tool might be best for you." -msgstr "パッケージングツール群についてもっと知りましょう。そして、どのツールがあなたに最適かを学びましょう。" +"Learn how to organize your package files using [src or flat layouts" +"](package-source-layout). This page helps you decide on a package " +"structure that follows modern Python best practices, including where to " +"place [tests](src-layout-test) and [documentation](package-source-" +"layout)." +msgstr "" -#: ../../package-structure-code/intro.md:78 -msgid "✨ 4. Publish to PyPI and Conda ✨" -msgstr "✨ 4. PyPIとCondaに公開する ✨" +#: ../../package-structure-code/intro.md:79 +#, fuzzy +msgid "✨ Add metadata ✨" +msgstr "✨ 4. メタデータを追加する ✨" -#: ../../package-structure-code/intro.md:82 +#: ../../package-structure-code/intro.md:81 +#, fuzzy msgid "" -"If you have a pure Python package, it's a straight forward process to " -"publish to both PyPI and then a Conda channel such as conda-forge. Learn " -"more here." -msgstr "純粋なPythonパッケージであれば、PyPIとconda-forgeのようなCondaチャネルの両方に公開するのは簡単です。 詳しくはこちら。" +"Learn how to add [project metadata](pyproject-toml-python-package-" +"metadata) to your Python package to support both filtering on PyPI and " +"also the metadata that a package installer needs to build and install " +"your package." +msgstr "" +"Python パッケージにプロジェクトのメタデータを追加して、PyPI " +"でのフィルタリングと、パッケージインストーラがパッケージをビルドしてインストールするために必要なメタデータの両方をサポートする方法を学びましょう。" -#: ../../package-structure-code/intro.md:89 -msgid "✨ 5. Setup package versioning ✨" -msgstr "✨ 5. パッケージのバージョニングを設定する ✨" +#: ../../package-structure-code/intro.md:88 +#, fuzzy +msgid "✨ Declare dependencies ✨" +msgstr "依存関係の宣言" -#: ../../package-structure-code/intro.md:93 +#: ../../package-structure-code/intro.md:90 msgid "" -"Semver (numeric versioning) and Calver (versioning using the date) are 2 " -"common ways to version a package. Which one should you pick? Learn more " -"here." +"Learn how to specify [required dependencies](required-dependencies), " +"[optional feature dependencies](optional-dependencies), and [development " +"dependencies](dependency-groups) in your [pyproject.toml file](pyproject-" +"toml-overview)." msgstr "" -"Semver (数値によるバージョン管理) と Calver (日付によるバージョン管理) " -"は、パッケージをバージョン管理する2つの一般的な方法です。 どちらを選ぶべきでしょうか? 詳しくはこちら。" -#: ../../package-structure-code/intro.md:99 -msgid "✨ 6. Code style & linters ✨" -msgstr "✨6. コードスタイルとリンター✨" +#: ../../package-structure-code/intro.md:95 +#, fuzzy +msgid "✨ Setup package versioning ✨" +msgstr "✨ 5. パッケージのバージョニングを設定する ✨" -#: ../../package-structure-code/intro.md:103 +#: ../../package-structure-code/intro.md:97 msgid "" -"Black, blue, flake8, Ruff - which tools can help you ensure your package " -"follows best practices for code format? Learn more about the options and " -"why this is important here." +"Learn how to manage package versions using [semantic versioning (SemVer" +")](package-versioning) or [calendar versioning (CalVer)](package-" +"versioning). This page helps you choose the right versioning strategy and" +" set up [automated version management](tools-version-management) using " +"tools like hatch_vcs or setuptools-scm." msgstr "" -"Black、blue、flake8、Ruff - " -"あなたのパッケージがコードフォーマットのベストプラクティスに従っていることを確認するのに役立つツールはどれですか? " -"オプションの詳細と、なぜこれが重要なのかについては、こちらをご覧ください。" -#: ../../package-structure-code/intro.md:111 -msgid "" -"Figure showing a decision tree with the various packaging tool front-end " -"and back-end options." -msgstr "様々なパッケージングツールのフロントエンドとバックエンドのオプションの決定ツリーを示す図。" +#: ../../package-structure-code/intro.md:101 +#, fuzzy +msgid "Development practices" +msgstr "開発状況" -#: ../../package-structure-code/intro.md:113 -msgid "" -"Diagram showing the various front-end build tools that you can select " -"from. See the packaging tools page to learn more about each tool." -msgstr "選択可能な様々なフロントエンドビルドツールを示す図。 各ツールの詳細については、パッケージングツールのページを参照してください。" +#: ../../package-structure-code/intro.md:110 +#, fuzzy +msgid "✨ Code style & linters ✨" +msgstr "✨6. コードスタイルとリンター✨" -#: ../../package-structure-code/intro.md:118 +#: ../../package-structure-code/intro.md:112 msgid "" -"If you are considering submitting a package for peer review, have a look " -"at the bare-minimum [editor checks](https://www.pyopensci.org/software-" -"peer-review/how-to/editor-in-chief-guide.html#editor-checklist-template) " -"that pyOpenSci performs before a review begins. These checks are useful " -"to explore for both authors planning to submit a package to us for review" -" and for anyone who is just getting started with creating a Python " -"package." +"Learn how to set up [code formatters and linters](code-style-tools) " +"([Black](about-black), [Ruff](about-ruff), [flake8](about-flake8)) to " +"ensure your package follows [PEP 8 standards](code-style-tools) and " +"maintains consistent code style throughout your project." +msgstr "" + +#: ../../package-structure-code/intro.md:116 +msgid "Build & publish" msgstr "" -"査読にパッケージを投稿しようと考えているなら、査読が始まる前にpyOpenSciが行う最低限の [editor " -"checks](https://www.pyopensci.org/software-peer-review/how-to/editor-in-" -"chief-guide.html#editor-checklist-template) " -"を見てください。これらのチェックは、私たちにパッケージをレビューのために提出しようと計画している作者と、Pythonパッケージを作成し始めたばかりの人の両方にとって、調べるのに便利です。" #: ../../package-structure-code/intro.md:125 -msgid "What you will learn here" -msgstr "ここで学べること" +#, fuzzy +msgid "✨ Choose your build tool ✨" +msgstr "ビルドワークフローツールの選択" #: ../../package-structure-code/intro.md:127 -msgid "In this section of our Python packaging guide, we:" -msgstr "Pythonパッケージングガイドのこのセクションでは、以下のことを説明します:" - -#: ../../package-structure-code/intro.md:129 -msgid "" -"Provide an overview of the options available to you when packaging your " -"code." -msgstr "コードをパッケージングする際に利用可能なオプションの概要を説明します。" - -#: ../../package-structure-code/intro.md:131 msgid "" -"Suggest tools and approaches that both meet your needs and also support " -"existing standards." -msgstr "ニーズを満たし、かつ既存の基準をサポートするツールやアプローチを提案します。" +"Learn how to choose the right packaging tool for your project. Compare " +"[Hatch](about-hatch), [PDM](about-pdm), [Poetry](about-poetry), and " +"[setuptools](about-setuptools) to find the best fit for your workflow. " +"See the [summary comparison](summary-build-tools) to help decide." +msgstr "" -#: ../../package-structure-code/intro.md:133 -msgid "" -"Suggest tools and approaches that will allow you to expand upon a " -"workflow that may begin as a pure Python code and evolve into code that " -"requires addition layers of complexity in the packaging build." -msgstr "純粋なPythonツールから始まり、パッケージングビルドに複雑なレイヤーを追加する必要のあるコードへと進化するワークフローを拡張することを可能にするコードやアプローチを提案します。" +#: ../../package-structure-code/intro.md:132 +#, fuzzy +msgid "✨ Build your package ✨" +msgstr "パッケージをビルドする" -#: ../../package-structure-code/intro.md:136 +#: ../../package-structure-code/intro.md:134 msgid "" -"Align our suggestions with the most current, accepted [PEPs (Python " -"Enhancement Protocols)](https://peps.python.org/pep-0000/) and the " -"[Scientific Python community SPECs](https://scientific-" -"python.org/specs/)." +"Learn how to build your Python package into [distribution files](build-" +"package) ([sdist](python-source-distribution) and [wheel](python-wheel)) " +"that can be published on [PyPI](publish-pypi-conda)." msgstr "" -"私たちの提案を、現在受け入れられている [PEPs (Python Enhancement " -"Protocols)](https://peps.python.org/pep-0000/) と [Scientific Python " -"community SPECs](https://scientific-python.org/specs/) に合わせます。" #: ../../package-structure-code/intro.md:139 +#, fuzzy +msgid "✨ Publish to PyPI and Conda ✨" +msgstr "✨ 4. PyPIとCondaに公開する ✨" + +#: ../../package-structure-code/intro.md:141 msgid "" -"In an effort to maintain consistency within our community, we also align " -"with existing best practices being implemented by developers of core " -"Scientific Python packages such as Numpy, SciPy and others." +"Learn how to publish your package to [PyPI](publish-pypi-conda) and " +"optionally to [conda-forge](how-to-submit-to-conda-forge). This page " +"covers the complete process for making your package available to users, " +"including the [conda-forge submission process](how-to-submit-to-conda-" +"forge) after publishing to PyPI." msgstr "" -"私たちのコミュニティ内での一貫性を維持するために、NumpyやSciPyなどのScientific " -"Pythonのコアパッケージの開発者によって実装されている既存のベストプラクティスとも連携しています。" - -#: ../../package-structure-code/intro.md:143 -msgid "Guidelines for pyOpenSci's packaging recommendations" -msgstr "pyOpenSciのパッケージング推奨のガイドライン" #: ../../package-structure-code/intro.md:145 +msgid "Choosing the right tools" +msgstr "" + +#: ../../package-structure-code/intro.md:147 msgid "" -"The flexibility of the Python programming language lends itself to a " -"diverse range of tool options for creating a Python package. Python is so" -" flexible that it is one of the few languages that can be used to wrap " -"around other languages. The ability of Python to wrap other languages is " -"one the reasons you will often hear Python described as a [\"glue\" " -"language](https://numpy.org/doc/stable/user/c-info.python-as-glue.html)\"" +"Not sure which build tool to use? This decision tree can help you choose " +"based on your package's needs:" msgstr "" -"Pythonプログラミング言語の柔軟性は、Pythonパッケージを作成するための多様なツールオプションに適しています。Pythonはとても柔軟で、他の言語を包み込むように使える数少ない言語のひとつです。Pythonが他の言語をラッピングする能力は、Pythonが" -" [\"glue\" language](https://numpy.org/doc/stable/user/c-info.python-as-" -"glue.html)\" と表現されるのをよく耳にする理由の1つです。" #: ../../package-structure-code/intro.md:151 msgid "" -"If you are building a pure Python package, then your packaging setup can " -"be simple. However, some scientific packages have complex requirements as" -" they may need to support extensions or tools written in other languages " -"such as C or C++." -msgstr "純粋なPythonパッケージを構築するのであれば、パッケージングのセットアップは単純でよいです。しかし、科学的なパッケージの中には、CやC++のような他の言語で書かれた拡張機能やツールをサポートする必要があり、複雑な要件を持つものがあります。" +"Figure showing a decision tree with the various packaging tool front-end " +"and back-end options." +msgstr "様々なパッケージングツールのフロントエンドとバックエンドのオプションの決定ツリーを示す図。" -#: ../../package-structure-code/intro.md:155 +#: ../../package-structure-code/intro.md:153 msgid "" -"To support the many different uses of Python, there are many ways to " -"create a Python package. In this guide, we suggest packaging approaches " -"and tools based on:" +"Use this decision tree to help select a packaging tool. See the " +"[packaging tools page](python-package-build-tools) for detailed " +"comparisons and recommendations." +msgstr "" + +#: ../../package-structure-code/intro.md:156 +msgid "Our recommendations" msgstr "" -"Python の様々な使い方をサポートするために、Python パッケージを作成する方法はたくさんあります。 " -"このガイドでは、パッケージングのアプローチとツールを提案します:" #: ../../package-structure-code/intro.md:158 -msgid "" -"What we think will be best and easiest to adopt for those who are newer " -"to packaging." -msgstr "パッケージングに慣れていない人たちにとって、私たちが最善で最も採用しやすいと考えるもの。" +msgid "We suggest tools and approaches based on three principles:" +msgstr "" #: ../../package-structure-code/intro.md:160 -msgid "Tools that we think are well maintained and documented." -msgstr "よく整備され、文書化されていると思われるツール。" +msgid "" +"**Beginner-friendly** - Tools that are easy to learn and use for those " +"new to packaging" +msgstr "" #: ../../package-structure-code/intro.md:161 -msgid "" -"A shared goal of standardizing packaging approaches across this " -"(scientific) Python ecosystem." -msgstr "この (科学的な) Pythonエコシステム全体でパッケージングアプローチを標準化するという共通の目標。" +msgid "**Well-maintained** - Tools with active development and good documentation" +msgstr "" -#: ../../package-structure-code/intro.md:164 +#: ../../package-structure-code/intro.md:162 +#, fuzzy msgid "" -"Here, we also try to align our suggestions with the most current, " -"accepted [Python community](https://packaging.python.org/en/latest/) and " -"[scientific community](https://scientific-python.org/specs/)." +"**Standards-aligned** - Tools that follow current [Python packaging " +"standards](https://packaging.python.org/en/latest/) and [Scientific " +"Python community specs](https://scientific-python.org/specs/)" msgstr "" "ここでは、私たちの提案を、最新の、受け入れられている " "[Pythonコミュニティ](https://packaging.python.org/en/latest/) と " "[科学コミュニティ](https://scientific-python.org/specs/) に合わせることも試みています。" -#: ../../package-structure-code/intro.md:167 -msgid "Suggestions in this guide are not pyOpenSci review requirements" -msgstr "このガイドの提案はpyOpenSciのレビュー要件ではありません" +#: ../../package-structure-code/intro.md:164 +#, fuzzy +msgid "Pure Python vs. complex builds" +msgstr "複雑なビルド" -#: ../../package-structure-code/intro.md:170 +#: ../../package-structure-code/intro.md:166 msgid "" -"The suggestions for package layout in this section are made with the " -"intent of being helpful; they are not specific requirements for your " -"package to be reviewed and accepted into our pyOpenSci open source " -"ecosystem." +"**Pure Python packages** can use any modern tool (Hatch, PDM, Poetry, " +"Flit) - choose based on the features you want" msgstr "" -"このセクションのパッケージレイアウトの提案は、参考になることを意図しています。 " -"これらは、あなたのパッケージがpyOpenSciオープンソースエコシステムにレビューされ、受け入れられるための特定の要件ではありません。" -#: ../../package-structure-code/intro.md:174 +#: ../../package-structure-code/intro.md:167 msgid "" -"Please check out our [package scope page](https://www.pyopensci.org" -"/software-peer-review/about/package-scope.html) and [review requirements " -"in our author guide](https://www.pyopensci.org/software-peer-review/how-" -"to/author-guide.html#) if you are looking for pyOpenSci's Python package " -"review requirements!" +"**Packages with C/C++ extensions** may need additional build steps. See " +"our [complex builds page](complex-python-package-builds) for guidance. " +"For comprehensive information on packaging compiled projects, see the " +"[Scientific Python Development Guide on compiled packaging](https://learn" +".scientific-python.org/development/guides/packaging-compiled/)." msgstr "" -"pyOpenSciのPythonパッケージ審査要件をお探しの方は、 [package scope " -"page](https://www.pyopensci.org/software-peer-review/about/package-" -"scope.html) と [review requirements in our author " -"guide](https://www.pyopensci.org/software-peer-review/how-to/author-" -"guide.html#) をご覧ください!" - -#: ../../package-structure-code/publish-python-package-pypi-conda.md:1 -msgid "Publishing Your Package In A Community Repository: PyPI or Anaconda.org" -msgstr "コミュニティリポジトリでパッケージを公開する: PyPI または Anaconda.org" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:5 +#: ../../package-structure-code/intro.md:169 msgid "" -"pyOpenSci requires that your package has an distribution that can be " +"Most scientific Python packages start simple and can evolve to handle " +"more complex requirements as needed." +msgstr "" + +#: ../../package-structure-code/intro.md:171 +msgid "Submitting your package for peer review?" +msgstr "" + +#: ../../package-structure-code/intro.md:173 +#, fuzzy +msgid "" +"If you're planning to submit your package to pyOpenSci for [peer " +"review](https://www.pyopensci.org/about-peer-review/index.html), check " +"out our [editor checklist](https://www.pyopensci.org/software-peer-review" +"/how-to/editor-in-chief-guide.html#editor-checklist-template) for the " +"minimum requirements. These checks are useful for anyone creating a " +"Python package, not just those submitting for review." +msgstr "" +"査読にパッケージを投稿しようと考えているなら、査読が始まる前にpyOpenSciが行う最低限の [editor " +"checks](https://www.pyopensci.org/software-peer-review/how-to/editor-in-" +"chief-guide.html#editor-checklist-template) " +"を見てください。これらのチェックは、私たちにパッケージをレビューのために提出しようと計画している作者と、Pythonパッケージを作成し始めたばかりの人の両方にとって、調べるのに便利です。" + +#: ../../package-structure-code/intro.md:175 +msgid "These are recommendations, not requirements" +msgstr "" + +#: ../../package-structure-code/intro.md:178 +msgid "" +"The suggestions in this guide are designed to help you create a well-" +"structured package. They are **not** specific requirements for pyOpenSci " +"peer review." +msgstr "" + +#: ../../package-structure-code/intro.md:180 +#, fuzzy +msgid "" +"If you're submitting to pyOpenSci, see our [package " +"scope](https://www.pyopensci.org/software-peer-review/about/package-" +"scope.html) and [author guide](https://www.pyopensci.org/software-peer-" +"review/how-to/author-guide.html#) for actual review requirements." +msgstr "" +"pyOpenSciのPythonパッケージ審査要件をお探しの方は、 [package scope " +"page](https://www.pyopensci.org/software-peer-review/about/package-" +"scope.html) と [review requirements in our author " +"guide](https://www.pyopensci.org/software-peer-review/how-to/author-" +"guide.html#) をご覧ください!" + +#: ../../package-structure-code/publish-python-package-pypi-conda.md:1 +msgid "Publishing Your Package In A Community Repository: PyPI or Anaconda.org" +msgstr "コミュニティリポジトリでパッケージを公開する: PyPI または Anaconda.org" + +#: ../../package-structure-code/publish-python-package-pypi-conda.md:5 +msgid "" +"pyOpenSci requires that your package has an distribution that can be " "installed from a public community repository such as PyPI or a conda " "channel such as `bioconda` or `conda-forge` on Anaconda.org." msgstr "" @@ -2070,7 +2082,7 @@ msgid "" "and conda publishing of your Python package." msgstr "以下では、PythonパッケージのPyPI公開とconda公開の違いについて詳しく説明します。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:24 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:23 #: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:6 msgid "" "Image showing the progression of creating a Python package, building it " @@ -2084,7 +2096,7 @@ msgstr "" "forgeへの公開の流れを示す画像です。あなたのコードをPyPIが受け付ける配布ファイル(sdistとwheel)に変換します。そして、両方のディストリビューションを公開しているPyPIリポジトリへの矢印があります" "。PyPIからconda-forgeのレシピを作成し、conda-forgeに公開することができます。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:26 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:25 msgid "" "Once you have published both package distributions (the source " "distribution and the wheel) to PyPI, you can then publish to conda-forge." @@ -2129,7 +2141,7 @@ msgstr "" msgid "Click here for a tutorial on publishing your package to PyPI." msgstr "PyPIへのパッケージ公開のチュートリアルはこちら。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:52 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:51 msgid "" "On the package build page, we discussed the [two package distribution " "types that you will create when making a Python package](python-package-" @@ -2144,11 +2156,11 @@ msgstr "" "](python-package-build-tools) を使ってパッケージをビルドすると、これらのファイル \"バンドル\" " "は両方ともPyPIで公開されます。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:60 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:59 msgid "What is conda and Anaconda.org?" msgstr "condaとAnaconda.orgとは?" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:62 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:61 msgid "" "conda is an open source package and environment management tool. conda " "can be used to install tools from the [Anaconda " @@ -2157,7 +2169,7 @@ msgstr "" "condaはオープンソースのパッケージと環境管理ツールです。condaは " "[Anacondaリポジトリ](https://repo.anaconda.com/) からツールをインストールするために使用できます。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:66 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:65 msgid "" "Anaconda.org contains public and private repositories for packages. These" " repositories are known as channels (discussed below)." @@ -2165,18 +2177,18 @@ msgstr "" "Anaconda.org にはパッケージのためのパブリックとプライベートのリポジトリがあります。 " "これらのリポジトリはチャンネルとして知られています(後述)。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:69 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:68 msgid "A brief history of conda's evolution" msgstr "condaの進化の簡単な歴史" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:72 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:71 msgid "" "The conda ecosystem evolved years ago to provide support for, and " "simplify the process of, managing software dependencies in scientific " "Python projects." msgstr "condaエコシステムは、科学的なPythonプロジェクトにおけるソフトウェアの依存関係を管理するためのサポートを提供し、そのプロセスを簡素化するために数年前に発展しました。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:76 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:75 msgid "" "Many of the core scientific Python projects depend upon or wrap around " "tools and extensions that are written in other languages, such as C++. In" @@ -2190,13 +2202,13 @@ msgstr "" " [wheel distribution format](python-wheel) " "を使ってPython以外のコードをPythonディストリビューションにバンドルできるような、複雑なビルドのサポートが増えました。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:78 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:77 msgid "" "Conda provides a mechanism to manage these dependencies and ensure that " "the required packages are installed correctly." msgstr "Condaは、これらの依存関係を管理し、必要なパッケージが正しくインストールされるようにするメカニズムを提供します。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:82 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:81 msgid "" "While conda was originally created to support Python packages, it is now " "used across all languages. This cross-language support makes it easier " @@ -2209,11 +2221,11 @@ msgstr "" " (gdal) " "、Julia、Rなど、他の言語で書かれたツールを簡単に取り込んだり、利用したりできるパッケージもあります。これらのパッケージをすべてミックスした環境を作るのは、通常、condaのような本格的なパッケージマネージャを使った方が簡単で、一貫性があります。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:90 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:89 msgid "conda channels" msgstr "condaチャンネル" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:92 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:91 msgid "" "conda built packages are housed within repositories that are called " "channels. The conda package manager can install packages from different " @@ -2222,13 +2234,13 @@ msgstr "" "condaでビルドされたパッケージは、チャンネルと呼ばれるリポジトリに格納されます。 " "condaパッケージマネージャは異なるチャンネルからパッケージをインストールすることができます。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:95 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:94 msgid "" "There are several core public channels that most people use to install " "packages using conda, including:" msgstr "多くの人がcondaを使ってパッケージをインストールする際に使う、いくつかのコアなパブリックチャンネルがあります:" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:98 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:97 msgid "" "**defaults:** this is a channel managed by Anaconda. It is the version of" " the Python packages that you will install if you install the Anaconda " @@ -2239,7 +2251,7 @@ msgstr "" "ディストリビューションをインストールするとインストールされる Python パッケージのバージョンです。 どのパッケージが `defaults` " "チャンネルにあるかは Anaconda (会社) が決定します。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:99 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:98 msgid "" "[**conda-forge:**](https://conda-forge.org/) this is a community-driven " "channel that focuses on scientific packages. This channel is ideal for " @@ -2250,19 +2262,19 @@ msgstr "" "このチャンネルは科学的なパッケージに焦点を当てたコミュニティ主導のチャンネルです。 このチャンネルは地理空間データをサポートするツールに最適です。" " 誰でもこのチャンネルにパッケージを公開できます。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:100 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:99 msgid "" "[**bioconda**](https://bioconda.github.io/): this channel focuses on " "biomedical tools." msgstr "[**bioconda**](https://bioconda.github.io/): このチャンネルは生物医学ツールに焦点を当てています。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:102 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:101 msgid "" "**conda-forge** emerged as many of the scientific packages did not exist " "in the `defaults` Anaconda channel." msgstr "科学的パッケージの多くが `defaults` Anaconda チャンネルに存在しなかったため、**conda-forge** が出現しました。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:107 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:106 msgid "" "Graphic with the title Python package repositories. Below it says " "Anything hosted on PyPI can be installed using pip install. Packaging " @@ -2280,7 +2292,7 @@ msgstr "" "チームによって管理されているものです。 その下にPyPIサーバーという行があります。 PyPI - " "誰でもPyPIに公開することができます、とPyPIをテストするためのテストベッドサーバ。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:109 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:108 msgid "" "Conda channels represent various repositories that you can install " "packages from. Because conda-forge is community maintained, anyone can " @@ -2293,27 +2305,27 @@ msgstr "" "誰でもPyPIにパッケージを投稿し、PyPIをテストすることができます。 conda-forge とは異なり、PyPI " "に投稿されたパッケージを手動でチェックすることはありません。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:113 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:111 msgid "conda channels, PyPI, conda, pip - Where to publish your package" msgstr "conda channels, PyPI, conda, pip - パッケージを公開する場所" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:115 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:113 msgid "" "You might be wondering why there are different package repositories that " "can be used to install Python packages." msgstr "なぜPythonパッケージをインストールするのに様々なパッケージリポジトリがあるのか不思議に思うかもしれません。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:118 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:116 msgid "" "And more importantly you are likely wondering how to pick the right " "repository to publish your Python package." msgstr "さらに重要なことは、Pythonパッケージを公開するのに適切なリポジトリをどのように選べばいいのか悩んでいることでしょう。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:121 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:119 msgid "The answer to both questions relates dependency conflicts." msgstr "どちらの質問に対する答えも、依存関係のコンフリクトに関係しています。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:125 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:123 msgid "" "Image showing an XKCD comic that shows a web of Python environments and " "tools and installations. At the bottom is says - My python environment " @@ -2322,7 +2334,7 @@ msgstr "" "画像はXKCDのコミックで、Pythonの環境とツール、インストールの網を描いています。一番下にはこう書いてあります - " "私のパイソン環境は劣化しすぎて、私のラップトップはスーパーファンドサイトに指定された。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:127 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:125 msgid "" "Installing Python and Python packages from different repositories can " "lead to environment conflicts where a version of on package doesn't work " @@ -2337,11 +2349,11 @@ msgstr "" "そのため、pipを使ってすべてをインストールする。 あるいはcondaを使う。 " "できることなら、pipとcondaの両方のパッケージを同じ環境にインストールしないようにしましょう。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:135 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:133 msgid "Managing Python package dependency conflicts" msgstr "Pythonパッケージの依存関係の競合を管理する" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:137 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:135 msgid "" "Python environments can encounter conflicts because Python tools can be " "installed from different repositories. Broadly speaking, Python " @@ -2354,7 +2366,7 @@ msgstr "" "大まかに言えば、Python環境は、ツールが同じパッケージリポジトリからインストールされるとき、依存関係の衝突の可能性が小さくなります。 " "そのため、pip と conda の両方からインストールされたパッケージを含む環境は、依存関係の衝突が起こりやすくなります。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:144 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:142 msgid "" "Similarly installing packages from the default anaconda channel mixed " "with the conda-forge channel can also lead to dependency conflicts." @@ -2362,7 +2374,7 @@ msgstr "" "同様に、デフォルトの anaconda チャンネルと conda-forge " "チャンネルを混ぜてパッケージをインストールすることも依存関係の衝突につながります。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:146 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:144 msgid "" "Many install packages directly from conda `defaults` channel. However, " "because this channel is managed by Anaconda, the packages available on it" @@ -2378,13 +2390,13 @@ msgstr "" "チャンネルを補完するために作成されました。 誰でもこのチャンネルで公開するパッケージを投稿することができます。 このように、 `conda-" "forge` チャネルは、ユーザが開発したコミュニティパッケージの広範なスイートを conda からインストールできるようにします。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:150 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:148 msgid "" "Take-aways: If you can, publish on both PyPI and conda-forge to " "accommodate more users of your package" msgstr "教訓: 可能であれば、PyPI と conda-forge の両方で公開し、より多くのユーザがあなたのパッケージを利用できるようにしましょう。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:152 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:150 msgid "" "The take-away here for maintainers is that if you anticipate users " "wanting to use conda to manage their local environments (which many do), " @@ -2394,11 +2406,11 @@ msgstr "" "メンテナにとって重要なことは、もしユーザがローカル環境の管理にcondaを使いたいと考えているのであれば(多くのユーザがそうしている" ")、PyPIとconda-forge channelの両方に公開することを検討すべきだということです (_詳しくは後述します) 。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:157 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:155 msgid "Additional resources" msgstr "その他のリソース" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:158 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:157 msgid "" "[learn more about why conda-forge was created, here](https://conda-" "forge.org/docs/user/introduction.html)" @@ -2406,7 +2418,7 @@ msgstr "" "[conda-forgeがなぜ作られたのか、詳しくはこちら](https://conda-" "forge.org/docs/user/introduction.html)" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:160 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:159 msgid "" "[To learn more about conda terminology, check out their " "glossary.](https://docs.conda.io/projects/conda/en/latest/glossary.html )" @@ -2435,21 +2447,21 @@ msgstr "" "メンテナチームが提供している詳細な手順に従うことができます](https://conda-" "forge.org/docs/maintainer/adding_pkgs.html) 。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:175 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:174 msgid "Click here for a tutorial on adding your package to conda-forge." msgstr "conda-forgeにパッケージを追加するチュートリアルはこちらをご覧ください。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:182 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:181 msgid "If you want a step by step tutorial, click here." msgstr "ステップバイステップのチュートリアルをご覧になりたい方は、こちらをクリックしてください。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:185 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:183 msgid "" "Once your package is added, you will have a feedstock repository on " "GitHub with your packages name" msgstr "パッケージが追加されると、GitHub の feedstock リポジトリにパッケージ名が追加されます。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:188 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:186 msgid "" "[Here is an example conda-forge feedstock for the pyOpenSci approved " "package - movingpandas](https://github.com/conda-forge/movingpandas-" @@ -2458,11 +2470,11 @@ msgstr "" "[pyOpenSci承認パッケージ - movingpandas のconda-" "forgeフィードストックの例です](https://github.com/conda-forge/movingpandas-feedstock)" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:191 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:189 msgid "Maintaining your conda-forge package repository" msgstr "conda-forge パッケージリポジトリの管理" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:193 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:191 msgid "" "Once your package is on the conda-forge channel, maintaining it is " "simple. Every time that you push a new version of your package to PyPI, " @@ -2474,7 +2486,7 @@ msgstr "" "PyPI にプッシュするたびに、conda-forge リポジトリのパッケージを更新する継続的インテグレーションビルドが開始されます。 " "ビルドが完了すると、更新を確認するための通知が届きます。" -#: ../../package-structure-code/publish-python-package-pypi-conda.md:199 +#: ../../package-structure-code/publish-python-package-pypi-conda.md:197 msgid "" "You can merge the pull request for that update once you are happy with " "it. A ready-to-merge PR usually means ensuring that your project's " @@ -2489,11 +2501,12 @@ msgstr "" msgid "Use a pyproject.toml file for your package configuration & metadata" msgstr "パッケージの設定とメタデータにはpyproject.tomlファイルを使用します。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:11 -msgid "Important pyproject.toml take aways" +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:4 +#, fuzzy +msgid "pyproject.toml takeaways" msgstr "pyproject.tomlから得られる重要なこと" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:15 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:6 msgid "" "There are only two tables that are required for an installable Python " "package: **[build-system]** and **[project]**. The **[project]** table " @@ -2502,21 +2515,23 @@ msgstr "" "インストール可能なPythonパッケージに必要なテーブルは2つだけです: **[build-system]** と **[project]** " "です。 **[project]** テーブルにはパッケージのメタデータが格納されます。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:16 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:7 +#, fuzzy msgid "" -"There are only two _required_ fields in the **[project]** table: " -"**name=** and **version=**." +"There are two _required_ fields in the **[project]** table: **name=** and" +" **version=**." msgstr "**[project]** テーブルの必須フィールドは2つだけです: **name=**と **version=** です。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:17 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:8 +#, fuzzy msgid "" -"We suggest you add additional metadata to your `pyproject.toml` file as " -"it will make it easier for users to find your project on PyPI." +"Add metadata to the classifiers section of your `pyproject.toml` file to " +"make it easier for users to find your project on PyPI." msgstr "" "`pyproject.toml` ファイルにメタデータを追加することをお勧めします。 " "そうすることで、ユーザがPyPIであなたのプロジェクトを見つけやすくなります。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:18 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:9 msgid "" "When you are adding classifiers to the [project] table, only use valid " "values from [PyPI’s classifier page](https://PyPI.org/classifiers/). An " @@ -2526,7 +2541,7 @@ msgstr "" "[project] テーブルに分類を追加するときは、 [PyPIの分類ページ](https://PyPI.org/classifiers/) " "にある有効な値のみを使用してください。 ここで無効な値を指定すると、パッケージをビルドするときやPyPIに公開するときにエラーが発生します。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:19 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:10 msgid "" "There is no specific order for tables in the `pyproject.toml` file. " "However fields need to be placed within the correct table sections. For " @@ -2537,141 +2552,99 @@ msgstr "" "しかし、フィールドは正しいテーブルセクションに配置する必要があります。 例えば `requires =` は常に **[build-" "system]** テーブルと関連付ける必要があります。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:20 -msgid "" -"**python-requires**: is important to have in your `pyproject.toml` file " -"as it helps pip install your package." -msgstr "" -"**python-requires**: `pyproject.toml`ファイルに記述することが重要です。 " -"これはpipがパッケージをインストールするのに役立つからです。" - -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:25 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:16 msgid "when these are published, remove this todo" msgstr "これらが公開されたら、このtodoを削除します" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:34 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:25 msgid "" "Need help creating your pyproject.toml file? This tutorial will walk you" " through the process." msgstr "pyproject.tomlファイルの作成にヘルプが必要ですか? このチュートリアルはそのプロセスを説明します。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:48 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:39 msgid "" "Click here if need help migrating from setup.py/setup.cfg to " "pyproject.toml" msgstr "setup.py/setup.cfg から pyproject.toml への移行にヘルプが必要な場合はここをクリックしてください。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:58 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:50 msgid "About the pyproject.toml file" msgstr "pyproject.tomlファイルについて" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:60 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:52 +#, fuzzy msgid "" -"Every modern Python package should include a `pyproject.toml` file. If " -"your project is pure Python and you're using a `setup.py` or `setup.cfg` " -"file to describe its metadata, you should consider migrating your " -"metadata and build information to a `pyproject.toml` file." +"Every modern Python package should include a `pyproject.toml` file. For " +"pure Python packages, this file replaces the `setup.py` and/or " +"`setup.cfg` file to describe project metadata." msgstr "" "最近の Python パッケージには `pyproject.toml` ファイルが含まれているはずです。 もしあなたのプロジェクトが純粋な " "Python で、メタデータを記述するために `setup.py` や `setup.cfg` ファイルを使っているなら、メタデータとビルド情報を" " `pyproject.toml` ファイルに移行することを検討するべきです。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:62 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:54 +#, fuzzy msgid "" -"If your project isn’t pure-python, you might still require a `setup.py` " -"file to build the non Python extensions. However, a `pyproject.toml` file" +"If your project isn’t pure Python, you might still require a `setup.py` " +"file to build the non-Python extensions. However, a `pyproject.toml` file" " should still be used to store your project’s metadata." msgstr "" "あなたのプロジェクトが純粋な Python でない場合、Python 以外の拡張機能をビルドするために `setup.py` " "ファイルが必要になるかもしれません。 しかし、プロジェクトのメタデータを保存するために `pyproject.toml` " "ファイルを使用する必要があります。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:64 -msgid "What happened to setup.py & how do i migrate to pyproject.toml?" -msgstr "setup.pyに何が起こったのか、そしてどのようにpyproject.tomlに移行するのか?" - -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:66 -msgid "" -"Prior to August 2017, Python package metadata was stored either in the " -"`setup.py` file or a `setup.cfg` file. In recent years, there has been a " -"shift to storing Python package metadata in a much more user-readable " -"`pyproject.toml` format. Having all metadata in a single file:" -msgstr "" -"2017年8月以前は、Pythonパッケージのメタデータは `setup.py` ファイルか `setup.cfg` " -"ファイルに保存されていました。 近年、Python パッケージのメタデータは、よりユーザが読みやすい `pyproject.toml` " -"フォーマットで保存されるようになりました。 すべてのメタデータを1つのファイルに持つことです:" - -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:68 -msgid "simplifies package management," -msgstr "パッケージ管理を簡素化します、" - -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:69 -msgid "" -"allows you to use a suite of different [build " -"backends](https://www.pyopensci.org/python-package-guide/package-" -"structure-code/python-package-build-tools.html#build-back-ends) such as " -"(flit-core, hatchling, pdm-build), and" +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:56 +msgid "Tutorial" msgstr "" -"(flit-core, hatchling, pdm-build)のような一連の異なる " -"[ビルドバックエンド](https://www.pyopensci.org/python-package-guide/package-" -"structure-code/python-package-build-tools.html#build-back-ends) " -"を使うことができます。" - -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:70 -msgid "aligns with modern best practices." -msgstr "現代のベストプラクティスに合致しています。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:77 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:59 msgid "" -"The standard file that Python packages use to [specify build requirements" -" and metadata is called a " +"If you are migrating from a **setup.py** or **setup.cfg** file, and want " +"help, [check out this tutorial.](migrate-pyproj) [specify build " +"requirements and metadata is called a " "**pyproject.toml**](https://packaging.python.org/en/latest/specifications" -"/declaring-project-metadata/). Adding metadata, build requirements and " -"package dependencies to a **pyproject.toml** file replaces storing that " -"information in a setup.py or setup.cfg file." +"/declaring-project-metadata/)" msgstr "" -"Python パッケージが [ビルド要件とメタデータを指定するために使う標準のファイルは **pyproject.toml** " -"と呼ばれます](https://packaging.python.org/en/latest/specifications/declaring-" -"project-metadata/) 。メタデータ、ビルド要件、パッケージの依存関係を **pyproject.toml** " -"ファイルに追加することは、 setup.py や setup.cfg ファイルに情報を格納することに取って代わります。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:82 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:64 msgid "About the .toml format" msgstr ".toml フォーマットについて" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:84 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:66 +#, fuzzy msgid "" "The **pyproject.toml** file is written in [TOML (Tom's Obvious, Minimal " "Language) format](https://toml.io/en/). TOML is an easy-to-read structure" -" that is founded on key/value pairs. Each section in the " -"**pyproject.toml** file contains a `[table identifier]`. Below that table" -" identifier are key/value pairs that support configuration for that " -"particular table." +" based on key/value pairs. Each section in the **pyproject.toml** file " +"contains a `[table identifier]`. Below that table identifier are " +"key/value pairs that support configuration for that particular table." msgstr "" "**pyproject.toml**ファイルは [TOML(Tom's Obvious, Minimal " "Language)フォーマット](https://toml.io/en/) で書かれています。 " "TOMLは読みやすい構造で、キーと値のペアで成り立っています。 **pyproject.toml** ファイルの各セクションは " "`[テーブル識別子]` を含んでいます。 そのテーブル識別子の下には、その特定のテーブルの設定をサポートするキーと値のペアがあります。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:88 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:70 msgid "Below `[build-system]` is considered a table in the toml language." msgstr "`[build-system]` 以下はtoml言語ではテーブルとみなされます。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:89 -msgid "Within the `build-system` table below `requires =` is a key." +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:71 +#, fuzzy +msgid "Within the `build-system` table, `requires =` is a key." msgstr "以下の `build-system` テーブルの中で `requires =` がキーです。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:90 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:72 msgid "" "The associated value for `requires` is an array containing the value " "`\"hatchling\"`." msgstr "`requires` に関連する値は、値 `\"hatchling\"` を含む配列です。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:98 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:80 msgid "How the pyproject.toml is used when you build a package" msgstr "パッケージのビルド時にpyproject.tomlがどのように使用されるか" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:102 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:84 msgid "" "When you publish to PyPI, you will notice that each package has metadata " "listed. Let’s have a look at [xclim](https://pypi.org/project/xclim/), " @@ -2692,8 +2665,8 @@ msgstr "" "file](https://github.com/Ouranosinc/xclim/blob/master/pyproject.toml) " "によって正しい構文と分類子を用いて定義されたメタデータを入力することができます。xclimパッケージがビルドされるとき、このメタデータは配布ファイルに変換され、PyPIがメタデータを読み込んでウェブサイトに出力できるようになります。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:104 -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:83 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:86 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:82 msgid "" "Image showing the left side bar of PyPI for the package xclim. The " "section at the top says Classifier. Below there is a list of items " @@ -2704,8 +2677,8 @@ msgstr "" "xclimパッケージのPyPI左サイドバーの画像です。一番上のセクションにはClassifierとあります。その下に、開発状況、対象読者、ライセンス、自然言語、オペレーティングシステム、プログラミング言語、トピックなどの項目があります。" " これらの各セクションの下には、さまざまな分類オプションがあります。 \" width=\"300px\">" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:109 -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:88 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:91 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:87 msgid "" "When you add the classifier section to your pyproject.toml and your " "package is built, the build tool organizes the metadata into a format " @@ -2716,11 +2689,11 @@ msgstr "" "pyproject.tomlにclassifierセクションを追加してパッケージがビルドされると、ビルドツールはメタデータをPyPIが理解できる形式に整理し、PyPIのランディングページに表示します。" " これらの分類子により、ユーザはサポートするpythonのバージョンやカテゴリなどでパッケージをソートすることもできます。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:114 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:96 msgid "Benefits of using a pyproject.toml file" msgstr "pyproject.tomlファイルを使用する利点" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:116 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:98 msgid "" "Including your package's metadata in a separate human-readable " "**pyproject.toml** format also allows someone to view the project's " @@ -2729,11 +2702,11 @@ msgstr "" "パッケージのメタデータを人間が読める **pyproject.toml** " "形式で含めると、GitHubのリポジトリでプロジェクトのメタデータを見ることができます。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:124 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:101 msgid "Setup.py is still useful for complex package builds" msgstr "Setup.py は、複雑なパッケージのビルドに便利です。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:128 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:105 msgid "" "Using **setup.py** to manage package builds and metadata [can cause " "problems with package " @@ -2748,11 +2721,12 @@ msgstr "" "/setup-py-deprecated.html) 。 Python パッケージのビルドが複雑な場合、**setup.py** " "ファイルが必要になるかもしれません。 このガイドでは複雑なビルドは扱いませんが、将来的には複雑なビルドを扱うリソースを提供する予定です。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:134 -msgid "Optional vs. Required pyproject.toml file fields" +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:111 +#, fuzzy +msgid "Optional vs. required pyproject.toml file fields" msgstr "pyproject.toml ファイルのフィールドの任意と必須" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:136 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:113 msgid "" "When you create your `pyproject.toml` file, there are numerous metadata " "fields that you can use. Below we suggest specific fields to get you " @@ -2761,7 +2735,7 @@ msgstr "" "`pyproject.toml` ファイルを作成するとき、使用できるメタデータフィールドがたくさんあります。 以下では、PyPI " "での公開とユーザがあなたのパッケージを見つけることをサポートする、特定のフィールドを提案します。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:138 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:115 msgid "" "[An overview of all of the project metadata elements can be found " "here.](https://packaging.python.org/en/latest/specifications/core-" @@ -2770,11 +2744,11 @@ msgstr "" "[プロジェクトの全メタデータ要素の概要は、こちらをご覧ください。](https://packaging.python.org/en/latest/specifications" "/core-metadata/#project-url-multiple-use)" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:140 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:117 msgid "Required fields for the `[project]` table" msgstr "`[project]` テーブルの必須フィールド" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:142 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:119 msgid "" "As mentioned above, your `pyproject.toml` file needs to have a **`name`**" " and **`version`** field in order to properly build your package:" @@ -2782,11 +2756,11 @@ msgstr "" "上述したように、 `pyproject.toml` ファイルはパッケージを適切にビルドするために **`name`** と " "**`version`** フィールドを持つ必要があります:" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:144 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:121 msgid "`name`: This is the name of your project provided as a string" msgstr "`name`: プロジェクトの名前を文字列で指定します。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:145 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:122 msgid "" "`version`: This is the version of your project. If you are using a SCM " "tool for versioning (using git tags to determine versions), then the " @@ -2795,11 +2769,11 @@ msgstr "" "`version`: プロジェクトのバージョンです。 バージョン管理に SCM ツール (git タグを使用してバージョンを決定する) " "を使用している場合は、このバージョンは動的なものになります (詳細は後述します)。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:147 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:124 msgid "Optional fields to include in the `[project]` table" msgstr "`[project]` テーブルに含めるオプションフィールド" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:149 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:126 msgid "" "We strongly suggest that you also add the metadata keys below as they " "will help users finding your package on PyPI. These fields will make it " @@ -2809,11 +2783,11 @@ msgstr "" "以下のメタデータキーも追加することを強くお勧めします。 " "これらのフィールドを追加することで、あなたのパッケージがどのような構造になっているのか、どのプラットフォームをサポートしているのか、どのような依存関係が必要なのかを明確にすることができます。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:154 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:131 msgid "**Description:** this is a short one-line description of your package." msgstr "**Description:** これはあなたのパッケージの短い一行説明です。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:155 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:132 msgid "" "**Readme:** A link to your README.md file is used for the long long-" "description. This information will be published on your packages PyPI " @@ -2822,7 +2796,7 @@ msgstr "" "**Readme:** 長い長い説明には README.md ファイルへのリンクが使われます。 " "この情報はあなたのパッケージのPyPIランディングページで公開されます。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:156 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:133 msgid "" "**Requires-python** (used by pip): this is a field that is used by pip. " "Here you tell the installer whether you are using Python 2.x or 3.x. Most" @@ -2831,18 +2805,18 @@ msgstr "" "**Requires-python** (pipで使用): これはpipが使用するフィールドです。 ここでは、Python " "2.xと3.xのどちらを使っているかをインストーラに伝えます。 ほとんどのプロジェクトは3.xを使うでしょう。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:157 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:134 msgid "**License:** the license you are using" msgstr "**ライセンス:** 使用しているライセンス" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:158 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:135 msgid "" "**Authors:** these are the original authors of the package. Sometimes the" " authors are different from the maintainers. Other times they might be " "the same." msgstr "**Authors:** パッケージの原作者です。 作者がメンテナと異なることもあります。 また、同じ場合もあります。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:159 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:136 msgid "" "**Maintainers:** you can choose to populate this or not. You can populate" " this using a list with a sub element for each author or maintainer name," @@ -2851,27 +2825,42 @@ msgstr "" "**Maintainers:** これを入力するかどうかを選択できます。 " "各作者やメンテナーの名前、Eメール、メールアドレスなどのサブ要素を持つリストを使って、この情報を入力することができます。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:167 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:144 msgid "" -"**dependencies:** dependencies are optional but we strongly suggest you " -"include them in your pyproject.toml. Dependencies will be installed by " -"pip when your project is installed creating a better user-experience." +"**project.dependencies:** The dependency group is optional because not " +"all packages require dependencies. However, if your project has specific " +"dependencies, include this section in your `pyproject.toml`. Dependencies" +" declared in the pyproject.toml file will be installed by uv or pip when " +"your project is installed." msgstr "" -"**dependencies:** 依存関係はオプションですが、pyproject.tomlに含めることを強く推奨します。 " -"依存関係はプロジェクトがインストールされるときにpipによってインストールされ、より良いユーザーエクスペリエンスを提供します。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:169 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:146 +#, fuzzy msgid "" -"**`[project.optional-dependencies]`:** the optional or development " -"dependencies will be installed if someone runs `python -m pip install " -"projectname[dev]`. This is a nice way to include your development " -"dependencies for users who may wish to contribute to your project." +"**project.optional-dependencies:** Optional or feature dependencies will " +"be installed if someone runs `python -m pip install " +"projectname[feature]`. Use this array to declare dependencies that add " +"specific features to your package that are not installed by default when " +"a user runs `uv sync` or `python -m pip install packagename`." msgstr "" "**`[project.optional-dependencies]`:** 誰かが `python -m pip install " "projectname[dev]` を実行したときに、オプションまたは開発用の依存パッケージがインストールされます。 " "これは、あなたのプロジェクトに貢献したいユーザのために、開発用の依存関係を含める良い方法です。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:171 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:147 +msgid "" +"**dependency-groups:** Dependency groups organize packages and tools that" +" a contributor or developer would need to work on your package. These " +"dependencies may include tools for building and running tests, linters, " +"and code formatters. This is an optional but highly suggested way to " +"organize and install dependencies. This section can replace a " +"requirements.txt file. [Learn more about adding these to your package in " +"the PyPA guide " +"here.](https://packaging.python.org/en/latest/specifications/dependency-" +"groups/)" +msgstr "" + +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:148 msgid "" "**keywords:** These are the keywords that will appear on your PyPI " "landing page. Think of them as words that people might use to search for " @@ -2880,12 +2869,13 @@ msgstr "" "**keywords:** これらはPyPIのランディングページに表示されるキーワードです。 " "人々があなたのパッケージを検索するときに使う言葉だと考えてください。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:172 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:149 +#, fuzzy msgid "" "**classifiers:** The classifiers section of your metadata is also " "important for the landing page of your package in PyPI and for filtering " "of packages in PyPI. A list of [all options for classifiers can be found " -"her](https://PyPI.org/classifiers/)e. Some of the classifiers that you " +"here](https://PyPI.org/classifiers/). Some of the classifiers that you " "should consider including" msgstr "" "**classifiers:** " @@ -2893,35 +2883,27 @@ msgstr "" " [分類子の全オプションはこちらです](https://PyPI.org/classifiers/) 。 " "以下のようなクラシファイアを検討する必要があります。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:173 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:150 msgid "Development Status" msgstr "開発状況" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:174 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:151 msgid "Intended Audience" msgstr "対象読者" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:175 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:152 msgid "Topic" msgstr "トピック" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:176 -msgid "License" -msgstr "License" - -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:177 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:153 msgid "Programming language" msgstr "プログラミング言語" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:179 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:155 msgid "Advanced options in the pyproject.toml file" msgstr "pyproject.tomlファイルの高度なオプション" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:181 -msgid "The examples at the bottom of this page contain ..." -msgstr "このページの下にある例には ..." - -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:183 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:157 msgid "" "**`[project.scripts]` (Entry points):** Entry points are optional. If you" " have a command line tool that runs a specific script hosted in your " @@ -2932,7 +2914,7 @@ msgstr "" "パッケージでホストされている特定のスクリプトを実行するコマンドラインツールがある場合、そのスクリプトを(Pythonシェルではなく)コマンドラインで直接呼び出すためのエントリポイントを含めることができます" " 。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:185 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:159 msgid "" "Here is an example of[a package that has entry point " "script](https://github.com/pyOpenSci/pyosMeta/blob/main/pyproject.toml#L60)s." @@ -2944,51 +2926,58 @@ msgstr "" " の例である。 そのパッケージには、一連のタスクを実行するいくつかのコアスクリプトが定義されていることに注目してほしい。 " "pyOpenSciはこれらのスクリプトを使ってメタデータを処理しています。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:186 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:160 +#, fuzzy msgid "" -"**Dynamic Fields:** if you have fields that are dynamically populated. " -"One example of this is if you are using scm / version control based " -"version with tools like `setuptooms_scm`, then you might use the dynamic " -"field, such as version (using scm) **dynamic = [\"version\"]**" +"Use **Dynamic Fields** If you have fields that are dynamically populated." +" For example, you may wish to automatically update your package's version" +" using Git tags (SCM/version control-based versioning). Example: " +"**dynamic = [\"version\"]**" msgstr "" "**ダイナミックフィールド:** 動的に入力されるフィールドがある場合。 " "`setuptooms_scm`のようなツールでscm/バージョン管理ベースのバージョンを使用している場合、ダイナミックフィールドを使用することができます。" " (scmを使用した)バージョンなど **dynamic = [\"version\"]**" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:188 -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:162 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "Add dependencies to your pyproject.toml file" msgstr "pyproject.tomlファイルに依存関係を追加" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:190 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:164 +#, fuzzy msgid "" -"The pyproject.toml file can also be used as a replacement for the " -"requirements.txt file which has been traditionally used to store " -"development dependencies such as pytest, code formatters such as Black " -"and documentation tools such as sphinx." +"The `pyproject.toml` file is a modern replacement for the " +"`requirements.txt` file, which has been traditionally used to store " +"development dependencies and also configuration for tools such as pytest," +" black, and others." msgstr "pyproject.tomlファイルは、従来pytestのような開発依存ファイル、Blackのようなコードフォーマッタ、sphinxのようなドキュメントツールを保存するために使われてきたrequirements.txtファイルの代わりとして使うこともできます。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:192 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:166 +#, fuzzy msgid "" -"To add dependencies to your build, add a `[project.optional-" -"dependencies]` table to your pyproject.toml file." +"To add development dependencies to your build, add a `[dependency-" +"groups]` array to your pyproject.toml file." msgstr "" "ビルドに依存関係を追加するには、 `[project.optional-dependencies]` " "テーブルをpyproject.tomlファイルに追加します。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:194 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:168 msgid "Then specify dependency groups as follows:" msgstr "次に、依存グループを以下のように指定する:" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:201 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:176 msgid "Following the above example, you install dependencies like this:" msgstr "上記の例に従って、依存関係を次のようにインストールします:" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:203 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:178 msgid "`python -m pip install -e .[tests]`" msgstr "`python -m pip install -e .[tests]`" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:205 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:180 +msgid "pip install --group test _# requires pip 25.1 or greater_" +msgstr "" + +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:182 msgid "" "The above will install both your package in editable mode and all of the " "dependencies declared in the tests section of your `[project.optional-" @@ -2997,19 +2986,19 @@ msgstr "" "上記は、編集可能モードのパッケージと、 `[project.optional-dependencies]` " "テーブルのtestsセクションで宣言されたすべての依存関係の両方をインストールします。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:207 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:184 msgid "To install all dependencies and also your package, you'd use:" msgstr "すべての依存関係をインストールし、あなたのパッケージもインストールするには、次のようにします:" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:209 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:186 msgid "`python -m pip install -e .[tests,lint,docs]`" msgstr "`python -m pip install -e .[tests,lint,docs]`" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:211 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:188 msgid "Recursive dependencies" msgstr "再帰的依存関係" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:215 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:192 msgid "" "You can also setup sets of recursive dependencies. [See this blog post " "for more.](https://hynek.me/articles/python-recursive-optional-" @@ -3018,11 +3007,11 @@ msgstr "" "再帰的依存関係のセットをセットアップすることもできます。 [詳しくはこのブログ記事を参照。](https://hynek.me/articles" "/python-recursive-optional-dependencies/)" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:218 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:195 msgid "Example pyproject.toml for building using hatchling" msgstr "hatchlingを使用してビルドするpyproject.tomlの例" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:220 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:197 msgid "" "Below is an example build configuration for a Python project. This " "example package setup uses **hatchling** to build the [package's sdist " @@ -3032,15 +3021,15 @@ msgstr "" "](python-package-distribution-files-sdist-wheel) をビルドするのに **hatchling** " "を使っています。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:228 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:205 msgid "Notice that dependencies are specified in this file." msgstr "このファイルには依存関係が指定されています。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:230 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:207 msgid "Example pyproject.toml for building using setuptools" msgstr "setuptoolsを使ってビルドするpyproject.tomlの例" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:232 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:209 msgid "" "The package metadata including authors, keywords, etc is also easy to " "read. Below you can see the same TOML file that uses a different build " @@ -3051,11 +3040,11 @@ msgstr "" "下の図は、異なるビルドシステム(setuptools)を使った同じTOMLファイルです。 " "このパッケージのビルドに必要なツールを入れ替えるのがいかに簡単かに注目してください!" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:236 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:213 msgid "In this example package setup you use:" msgstr "このパッケージのセットアップ例では:" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:238 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:215 msgid "" "**setuptools** to build the [package's sdist and wheels](python-package-" "distribution-files-sdist-wheel)" @@ -3063,13 +3052,13 @@ msgstr "" "[パッケージのsdistとwheel](python-package-distribution-files-sdist-wheel) " "をビルドするための **setuptools** 。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:239 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:216 msgid "" "**setuptools_scm** to manage package version updates using version " "control tags" msgstr "**setuptools_scm** は、バージョン管理タグを使ってパッケージのバージョン更新を管理します。" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:241 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:218 msgid "" "In the example below `[build-system]` is the first table of values. It " "has two keys that specify the build backend API and containing package:" @@ -3077,15 +3066,15 @@ msgstr "" "以下の例では、`[build-system]` が最初の値のテーブルです。 " "このテーブルには2つのキーがあり、ビルドバックエンドAPIとそれを含むパッケージを指定します:" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:244 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:221 msgid "`requires =`" msgstr "`requires =`" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:245 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:222 msgid "`build-back-end =`" msgstr "`build-back-end =`" -#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:252 +#: ../../package-structure-code/pyproject-toml-python-package-metadata.md:229 msgid "" "[Click here to read about our packaging build tools including PDM, " "setuptools, Poetry and Hatch.](/package-structure-code/python-package-" @@ -3098,11 +3087,11 @@ msgstr "" msgid "Python Packaging Tools" msgstr "Pythonパッケージングツール" -#: ../../package-structure-code/python-package-build-tools.md:3 +#: ../../package-structure-code/python-package-build-tools.md:4 msgid "Tools for building your package" msgstr "パッケージ構築のためのツール" -#: ../../package-structure-code/python-package-build-tools.md:5 +#: ../../package-structure-code/python-package-build-tools.md:6 msgid "" "There are a several different build tools that you can use to [create " "your Python package's _sdist_ and _wheel_ distributions](python-package-" @@ -3117,7 +3106,7 @@ msgstr "" "以下では、最もよく使われる Python パッケージングツールの機能、利点、制限について説明します。 このガイドでは純粋な Python " "パッケージに焦点を当てます。 しかし、現在C/C++やその他の言語拡張を含むパッケージをサポートしているツールも紹介します。" -#: ../../package-structure-code/python-package-build-tools.md:13 +#: ../../package-structure-code/python-package-build-tools.md:14 msgid "" "Decision tree diagram showing the various front and back end packaging " "tools. You can decide what packaging tool to use by thinking about what " @@ -3131,7 +3120,7 @@ msgstr "" "PDMとHatchは、異なるビルドバックエンドを使用しているため、現在のところ最も柔軟なツールです。 " "PDMとHatchは初心者に最も喜ばれるツールで、Poetryはその次です。 Poetryは純粋なPythonプロジェクトに適しています。" -#: ../../package-structure-code/python-package-build-tools.md:15 +#: ../../package-structure-code/python-package-build-tools.md:16 msgid "" "Diagram showing the different front end build tools available to use in " "the Python package ecosystem that you can select from. We selected tools " @@ -3140,7 +3129,7 @@ msgid "" "different features as highlighted below." msgstr "Pythonパッケージのエコシステムで利用可能な、さまざまなフロントエンドビルドツールを示す図です。この図に含めるツールは、エコシステムで最も利用されているツールを理解するのに役立ったPyPI調査に基づいて選択しました。各ツールには、以下のように異なる特徴があります。" -#: ../../package-structure-code/python-package-build-tools.md:18 +#: ../../package-structure-code/python-package-build-tools.md:19 msgid "" "If you want to know more about Python packages that have extensions " "written in other languages, [check out the page on complex package builds" @@ -3149,18 +3138,18 @@ msgstr "" "他の言語で書かれた拡張機能を持つPythonパッケージについてもっと知りたい場合は、 [複雑なパッケージのビルドのページをチェックしてください" "](complex-python-package-builds)" -#: ../../package-structure-code/python-package-build-tools.md:21 +#: ../../package-structure-code/python-package-build-tools.md:22 msgid "Tools that we review here" msgstr "ここでレビューするツール" -#: ../../package-structure-code/python-package-build-tools.md:23 +#: ../../package-structure-code/python-package-build-tools.md:24 msgid "" "In this section we have selected tools that were returned as the most " "popular packaging tools in the PyPA survey. You will learn more about the" " following tools on this page:" msgstr "このセクションでは、PyPAのアンケートで最も人気のあったパッケージングツールを紹介します。 このページでは以下のツールについて詳しく説明します:" -#: ../../package-structure-code/python-package-build-tools.md:27 +#: ../../package-structure-code/python-package-build-tools.md:28 msgid "" "[Twine](https://twine.readthedocs.io/en/stable/), [Build](https://pypa-" "build.readthedocs.io/en/stable/) + " @@ -3170,44 +3159,45 @@ msgstr "" "build.readthedocs.io/en/stable/) + " "[setuptools](https://setuptools.pypa.io/en/latest/)" -#: ../../package-structure-code/python-package-build-tools.md:28 +#: ../../package-structure-code/python-package-build-tools.md:29 msgid "[Flit](https://flit.pypa.io/en/stable/)" msgstr "[Flit](https://flit.pypa.io/en/stable/)" -#: ../../package-structure-code/python-package-build-tools.md:29 +#: ../../package-structure-code/python-package-build-tools.md:30 msgid "[Hatch](https://hatch.pypa.io/latest/)" msgstr "[Hatch](https://hatch.pypa.io/latest/)" -#: ../../package-structure-code/python-package-build-tools.md:30 -msgid "[PDM](https://pdm.fming.dev/latest/)" +#: ../../package-structure-code/python-package-build-tools.md:31 +#, fuzzy +msgid "[PDM](https://pdm-project.org/latest/)" msgstr "[PDM](https://pdm.fming.dev/latest/)" -#: ../../package-structure-code/python-package-build-tools.md:31 +#: ../../package-structure-code/python-package-build-tools.md:32 msgid "[Poetry](https://python-poetry.org/docs/)" msgstr "[Poetry](https://python-poetry.org/docs/)" -#: ../../package-structure-code/python-package-build-tools.md:33 +#: ../../package-structure-code/python-package-build-tools.md:35 msgid "Summary of tools Hatch vs. PDM vs. Poetry (and setuptools)" msgstr "ツールまとめ Hatch vs PDM vs Poetry (と setuptools)" -#: ../../package-structure-code/python-package-build-tools.md:35 +#: ../../package-structure-code/python-package-build-tools.md:37 msgid "If you are looking for a quick summary, read below." msgstr "簡単な要約をお探しの方は、以下をお読みください。" -#: ../../package-structure-code/python-package-build-tools.md:37 +#: ../../package-structure-code/python-package-build-tools.md:39 msgid "" "In general, any modern tool that you select from this page will be great " "to build your package. Selecting a tool comes down to the features that " "you are looking for in your workflow." msgstr "一般的に、このページから選択した最新のツールは、パッケージを構築するのに適しています。 ツールの選択は、ワークフローに求める機能によって決まります。" -#: ../../package-structure-code/python-package-build-tools.md:38 +#: ../../package-structure-code/python-package-build-tools.md:40 msgid "" "We suggest that beginners start with a modern workflow tool like PDM as " "opposed to navigating the complexities of setuptools." msgstr "初心者の方は、 setuptools の複雑な操作ではなく、PDMのような最新のワークフローツールから始めることをお勧めします。" -#: ../../package-structure-code/python-package-build-tools.md:39 +#: ../../package-structure-code/python-package-build-tools.md:41 msgid "" "If you are going to use Poetry (it is the most popular tool and does have" " the best documentation) beware of the upper bounds dependency additions " @@ -3220,15 +3210,15 @@ msgstr "" "そうすれば、Poetryは純粋なPythonビルドでもうまく動くでしょう! また、Poetryには活発な discord " "があり、質問をすることができます。" -#: ../../package-structure-code/python-package-build-tools.md:41 +#: ../../package-structure-code/python-package-build-tools.md:43 msgid "Below are some features that Hatch and PDM offer that Poetry does not." msgstr "以下は、ハッチとPDMが提供し、Poetryが提供しない機能です。" -#: ../../package-structure-code/python-package-build-tools.md:43 +#: ../../package-structure-code/python-package-build-tools.md:45 msgid "PDM:" msgstr "PDM:" -#: ../../package-structure-code/python-package-build-tools.md:45 +#: ../../package-structure-code/python-package-build-tools.md:47 msgid "" "Supports other back-ends making it ideal for builds that are not pure " "Python. This means PDM is a great option for both pure python and more " @@ -3238,19 +3228,19 @@ msgstr "" "他のバックエンドをサポートしているので、純粋な Python ではないビルドに最適です。 つまり、PDMはmeson-" "pythonや他のビルドバックエンドをサポートしているので、純粋なPythonにも、より複雑なPythonビルドにも最適なオプションです。" -#: ../../package-structure-code/python-package-build-tools.md:46 +#: ../../package-structure-code/python-package-build-tools.md:48 msgid "Offers flexibility in dependency management which we like" msgstr "依存関係の管理に柔軟性があります" -#: ../../package-structure-code/python-package-build-tools.md:47 +#: ../../package-structure-code/python-package-build-tools.md:49 msgid "Offers lock files if you need them" msgstr "必要に応じてファイルをロックすることも可能です" -#: ../../package-structure-code/python-package-build-tools.md:49 +#: ../../package-structure-code/python-package-build-tools.md:51 msgid "Hatch:" msgstr "Hatch:" -#: ../../package-structure-code/python-package-build-tools.md:51 +#: ../../package-structure-code/python-package-build-tools.md:53 msgid "" "Offers matrix environment management that allows you to run tests across " "Python versions. If this feature is important to you, then Hatch is a " @@ -3259,7 +3249,7 @@ msgstr "" "Pythonのバージョンにまたがってテストを実行できるマトリックス環境管理を提供します。 もしこの機能があなたにとって重要なら、Hatch " "が明らかに勝者です。" -#: ../../package-structure-code/python-package-build-tools.md:52 +#: ../../package-structure-code/python-package-build-tools.md:54 msgid "" "Offers a Nox / Make file like tool to streamline your build workflow. If " "you are looking to reduce the number of tools in your workflow, Hatch " @@ -3268,22 +3258,22 @@ msgstr "" "ビルドワークフローを効率化するNox/Makeファイルのようなツールを提供します。 " "ワークフローにおけるツールの数を減らしたいのであれば、Hatchはうってつけかもしれません。" -#: ../../package-structure-code/python-package-build-tools.md:55 +#: ../../package-structure-code/python-package-build-tools.md:57 msgid "Build front-end vs. build back-end tools" msgstr "フロントエンド構築ツールとバックエンド構築ツール" -#: ../../package-structure-code/python-package-build-tools.md:57 +#: ../../package-structure-code/python-package-build-tools.md:59 msgid "" "To better understand your options, when it comes to building a Python " "package, it's important to first understand the difference between a " "build tool front-end and build back-end." msgstr "Pythonパッケージのビルドに関して、あなたの選択肢をよりよく理解するためには、まずビルドツールのフロントエンドとビルドのバックエンドの違いを理解することが重要です。" -#: ../../package-structure-code/python-package-build-tools.md:62 +#: ../../package-structure-code/python-package-build-tools.md:64 msgid "Build back-ends" msgstr "バックエンドのビルド" -#: ../../package-structure-code/python-package-build-tools.md:64 +#: ../../package-structure-code/python-package-build-tools.md:66 msgid "" "Most packaging tools have a back-end build tool that builds you package " "and creates associated [(sdist and wheel) distribution files](python-" @@ -3297,7 +3287,7 @@ msgstr "" "のようないくつかのツールは、純粋なPythonパッケージのビルドのみをサポートしています。 純粋な Python " "のビルドとは、他のプログラミング言語 (`C` や `C++` など) で書かれた拡張機能を持たないパッケージのビルドを指します。" -#: ../../package-structure-code/python-package-build-tools.md:71 +#: ../../package-structure-code/python-package-build-tools.md:73 msgid "" "Other packages that have C and C++ extensions (or that wrap other " "languages such as fortran) require additional code compilation steps when" @@ -3312,11 +3302,11 @@ msgstr "" "などのバックエンドは、カスタムステップによる複雑なビルドをサポートしています。ビルドが特に複雑な場合(つまり `C`/`C++` " "拡張モジュールが数個以上ある場合)は、 **meson.build** または **scikit-build** を使用することをお勧めします。" -#: ../../package-structure-code/python-package-build-tools.md:77 +#: ../../package-structure-code/python-package-build-tools.md:79 msgid "Python package build front-ends" msgstr "Pythonパッケージビルドフロントエンド" -#: ../../package-structure-code/python-package-build-tools.md:79 +#: ../../package-structure-code/python-package-build-tools.md:81 msgid "" "A packaging front-end tool refers to a tool that makes it easier for you " "to perform common packaging tasks using similar commands. These tasks " @@ -3325,7 +3315,7 @@ msgstr "" "パッケージングフロントエンドツールとは、同様のコマンドを使用して一般的なパッケージングタスクを簡単に実行できるようにするツールのことです。 " "これらのタスクには以下のようなものがあります:" -#: ../../package-structure-code/python-package-build-tools.md:82 +#: ../../package-structure-code/python-package-build-tools.md:84 msgid "" "[Build your packages (create the sdist and wheel distributions)](python-" "package-distribution-files-sdist-wheel)" @@ -3333,31 +3323,31 @@ msgstr "" "[パッケージのビルド (sdist と wheel ディストリビューションの作成)](python-package-distribution-" "files-sdist-wheel)" -#: ../../package-structure-code/python-package-build-tools.md:83 +#: ../../package-structure-code/python-package-build-tools.md:85 msgid "" "Installing your package in a development mode (so it updates when you " "update your code)" msgstr "開発モードでパッケージをインストールします (コードを更新したときに更新されるようにします)" -#: ../../package-structure-code/python-package-build-tools.md:84 +#: ../../package-structure-code/python-package-build-tools.md:86 msgid "Publishing to PyPI" msgstr "PyPIへの公開" -#: ../../package-structure-code/python-package-build-tools.md:85 +#: ../../package-structure-code/python-package-build-tools.md:87 msgid "Running tests" msgstr "テストの実行" -#: ../../package-structure-code/python-package-build-tools.md:86 +#: ../../package-structure-code/python-package-build-tools.md:88 msgid "Building documentation" msgstr "ドキュメントの作成" -#: ../../package-structure-code/python-package-build-tools.md:87 +#: ../../package-structure-code/python-package-build-tools.md:89 msgid "" "Managing an environment or multiple environments in which you need to run" " tests and develop your package" msgstr "テストの実行やパッケージの開発が必要な環境、または複数の環境の管理" -#: ../../package-structure-code/python-package-build-tools.md:89 +#: ../../package-structure-code/python-package-build-tools.md:91 msgid "" "There are several Python packaging tools that you can use for pure Python" " builds. Each front-end tool discussed below supports a slightly " @@ -3366,7 +3356,7 @@ msgstr "" "純粋な Python のビルドに使える Python パッケージングツールがいくつかあります。 " "以下で説明する各フロントエンドツールは、少しずつ異なる Python パッケージングタスクをサポートしています。" -#: ../../package-structure-code/python-package-build-tools.md:93 +#: ../../package-structure-code/python-package-build-tools.md:95 msgid "" "For instance, you can use the packaging tools **Flit**, **Hatch** or " "**PDM** to both build and publish your package to PyPI. However while " @@ -3383,7 +3373,7 @@ msgstr "" "パッケージのsdistとwheelの配布ファイルをビルドするだけなら、PyPAのBuildで十分です。 " "その後、Twineを使ってPyPIに公開します。" -#: ../../package-structure-code/python-package-build-tools.md:100 +#: ../../package-structure-code/python-package-build-tools.md:102 msgid "" "If you are using **Setuptools**, there is no default user-friendly build " "front-end that performs multiple tasks. You will need to use **build** to" @@ -3392,25 +3382,25 @@ msgstr "" "**Setuptools** を使用している場合、複数のタスクを実行するデフォルトのユーザーフレンドリーなビルドフロントエンドはありません。 " "パッケージをビルドするには **build** を、PyPI に公開するには **twine** を使う必要があります。" -#: ../../package-structure-code/python-package-build-tools.md:103 +#: ../../package-structure-code/python-package-build-tools.md:105 msgid "Example build steps that can be simplified using a front-end tool" msgstr "フロントエンドツールを使って簡略化できるビルド手順の例" -#: ../../package-structure-code/python-package-build-tools.md:105 +#: ../../package-structure-code/python-package-build-tools.md:107 msgid "" "Below, you can see how a build tool streamlines your packaging " "experience. Example to build your package with **Hatch**:" msgstr "以下に、ビルドツールがパッケージングをどのように効率化するかを示します。 **Hatch** でパッケージをビルドする例です:" -#: ../../package-structure-code/python-package-build-tools.md:115 +#: ../../package-structure-code/python-package-build-tools.md:117 msgid "Example build steps using the **setuptools** back-end and **build**:" msgstr "**setuptools** バックエンドと **build** を使用したビルド手順の例:" -#: ../../package-structure-code/python-package-build-tools.md:125 +#: ../../package-structure-code/python-package-build-tools.md:127 msgid "Choosing a build back-end" msgstr "ビルドバックエンドの選択" -#: ../../package-structure-code/python-package-build-tools.md:127 +#: ../../package-structure-code/python-package-build-tools.md:129 msgid "" "Most front-end packaging tools have their own back-end build tool. The " "build tool creates your package's (sdist and wheel) distribution files. " @@ -3421,23 +3411,23 @@ msgstr "" "(sdistやwheelの) 配布ファイルを作成します。 " "純粋なPythonパッケージの場合、以下で説明するビルドバックエンド間の主な違いは以下の通りです:" -#: ../../package-structure-code/python-package-build-tools.md:132 +#: ../../package-structure-code/python-package-build-tools.md:134 msgid "" "How configurable they are - for example, do they allow you to add build " "steps that support non python extensions?" msgstr "設定可能性 - 例えば、Python以外の拡張機能をサポートするビルドステップを追加することはできますか?" -#: ../../package-structure-code/python-package-build-tools.md:133 +#: ../../package-structure-code/python-package-build-tools.md:135 msgid "" "How much you need to configure them to ensure the correct files are " "included in your sdist and wheel distributions." msgstr "正しいファイルがsdistとwheelディストリビューションに含まれていることを確認するために、どの程度設定する必要があるか。" -#: ../../package-structure-code/python-package-build-tools.md:135 +#: ../../package-structure-code/python-package-build-tools.md:137 msgid "Build back-end support for non pure-python packages" msgstr "純粋なPythonパッケージ以外のバックエンドサポートの構築" -#: ../../package-structure-code/python-package-build-tools.md:137 +#: ../../package-structure-code/python-package-build-tools.md:139 msgid "" "It is important to note that some build back-ends, such as **Flit-core**," " only support pure Python builds. Other back-ends support C and C++ " @@ -3446,11 +3436,11 @@ msgstr "" "**Flit-core** " "のようないくつかのビルドバックエンドは、純粋なPythonビルドしかサポートしていないことに注意することが重要です。その他のバックエンドは、以下のようにCとC++の拡張をサポートしています:" -#: ../../package-structure-code/python-package-build-tools.md:140 +#: ../../package-structure-code/python-package-build-tools.md:142 msgid "setuptools supports builds using C / C++ extensions" msgstr "setuptools は、C / C++ 拡張モジュールを使用したビルドをサポートします。" -#: ../../package-structure-code/python-package-build-tools.md:141 +#: ../../package-structure-code/python-package-build-tools.md:143 msgid "" "Hatchling (hatch's back-end) supports C / C++ extensions via plugins that" " the developer creates to customize a build" @@ -3458,11 +3448,11 @@ msgstr "" "Hatchling (hatchのバックエンド) " "は、開発者がビルドをカスタマイズするために作成するプラグインによって、C/C++の拡張機能をサポートしています。" -#: ../../package-structure-code/python-package-build-tools.md:142 +#: ../../package-structure-code/python-package-build-tools.md:144 msgid "PDM's back-end supports C / C++ extensions by using setuptools" msgstr "PDMのバックエンドは、setuptoolsを使用してC / C++拡張をサポートしています。" -#: ../../package-structure-code/python-package-build-tools.md:143 +#: ../../package-structure-code/python-package-build-tools.md:145 msgid "" "Poetry's back-end supports C/C++ extensions however this functionality is" " currently undocumented. As such we don't recommend using Poetry for " @@ -3471,17 +3461,17 @@ msgstr "" "PoetryのバックエンドはC/C++拡張をサポートしていますが、この機能は現在ドキュメント化されていません。 " "そのため、ドキュメント化されるまでは、複雑なビルドや純粋なPython以外のビルドにPoetryを使うことはお勧めしません。" -#: ../../package-structure-code/python-package-build-tools.md:145 +#: ../../package-structure-code/python-package-build-tools.md:147 msgid "" "While we won't discuss more complex builds below, we will identify which " "tools have documented support for C / C++ extensions." msgstr "以下では、より複雑なビルドについては説明しませんが、どのツールがC / C++の拡張機能を文書でサポートしているかを確認します。" -#: ../../package-structure-code/python-package-build-tools.md:148 +#: ../../package-structure-code/python-package-build-tools.md:150 msgid "An ecosystem of Python build tools" msgstr "Pythonビルドツールのエコシステム" -#: ../../package-structure-code/python-package-build-tools.md:150 +#: ../../package-structure-code/python-package-build-tools.md:152 msgid "" "Below we introduce several of the most commonly used Python packaging " "build front-end tools. We highlight the features that each tool offers as" @@ -3490,18 +3480,18 @@ msgstr "" "以下では、最もよく使われる Python パッケージングビルドフロントエンドツールをいくつか紹介します。 " "どのツールがあなたのワークフローに最適かを決める手助けとして、各ツールが提供する機能を強調します。" -#: ../../package-structure-code/python-package-build-tools.md:154 +#: ../../package-structure-code/python-package-build-tools.md:156 msgid "We do not suggest using setuptools" msgstr "setuptools の使用はお勧めしません" -#: ../../package-structure-code/python-package-build-tools.md:157 +#: ../../package-structure-code/python-package-build-tools.md:159 msgid "" "We suggest that you pick one of the modern tools listed above rather than" " setuptools because setuptools will require some additional knowledge to " "set up correctly." msgstr "setuptoolsは、正しくセットアップするためにいくつかの追加知識を必要とするため、setuptoolsではなく、上記の近代的なツールのいずれかを選択することをお勧めします。" -#: ../../package-structure-code/python-package-build-tools.md:161 +#: ../../package-structure-code/python-package-build-tools.md:163 msgid "" "We review setuptools as a back-end because it is still popular. However " "it is not the most user friendly option." @@ -3509,20 +3499,20 @@ msgstr "" "バックエンドとしてsetuptoolsをレビューするのは、今でも人気があるからです。 " "しかし、それは最もユーザーフレンドリーなオプションではありません。" -#: ../../package-structure-code/python-package-build-tools.md:165 +#: ../../package-structure-code/python-package-build-tools.md:167 msgid "" "The most commonly used tools in the ecosystem are setuptools back-end " "(with build) and Poetry (a front end tool with numerous features and " "excellent documentation)." msgstr "エコシステムで最もよく使われるツールは、setuptoolsのバックエンド(ビルド機能付き)とPoetry(多数の機能と優れたドキュメントを備えたフロントエンドツール)です。" -#: ../../package-structure-code/python-package-build-tools.md:171 +#: ../../package-structure-code/python-package-build-tools.md:173 msgid "" "Graph showing the results of the 2022 PyPA survey of Python packaging " "tools. On the x axis is percent response and on the y axis are the tools." msgstr "2022年のPyPAによるPythonパッケージングツールの調査結果を示すグラフです。 X軸は回答率、Y軸はツールです。" -#: ../../package-structure-code/python-package-build-tools.md:173 +#: ../../package-structure-code/python-package-build-tools.md:175 msgid "" "The Python developers survey results (n=>8,000 PyPI users) show " "setuptools and poetry as the most commonly used Python packaging tools. " @@ -3540,53 +3530,53 @@ msgstr "" " 注意: このデータはドメイン全体のメンテナを表しており、ウェブ開発関係者が多く含まれているようです。 これはより広い Python " "エコシステム全体のスナップショットを表しています。" -#: ../../package-structure-code/python-package-build-tools.md:176 +#: ../../package-structure-code/python-package-build-tools.md:178 msgid "Chose a build workflow tool" msgstr "ビルドワークフローツールの選択" -#: ../../package-structure-code/python-package-build-tools.md:178 +#: ../../package-structure-code/python-package-build-tools.md:180 msgid "The tools that we review below include:" msgstr "以下にレビューするツールは以下の通り:" -#: ../../package-structure-code/python-package-build-tools.md:180 +#: ../../package-structure-code/python-package-build-tools.md:182 msgid "Twine, Build + setuptools" msgstr "Twine, Build + setuptools" -#: ../../package-structure-code/python-package-build-tools.md:181 -#: ../../package-structure-code/python-package-build-tools.md:215 -#: ../../package-structure-code/python-package-build-tools.md:291 -#: ../../package-structure-code/python-package-build-tools.md:304 +#: ../../package-structure-code/python-package-build-tools.md:183 +#: ../../package-structure-code/python-package-build-tools.md:217 +#: ../../package-structure-code/python-package-build-tools.md:294 +#: ../../package-structure-code/python-package-build-tools.md:307 msgid "Flit" msgstr "Flit" -#: ../../package-structure-code/python-package-build-tools.md:182 -#: ../../package-structure-code/python-package-build-tools.md:215 -#: ../../package-structure-code/python-package-build-tools.md:331 -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:184 +#: ../../package-structure-code/python-package-build-tools.md:217 +#: ../../package-structure-code/python-package-build-tools.md:336 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "Hatch" msgstr "Hatch" -#: ../../package-structure-code/python-package-build-tools.md:183 -#: ../../package-structure-code/python-package-build-tools.md:215 -#: ../../package-structure-code/python-package-build-tools.md:230 -#: ../../package-structure-code/python-package-build-tools.md:251 +#: ../../package-structure-code/python-package-build-tools.md:185 +#: ../../package-structure-code/python-package-build-tools.md:217 +#: ../../package-structure-code/python-package-build-tools.md:233 +#: ../../package-structure-code/python-package-build-tools.md:254 msgid "PDM" msgstr "PDM" -#: ../../package-structure-code/python-package-build-tools.md:184 -#: ../../package-structure-code/python-package-build-tools.md:215 -#: ../../package-structure-code/python-package-build-tools.md:374 -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:186 +#: ../../package-structure-code/python-package-build-tools.md:217 +#: ../../package-structure-code/python-package-build-tools.md:380 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "Poetry" msgstr "Poetry" -#: ../../package-structure-code/python-package-build-tools.md:186 +#: ../../package-structure-code/python-package-build-tools.md:188 msgid "" "When you are selecting a tool, you might consider this general workflow " "of questions:" msgstr "ツールを選ぶ際には、このような一般的な質問の流れを考慮するとよいでしょう:" -#: ../../package-structure-code/python-package-build-tools.md:189 +#: ../../package-structure-code/python-package-build-tools.md:191 msgid "" "**Is your tool pure python? Yes?** You can use any tool that you wish! " "Pick the tool that has the features that you want to use in your build " @@ -3595,11 +3585,11 @@ msgstr "" "**あなたのツールは純粋なパイソンですか?はい?** お好きなツールをお使いください! " "あなたのビルドワークフローで使いたい機能を持つツールを選んでください。 お勧めは:" -#: ../../package-structure-code/python-package-build-tools.md:191 +#: ../../package-structure-code/python-package-build-tools.md:193 msgid "Flit, Hatch, PDM or Poetry (read below for more)" msgstr "Flit、Hatch、PDM、またはPoetry (詳しくは以下をお読みください)" -#: ../../package-structure-code/python-package-build-tools.md:193 +#: ../../package-structure-code/python-package-build-tools.md:195 msgid "" "**Does your tool have a few C or C++ extensions?** Great, we suggest " "using **PDM** for the time being. It is the only tool in the list below " @@ -3613,7 +3603,7 @@ msgstr "" " PDMは、scikit-buildやmeson-" "pythonなどの他のバックエンドをサポートしており、パッケージのビルドを完全にカスタマイズすることができます。" -#: ../../package-structure-code/python-package-build-tools.md:197 +#: ../../package-structure-code/python-package-build-tools.md:199 msgid "" "NOTE: You can also use Hatch for non pure python builds. Hatch, similar " "to PDM, allows you to write your own build hooks or plugins to support " @@ -3627,11 +3617,11 @@ msgstr "" "しかし現在、hatchは他のビルドバックエンドをサポートしていない。コアな科学パッケージの多くは、パッケージをビルドするために meson-" "pythonに移行しています。したがって、PDMが特にmeson-pythonと連携できることはありがたいです。" -#: ../../package-structure-code/python-package-build-tools.md:199 +#: ../../package-structure-code/python-package-build-tools.md:201 msgid "Python packaging tools summary" msgstr "Pythonパッケージングツールまとめ" -#: ../../package-structure-code/python-package-build-tools.md:201 +#: ../../package-structure-code/python-package-build-tools.md:203 msgid "" "Below, we summarize features offered by the most popular build front end " "tools. It is important to keep in mind that these front-end tools remove " @@ -3646,99 +3636,99 @@ msgstr "" "しかし、PoetryやHatch、PDMを使う場合は、同じツールを使ってこれらすべてを行うことができます (例:`hatch " "build`、`hatch publish`、`pdm build`、`pdm publish`) 。" -#: ../../package-structure-code/python-package-build-tools.md:204 +#: ../../package-structure-code/python-package-build-tools.md:206 msgid "" "Note that because setuptools does not offer a front-end interface, it is " "not included in the table." msgstr "setuptoolsはフロントエンドインターフェースを提供していないので、この表には含まれていないことに注意してください。" -#: ../../package-structure-code/python-package-build-tools.md:208 +#: ../../package-structure-code/python-package-build-tools.md:210 msgid "Package tool features table" msgstr "パッケージツール機能一覧表" -#: ../../package-structure-code/python-package-build-tools.md:215 -#: ../../package-structure-code/python-package-build-tools.md:251 -#: ../../package-structure-code/python-package-build-tools.md:304 -#: ../../package-structure-code/python-package-build-tools.md:348 -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:217 +#: ../../package-structure-code/python-package-build-tools.md:254 +#: ../../package-structure-code/python-package-build-tools.md:307 +#: ../../package-structure-code/python-package-build-tools.md:353 +#: ../../package-structure-code/python-package-build-tools.md:398 #, fuzzy msgid "Feature" msgstr "PDMの特徴" -#: ../../package-structure-code/python-package-build-tools.md:215 +#: ../../package-structure-code/python-package-build-tools.md:217 msgid "Default Build Back-end" msgstr "デフォルトのビルドバックエンド" -#: ../../package-structure-code/python-package-build-tools.md:215 +#: ../../package-structure-code/python-package-build-tools.md:217 msgid "Flit-core" msgstr "Flit-core" -#: ../../package-structure-code/python-package-build-tools.md:215 +#: ../../package-structure-code/python-package-build-tools.md:217 msgid "hatchling" msgstr "hatchling" -#: ../../package-structure-code/python-package-build-tools.md:215 +#: ../../package-structure-code/python-package-build-tools.md:217 msgid "Poetry-core" msgstr "Poetry-core" -#: ../../package-structure-code/python-package-build-tools.md:215 -#: ../../package-structure-code/python-package-build-tools.md:251 -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:217 +#: ../../package-structure-code/python-package-build-tools.md:254 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "Use Other Build Backends" msgstr "他のビルドバックエンドを使う" -#: ../../package-structure-code/python-package-build-tools.md:215 -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:217 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "✖" msgstr "✖" -#: ../../package-structure-code/python-package-build-tools.md:215 -#: ../../package-structure-code/python-package-build-tools.md:251 -#: ../../package-structure-code/python-package-build-tools.md:304 -#: ../../package-structure-code/python-package-build-tools.md:348 -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:217 +#: ../../package-structure-code/python-package-build-tools.md:254 +#: ../../package-structure-code/python-package-build-tools.md:307 +#: ../../package-structure-code/python-package-build-tools.md:353 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "✅" msgstr "✅" -#: ../../package-structure-code/python-package-build-tools.md:215 -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:217 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "Dependency management" msgstr "依存関係の管理" -#: ../../package-structure-code/python-package-build-tools.md:215 -#: ../../package-structure-code/python-package-build-tools.md:251 +#: ../../package-structure-code/python-package-build-tools.md:217 +#: ../../package-structure-code/python-package-build-tools.md:254 msgid "Publish to PyPI" msgstr "PyPIに公開する" -#: ../../package-structure-code/python-package-build-tools.md:215 +#: ../../package-structure-code/python-package-build-tools.md:217 msgid "Version Control based versioning (using `git tags`)" msgstr "バージョン管理ベースのバージョニング ( `git tags` を使用)" -#: ../../package-structure-code/python-package-build-tools.md:215 -#: ../../package-structure-code/python-package-build-tools.md:251 -#: ../../package-structure-code/python-package-build-tools.md:348 -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:217 +#: ../../package-structure-code/python-package-build-tools.md:254 +#: ../../package-structure-code/python-package-build-tools.md:353 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "Version bumping" msgstr "バージョンバンプ" -#: ../../package-structure-code/python-package-build-tools.md:215 -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:217 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "Environment Management" msgstr "環境マネジメント" -#: ../../package-structure-code/python-package-build-tools.md:215 +#: ../../package-structure-code/python-package-build-tools.md:217 msgid "More than one maintainer? (bus factor)" msgstr "メンテナンス担当者が複数いるか? (バスファクター)" -#: ../../package-structure-code/python-package-build-tools.md:225 +#: ../../package-structure-code/python-package-build-tools.md:227 msgid "Notes:" msgstr "注釈:" -#: ../../package-structure-code/python-package-build-tools.md:227 +#: ../../package-structure-code/python-package-build-tools.md:229 msgid "_Hatch plans to support dependency management in the future_" msgstr "_Hatch は将来的に従属性管理をサポートする予定です_" -#: ../../package-structure-code/python-package-build-tools.md:228 +#: ../../package-structure-code/python-package-build-tools.md:230 msgid "" "Poetry supports semantic versioning. Thus, it will support version " "bumping following commit messages if you use a tool such as Python " @@ -3747,21 +3737,22 @@ msgstr "" "Poetry はセマンティックバージョニングをサポートしています。 したがって、Python Semantic " "Releaseのようなツールを使えば、コミットメッセージに続くバージョンバンプをサポートします。" -#: ../../package-structure-code/python-package-build-tools.md:232 +#: ../../package-structure-code/python-package-build-tools.md:235 +#, fuzzy msgid "" -"[PDM is a Python packaging and dependency management " -"tool](https://pdm.fming.dev/latest/). PDM supports builds for pure Python" -" projects. It also provides multiple layers of support for projects that " -"have C and C++ extensions." +"[PDM is a Python packaging and dependency management tool](https://pdm-" +"project.org/latest/). PDM supports builds for pure Python projects. It " +"also provides multiple layers of support for projects that have C and C++" +" extensions." msgstr "" "[PDMはPythonのパッケージングと依存関係の管理ツールです](https://pdm.fming.dev/latest/) 。 " "PDMは純粋なPythonプロジェクトのビルドをサポートします。また、CやC++の拡張を持つプロジェクトに対しても、多層的なサポートを提供します。" -#: ../../package-structure-code/python-package-build-tools.md:236 +#: ../../package-structure-code/python-package-build-tools.md:239 msgid "PDM support for C and C++ extensions" msgstr "CおよびC++拡張のPDMサポート" -#: ../../package-structure-code/python-package-build-tools.md:238 +#: ../../package-structure-code/python-package-build-tools.md:241 msgid "" "PDM supports using the PDM-back-end and setuptools at the same time. This" " means that you can run setuptools to compile and build C extensions. " @@ -3772,19 +3763,20 @@ msgstr "" "拡張モジュールをコンパイルビルドすることができます。 PDMのビルドバックエンドはコンパイルされた拡張ファイル(.so, " ".pyd)を受け取り、純粋なPythonファイルと一緒にパッケージ化します。" -#: ../../package-structure-code/python-package-build-tools.md:244 -msgid "PDM Features" +#: ../../package-structure-code/python-package-build-tools.md:247 +#, fuzzy +msgid "PDM features" msgstr "PDMの特徴" -#: ../../package-structure-code/python-package-build-tools.md:251 -#: ../../package-structure-code/python-package-build-tools.md:304 -#: ../../package-structure-code/python-package-build-tools.md:348 -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:254 +#: ../../package-structure-code/python-package-build-tools.md:307 +#: ../../package-structure-code/python-package-build-tools.md:353 +#: ../../package-structure-code/python-package-build-tools.md:398 #, fuzzy msgid "Notes" msgstr "注釈:" -#: ../../package-structure-code/python-package-build-tools.md:251 +#: ../../package-structure-code/python-package-build-tools.md:254 msgid "" "When you setup PDM it allows you to select one of several build back ends" " including: PDM-core, flit-core and hatchling. PDM also can work with " @@ -3793,17 +3785,18 @@ msgstr "" "PDMをセットアップする際、いくつかのビルドバックエンドから1つを選択することができます: PDM-core、flit-" "core、hatchlingなどです。 PDMはまた、複雑なPythonビルドをサポートするMeson-Pythonとも連携できます。" -#: ../../package-structure-code/python-package-build-tools.md:251 +#: ../../package-structure-code/python-package-build-tools.md:254 msgid "Dependency specifications" msgstr "依存仕様" -#: ../../package-structure-code/python-package-build-tools.md:251 +#: ../../package-structure-code/python-package-build-tools.md:254 +#, fuzzy msgid "" "PDM has flexible support for managing dependencies. PDM defaults to " "using an open bound (e.g. `requests >=1.2`) approach to dependencies. " "However you can [customize how you want to add dependencies in case you " "prefer another approach such as that of Poetry which uses an upper bound " -"limit](https://pdm.fming.dev/latest/usage/dependency/#about-update-" +"limit](https://pdm-project.org/en/latest/usage/dependency/#about-update-" "strategy).**" msgstr "" "PDMは依存関係の管理を柔軟にサポートしています。 PDMはデフォルトで依存関係に対してオープンバウンド(例えば `requests >=1.2`" @@ -3811,11 +3804,11 @@ msgstr "" "[Poetryのような上限を使用する別のアプローチを好む場合、依存関係を追加する方法をカスタマイズする](https://pdm.fming.dev/latest/usage/dependency" "/#about-update-strategy) ことができます。" -#: ../../package-structure-code/python-package-build-tools.md:251 +#: ../../package-structure-code/python-package-build-tools.md:254 msgid "Environment lock files" msgstr "環境ロックファイル" -#: ../../package-structure-code/python-package-build-tools.md:251 +#: ../../package-structure-code/python-package-build-tools.md:254 msgid "" "PDM and Poetry are currently the only tools that create environment lock " "files. Lock files are often most useful to developers creating web apps " @@ -3827,12 +3820,12 @@ msgstr "" "ロックファイルは、一貫したユーザーエクスペリエンスのために環境をロックすることが重要なウェブアプリを作成する開発者にとって、しばしば最も有用です。" " コミュニティで使われるパッケージでは、ロックファイルを使うことはないでしょう。" -#: ../../package-structure-code/python-package-build-tools.md:251 -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:254 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "Environment management" msgstr "環境マネジメント" -#: ../../package-structure-code/python-package-build-tools.md:251 +#: ../../package-structure-code/python-package-build-tools.md:254 msgid "" "PDM provides environment management support. It supports Python virtual " "environments, conda and a local `__pypackages__` environment which is a " @@ -3842,33 +3835,33 @@ msgstr "" "PDMは環境管理のサポートを提供します。 Python仮想環境、conda、そしてPythonエコシステムの新しいオプションであるローカルの " "`__pypackages__` 環境をサポートしています。 このサポートに拡張は必要ありません。" -#: ../../package-structure-code/python-package-build-tools.md:251 +#: ../../package-structure-code/python-package-build-tools.md:254 msgid "Select your environment type on install" msgstr "インストール時に環境タイプを選択" -#: ../../package-structure-code/python-package-build-tools.md:251 +#: ../../package-structure-code/python-package-build-tools.md:254 msgid "" "When you run `PDM init`, PDM will discover environments that are already " "on your system and allow you to select one to use for your project." msgstr "`PDM init` を実行すると、PDMがあなたのシステム上にある環境を検出し、プロジェクトに使用する環境を選択できるようになります。" -#: ../../package-structure-code/python-package-build-tools.md:251 +#: ../../package-structure-code/python-package-build-tools.md:254 msgid "PDM supports publishing to both test PyPI and PyPI" msgstr "PDM は test PyPI と PyPI の両方への公開をサポートしています" -#: ../../package-structure-code/python-package-build-tools.md:251 -#: ../../package-structure-code/python-package-build-tools.md:348 -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:254 +#: ../../package-structure-code/python-package-build-tools.md:353 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "Version Control based versioning" msgstr "バージョン管理ベースのバージョニング" -#: ../../package-structure-code/python-package-build-tools.md:251 +#: ../../package-structure-code/python-package-build-tools.md:254 msgid "" "PDM has a setuptools_scm like tool built into it which allows you to use " "dynamic versioning that rely on git tags." msgstr "PDMには setuptools_scm のようなツールが組み込まれており、gitタグに依存したダイナミックバージョニングを使うことができます。" -#: ../../package-structure-code/python-package-build-tools.md:251 +#: ../../package-structure-code/python-package-build-tools.md:254 msgid "" "PDM supports you bumping the version of your package using standard " "semantic version terms patch; minor; major" @@ -3876,48 +3869,48 @@ msgstr "" "PDMは、標準的なセマンティックバージョニングである patch; minor; major " "を使って、パッケージのバージョンをバンプすることをサポートしています。" -#: ../../package-structure-code/python-package-build-tools.md:251 -#: ../../package-structure-code/python-package-build-tools.md:304 -#: ../../package-structure-code/python-package-build-tools.md:348 -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:254 +#: ../../package-structure-code/python-package-build-tools.md:307 +#: ../../package-structure-code/python-package-build-tools.md:353 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "Follows current packaging standards" msgstr "現行のパッケージング基準に従う" -#: ../../package-structure-code/python-package-build-tools.md:251 +#: ../../package-structure-code/python-package-build-tools.md:254 msgid "" "PDM supports current packaging standards for adding metadata to the " "**pyproject.toml** file." msgstr "PDMは **pyproject.toml** ファイルにメタデータを追加するための現在のパッケージング標準をサポートしています。" -#: ../../package-structure-code/python-package-build-tools.md:251 -#: ../../package-structure-code/python-package-build-tools.md:304 -#: ../../package-structure-code/python-package-build-tools.md:348 -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:254 +#: ../../package-structure-code/python-package-build-tools.md:307 +#: ../../package-structure-code/python-package-build-tools.md:353 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "Install your package in editable mode" msgstr "編集可能モードでパッケージをインストールする" -#: ../../package-structure-code/python-package-build-tools.md:251 +#: ../../package-structure-code/python-package-build-tools.md:254 msgid "PDM supports installing your package in editable mode." msgstr "PDMは編集可能モードでのパッケージのインストールをサポートしています。" -#: ../../package-structure-code/python-package-build-tools.md:251 -#: ../../package-structure-code/python-package-build-tools.md:304 -#: ../../package-structure-code/python-package-build-tools.md:348 -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:254 +#: ../../package-structure-code/python-package-build-tools.md:307 +#: ../../package-structure-code/python-package-build-tools.md:353 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "Build your sdist and wheel distributions" msgstr "sdistとwheelディストリビューションの構築" -#: ../../package-structure-code/python-package-build-tools.md:251 +#: ../../package-structure-code/python-package-build-tools.md:254 msgid "" "Similar to all of the other tools PDM builds your packages sdist and " "wheel files for you." msgstr "他のツール同様、PDMはパッケージのsdistとwheelファイルをビルドしてくれます。" -#: ../../package-structure-code/python-package-build-tools.md:264 +#: ../../package-structure-code/python-package-build-tools.md:267 msgid "PDM vs. Poetry" msgstr "PDM vs. Poetry" -#: ../../package-structure-code/python-package-build-tools.md:265 +#: ../../package-structure-code/python-package-build-tools.md:268 msgid "" "The functionality of PDM is similar to Poetry. However, PDM also offers " "additional, documented support for C extensions and version control based" @@ -3927,13 +3920,13 @@ msgstr "" "PDMの機能はPoetryに似ています。 しかし、PDMはC拡張やバージョン管理ベースのバージョニングを文書でサポートしています。 " "そのため、純粋なPython以外のパッケージで作業する場合は、PDMを使うことをお勧めします。" -#: ../../package-structure-code/python-package-build-tools.md:269 +#: ../../package-structure-code/python-package-build-tools.md:272 msgid "" "If you are deciding between the Poetry and PDM, a smaller difference is " "the default way that dependencies are added to your pyproject.toml file." msgstr "もしあなたがPoetryとPDMのどちらを選ぶか決めているのであれば、より小さな違いは依存関係をpyproject.tomlファイルに追加するデフォルトの方法です。" -#: ../../package-structure-code/python-package-build-tools.md:271 +#: ../../package-structure-code/python-package-build-tools.md:274 msgid "" "Poetry by default follows strict semantic versioning adding dependencies " "to your pyproject.toml file [using an upper bounds constraint " @@ -3956,7 +3949,7 @@ msgstr "" "(すなわち、アッパーバウンドロックとは、リクエスト2.0が出たとしてもインストールされることはなく、あなたのパッケージはその恩恵を受けることができるということです)" " 。" -#: ../../package-structure-code/python-package-build-tools.md:272 +#: ../../package-structure-code/python-package-build-tools.md:275 msgid "" "PDM defaults to open-bounds (`>=`) dependency additions which is the " "preferred approach in the scientific python ecosystem. However, PDM also " @@ -3968,23 +3961,23 @@ msgstr "" "しかし、PDMではデフォルトで依存関係を追加する方法を指定することもできます。 そのため、その方法が必要であれば、PDMを使用して上限 (`^`)" " を指定することもできます。" -#: ../../package-structure-code/python-package-build-tools.md:274 +#: ../../package-structure-code/python-package-build-tools.md:277 msgid "" "Finally there are some nuanced differences in how both tools create lock " "files which we will not go into detail about here." msgstr "最後に、両ツールのロックファイルの作成方法には微妙な違いがありますが、ここでは詳しく説明しません。" -#: ../../package-structure-code/python-package-build-tools.md:277 +#: ../../package-structure-code/python-package-build-tools.md:280 msgid "Challenges with PDM" msgstr "PDMの課題" -#: ../../package-structure-code/python-package-build-tools.md:279 +#: ../../package-structure-code/python-package-build-tools.md:282 msgid "" "PDM is a full-featured packaging tool. However it is not without " "challenges:" msgstr "PDMはフル機能のパッケージングツールです。しかし、課題がないわけではありません:" -#: ../../package-structure-code/python-package-build-tools.md:281 +#: ../../package-structure-code/python-package-build-tools.md:284 msgid "" "Its documentation can be confusing, especially if you are new to " "packaging. For example, PDM doesn't provide an end to end beginning " @@ -3993,7 +3986,7 @@ msgstr "" "PDMのドキュメントは、特に初めてパッケージングを行う場合、混乱する可能性があります。 " "例えば、PDMのドキュメントには、最初から最後までのワークフローが記載されていません。" -#: ../../package-structure-code/python-package-build-tools.md:283 +#: ../../package-structure-code/python-package-build-tools.md:286 msgid "" "PDM also only has one maintainer currently. We consider individual " "maintainer teams to be a potential risk. If the maintainer finds they no " @@ -4004,7 +3997,7 @@ msgstr "" "もしメンテナがプロジェクトに取り組む時間がなくなったら、ユーザーにはサポートのギャップが残ります。 " "HatchとFlitにも、一人のメンテナチームがあります。" -#: ../../package-structure-code/python-package-build-tools.md:288 +#: ../../package-structure-code/python-package-build-tools.md:291 msgid "" "[You can view an example of a package that uses PDM " "here](https://github.com/pyOpenSci/examplePy/tree/main/example4_pdm). The" @@ -4014,7 +4007,7 @@ msgstr "" "[PDMを使用したパッケージの例はこちらからご覧いただけます](https://github.com/pyOpenSci/examplePy/tree/main/example4_pdm)" " 。 このREADMEファイルでは、PDMコマンドラインインターフェイスを使用する際にどのように見えるかの概要を直接説明しています。" -#: ../../package-structure-code/python-package-build-tools.md:293 +#: ../../package-structure-code/python-package-build-tools.md:296 msgid "" "[Flit is a no-frills, streamlined packaging " "tool](https://flit.pypa.io/en/stable/) that supports modern Python " @@ -4027,45 +4020,46 @@ msgstr "" " です。 Flitは、ローカル・ワークフローで使用する基本的なパッケージを構築し、高度な機能を必要としない場合に最適な選択です。 " "また、パッケージ構造がすでに作成されている場合。 詳しくは後述します。" -#: ../../package-structure-code/python-package-build-tools.md:297 -msgid "Flit Features" +#: ../../package-structure-code/python-package-build-tools.md:300 +#, fuzzy +msgid "Flit features" msgstr "Flitの特徴" -#: ../../package-structure-code/python-package-build-tools.md:304 -#: ../../package-structure-code/python-package-build-tools.md:348 -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:307 +#: ../../package-structure-code/python-package-build-tools.md:353 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "Publish to PyPI and test PyPI" msgstr "PyPIとtest PyPIに公開する" -#: ../../package-structure-code/python-package-build-tools.md:304 +#: ../../package-structure-code/python-package-build-tools.md:307 msgid "Flit supports publishing to both test PyPI and PyPI" msgstr "Flit は test PyPI と PyPI の両方への公開をサポートしています" -#: ../../package-structure-code/python-package-build-tools.md:304 +#: ../../package-structure-code/python-package-build-tools.md:307 msgid "Helps you add metadata to your **pyproject.toml** file" msgstr "**pyproject.toml** ファイルにメタデータを追加するのに役立ちます。" -#: ../../package-structure-code/python-package-build-tools.md:304 +#: ../../package-structure-code/python-package-build-tools.md:307 msgid "" "Flit does support adding metadata to your **pyproject.toml** file " "following modern packaging standards." msgstr "Flitは **pyproject.toml** ファイルにメタデータを追加することをサポートしています。" -#: ../../package-structure-code/python-package-build-tools.md:304 +#: ../../package-structure-code/python-package-build-tools.md:307 msgid "" "Flit supports current packaging standards for adding metadata to the " "**pyproject.toml** file." msgstr "Flitは、 **pyproject.toml** ファイルにメタデータを追加する現在のパッケージング標準をサポートしています。" -#: ../../package-structure-code/python-package-build-tools.md:304 +#: ../../package-structure-code/python-package-build-tools.md:307 msgid "Flit supports installing your package in editable mode.**" msgstr "Flitは編集可能モードでのパッケージのインストールをサポートしています。**" -#: ../../package-structure-code/python-package-build-tools.md:304 +#: ../../package-structure-code/python-package-build-tools.md:307 msgid "Flit can be used to build your packages sdist and wheel distributions." msgstr "Flitはsdistとwheelのディストリビューションパッケージのビルドに使用できます。" -#: ../../package-structure-code/python-package-build-tools.md:311 +#: ../../package-structure-code/python-package-build-tools.md:314 msgid "" "NOTE: _If you are using the most current version of pip, it supports both" " a symlink approach `flit install -s` and `python -m pip install -e .`_" @@ -4073,19 +4067,19 @@ msgstr "" "注: _最新バージョンのpipを使用している場合、シンボリックリンクを使った `flit install -s` と `python -m pip" " install -e .`_ の両方をサポートしています。" -#: ../../package-structure-code/python-package-build-tools.md:313 +#: ../../package-structure-code/python-package-build-tools.md:316 msgid "Learn more about flit" msgstr "flitについてもっと知る" -#: ../../package-structure-code/python-package-build-tools.md:314 +#: ../../package-structure-code/python-package-build-tools.md:318 msgid "[Why use flit?](https://flit.pypa.io/en/stable/rationale.html)" msgstr "[なぜflitを使うのか?](https://flit.pypa.io/en/stable/rationale.html)" -#: ../../package-structure-code/python-package-build-tools.md:317 +#: ../../package-structure-code/python-package-build-tools.md:321 msgid "Why you might not want to use Flit" msgstr "Flitを使いたくない理由" -#: ../../package-structure-code/python-package-build-tools.md:319 +#: ../../package-structure-code/python-package-build-tools.md:323 msgid "" "Because Flit is no frills, it is best for basic, quick builds. If you are" " a beginner you may want to select Hatch or PDM which will offer you more" @@ -4094,31 +4088,31 @@ msgstr "" "Flitは飾り気がないので、基本的で素早いビルドに最適です。 " "初心者の方は、一般的な操作をよりサポートしてくれるHatchやPDMを選ぶとよいでしょう。" -#: ../../package-structure-code/python-package-build-tools.md:323 +#: ../../package-structure-code/python-package-build-tools.md:327 msgid "You may NOT want to use flit if:" msgstr "次のような場合は、flitを使用しない方がよいです:" -#: ../../package-structure-code/python-package-build-tools.md:325 +#: ../../package-structure-code/python-package-build-tools.md:329 msgid "" "You want to setup more advanced version tracking and management (using " "version control for version bumping)" msgstr "より高度なバージョン追跡と管理をセットアップしたい場合 (バージョン管理を使ってバージョンバンプを行う)" -#: ../../package-structure-code/python-package-build-tools.md:326 +#: ../../package-structure-code/python-package-build-tools.md:330 msgid "" "You want a tool that handles dependency versions (use PDM or Poetry " "instead)" msgstr "依存性のあるバージョンを処理するツールが必要(代わりにPDMやPoetryを使用する)" -#: ../../package-structure-code/python-package-build-tools.md:327 +#: ../../package-structure-code/python-package-build-tools.md:331 msgid "You have a project that is not pure Python (Use Hatch, PDM or setuptools)" msgstr "純粋なPythonではないプロジェクトを持っている(Hatch、PDM、またはsetuptoolsを使用する)" -#: ../../package-structure-code/python-package-build-tools.md:328 +#: ../../package-structure-code/python-package-build-tools.md:332 msgid "You want environment management (use PDM, Hatch or Poetry)" msgstr "環境を管理したい(PDM、Hatch、またはPoetryを使用する)" -#: ../../package-structure-code/python-package-build-tools.md:333 +#: ../../package-structure-code/python-package-build-tools.md:338 msgid "" "[**Hatch**](https://hatch.pypa.io/latest/), similar to Poetry and PDM, " "provides a unified command line interface. To separate Hatch from Poetry " @@ -4135,17 +4129,17 @@ msgstr "" " つまり、ワークフローから **Make** や **Nox** " "のようなツールを削除して、代わりにHatchを使うことができる可能性があるということだ。" -#: ../../package-structure-code/python-package-build-tools.md:340 +#: ../../package-structure-code/python-package-build-tools.md:345 msgid "Hatch features" msgstr "Hatchの特徴" -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "" "Hatch is used with the backend Hatchling by default, but allows you to " "use another backend by switching the declaration in pyproject.toml." msgstr "HatchはデフォルトでHatchlingバックエンドと一緒に使われますが、pyproject.tomlの宣言を切り替えることで別のバックエンドを使うことができます。" -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "" "Currently you have to add dependencies manually with Hatch. However a " "feature to support dependencies management may be added in a future " @@ -4154,7 +4148,7 @@ msgstr "" "現在のところ、Hatchを使って手動で依存関係を追加する必要があります。 " "しかし、依存関係の管理をサポートする機能が将来のリリースで追加されるかもしれません。" -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "" "Hatch supports Python virtual environments. If you wish to use other " "types of environments such as Conda, you will need to [install a plugin " @@ -4165,11 +4159,11 @@ msgstr "" "condaのようなプラグインをインストールする](https://github.com/OldGrumpyViking/hatch-conda) " "必要があります。" -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "Hatch supports publishing to both test PyPI and PyPI" msgstr "Hatch は test PyPI と PyPI の両方への公開をサポートしています" -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "" "Hatch offers `hatch_vcs` which is a plugin that uses setuptools_scm to " "support versioning using git tags. The workflow with `hatch_vcs` is the " @@ -4179,7 +4173,7 @@ msgstr "" "タグを使ったバージョン管理をサポートするプラグインです。 hatch_vcs` を使ったワークフローは `setuptools_scm` " "を使ったワークフローと同じです。" -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "" "Hatch supports you bumping the version of your package using standard " "semantic version terms patch; minor; major" @@ -4187,13 +4181,13 @@ msgstr "" "Hatchは、標準的なセマンティックバージョニングである patch; minor; major " "を使って、パッケージのバージョンをバンプすることをサポートしています。" -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "" "Hatch supports current packaging standards for adding metadata to the " "**pyproject.toml** file." msgstr "Hatchは、 **pyproject.toml** ファイルにメタデータを追加する現在のパッケージング標準をサポートしています。" -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "" "Hatch will install your package into any of its environments by default " "in editable mode. You can install your package in editable mode manually " @@ -4206,15 +4200,15 @@ msgstr "" "installs](https://hatch.pypa.io/latest/config/build/#dev-mode) " "に言及していますが、ドキュメントではpipを参照しています。" -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "Hatch will build the sdist and wheel distributions" msgstr "Hatchはsdistとホイールのディストリビューションを構築します" -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "✨Matrix environment creation to support testing across Python versions✨" msgstr "✨Pythonのバージョンをまたいだテストをサポートするためのマトリックス環境の構築✨" -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "" "The matrix environment creation is a feature that is unique to Hatch in " "the packaging ecosystem. This feature is useful if you wish to test your " @@ -4224,7 +4218,7 @@ msgstr "" "マトリックス環境の作成は、パッケージングエコシステムにおける Hatch 独自の機能です。 この機能は、(tox " "のようなツールを使う代わりに)Python のバージョンにまたがってパッケージをローカルでテストしたい場合に便利です。" -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "" "✨[Nox / MAKEFILE like " "functionality](https://hatch.pypa.io/latest/environment/#selection)✨" @@ -4232,7 +4226,7 @@ msgstr "" "✨[Nox / " "MAKEFILEのような機能性](https://hatch.pypa.io/latest/environment/#selection)✨" -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "" "This feature is also unique to Hatch. This functionality allows you to " "create workflows in the **pyproject.toml** configuration to do things " @@ -4242,18 +4236,18 @@ msgstr "" "これもHatchならではの特徴だ。この機能により、**pyproject.toml** " "設定にワークフローを作成し、ドキュメントをローカルに提供したり、パッケージのビルドディレクトリをクリーニングしたりすることができます。これは、ビルドワークフローのツールが1つ減ることを意味します。" -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "✨A flexible build backend: **hatchling**✨" msgstr "✨柔軟なビルドバックエンド: **hatchling**✨" -#: ../../package-structure-code/python-package-build-tools.md:348 +#: ../../package-structure-code/python-package-build-tools.md:353 msgid "" "**The hatchling build backend offered by the maintainer of Hatch allows " "developers to easily build plugins to support custom build steps when " "packaging." msgstr "**Hatchのメンテナが提供するhatchlingビルドバックエンドは、開発者がパッケージング時にカスタムビルドステップをサポートするプラグインを簡単にビルドすることを可能にします。" -#: ../../package-structure-code/python-package-build-tools.md:362 +#: ../../package-structure-code/python-package-build-tools.md:367 msgid "" "_There is some argument about this approach placing a burden on " "maintainers to create a custom build system. But others appreciate the " @@ -4263,37 +4257,37 @@ msgstr "" "_このアプローチは、メンテナにカスタムビルドシステムを作る負担を強いるという議論があリマス。 しかし、柔軟性を高く評価する人もいます。 " "ハッチのビルドフックアプローチは、PDMが提供する機能にも匹敵します。_" -#: ../../package-structure-code/python-package-build-tools.md:364 +#: ../../package-structure-code/python-package-build-tools.md:369 msgid "Why you might not want to use Hatch" msgstr "ハッチを使いたくない理由" -#: ../../package-structure-code/python-package-build-tools.md:366 +#: ../../package-structure-code/python-package-build-tools.md:371 msgid "" "There are a few features that hatch is missing that may be important for " "some. These include:" msgstr "hatchには、一部の人にとって重要かもしれないいくつかの機能が欠けています。 それは以下のようなものです:" -#: ../../package-structure-code/python-package-build-tools.md:369 +#: ../../package-structure-code/python-package-build-tools.md:374 msgid "" "Hatch doesn't support adding dependencies. You will have to add them " "manually." msgstr "Hatchは依存関係の追加をサポートしていません。 手動で追加する必要があります。" -#: ../../package-structure-code/python-package-build-tools.md:370 +#: ../../package-structure-code/python-package-build-tools.md:375 msgid "Hatch won't by default recognize Conda environments without a plugin." msgstr "HatchはプラグインなしではデフォルトでConda環境を認識しません。" -#: ../../package-structure-code/python-package-build-tools.md:371 +#: ../../package-structure-code/python-package-build-tools.md:376 msgid "" "Similar to PDM, Hatch's documentation can difficult to work through, " "particularly if you are just getting started with creating a package." msgstr "PDMと同様、Hatchのドキュメントを読みこなすのは難しいです。 特にパッケージの作成を始めたばかりであればなおさらです。" -#: ../../package-structure-code/python-package-build-tools.md:372 +#: ../../package-structure-code/python-package-build-tools.md:377 msgid "Hatch, similar to PDM and Flit currently only has one maintainer." msgstr "Hatchは、PDMやFlitと同様、現在1人のメンテナしかいません。" -#: ../../package-structure-code/python-package-build-tools.md:376 +#: ../../package-structure-code/python-package-build-tools.md:382 msgid "" "[Poetry is a full-featured build tool.](https://python-poetry.org/) It is" " also the second most popular front-end packaging tool (based upon the " @@ -4304,7 +4298,7 @@ msgstr "" "また、(PyPAの調査に基づく)2番目に人気のあるフロントエンドパッケージングツールでもあります。 Poetry " "はユーザーフレンドリーで、きれいで読みやすいドキュメントを持っています。" -#: ../../package-structure-code/python-package-build-tools.md:381 +#: ../../package-structure-code/python-package-build-tools.md:387 msgid "" "While some have used Poetry for Python builds with C/C++ extensions, this" " support is currently undocumented. Thus, we don't recommend using Poetry" @@ -4313,20 +4307,20 @@ msgstr "" "C/C++ 拡張を含む Python のビルドに Poetry を使っている人もいますが、このサポートは現在のところ文書化されていません。 " "したがって、より複雑なビルドに Poetry を使うことはお勧めしません。" -#: ../../package-structure-code/python-package-build-tools.md:385 +#: ../../package-structure-code/python-package-build-tools.md:391 msgid "Poetry features" msgstr "Poetryの特徴" -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:398 #, fuzzy msgid "Poetry helps you add dependencies to your `pyproject.toml` metadata." msgstr "pyproject.tomlファイルに依存関係を追加" -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "Dependency specification" msgstr "依存仕様" -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "" "Poetry allows you to be specific about version of dependencies that you " "add to your package's pyproject.toml file. However, it's default upper " @@ -4338,7 +4332,7 @@ msgstr "" "しかし、デフォルトの上限アプローチはパッケージによっては問題があります(依存関係を追加するときはデフォルトの設定を上書きすることをお勧めします)。" " 詳しくは以下をお読みください。" -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "" "Poetry allows you to either use its built in environment or you can " "select the environment type that you want to use for managing your " @@ -4350,21 +4344,21 @@ msgstr "" "[内蔵された環境管理オプションについての詳細はこちら](https://python-poetry.org/docs/basic-usage" "/#using-your-virtual-environment) 。" -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "Lock files" msgstr "ファイルのロック" -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "" "Poetry creates a **poetry.lock** file that you can use if you need a lock" " file for your build." msgstr "Poetryは **poetry.lock** ファイルを作成するので、ビルドにロックファイルが必要な場合に使用します。" -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "Poetry supports publishing to both test PyPI and PyPI" msgstr "Poetry は test PyPI と PyPI の両方への公開をサポートしています" -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "" "The plugin [Poetry dynamic versioning](https://github.com/mtkennerly" "/poetry-dynamic-versioning) supports versioning using git tags with " @@ -4373,7 +4367,7 @@ msgstr "" "[Poetry dynamic versioning](https://github.com/mtkennerly/poetry-dynamic-" "versioning) プラグインは、Poetryでgitタグを使ったバージョン管理をサポートします。" -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "" "Poetry supports you bumping the version of your package using standard " "semantic version terms patch; minor; major" @@ -4381,31 +4375,31 @@ msgstr "" "Poetryでは、標準的なセマンティックバージョン用語である patch; minor; major " "を使ってパッケージのバージョンを上げることができます。" -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "" "Since version 2.0, Poetry supports most current project metadata " "standards. However, not all standards are supported, and it also supports" " the legacy Poetry format. Read below for more." msgstr "" -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:398 #, fuzzy msgid "Poetry supports installing your package in editable mode." msgstr "PDMは編集可能モードでのパッケージのインストールをサポートしています。" -#: ../../package-structure-code/python-package-build-tools.md:392 +#: ../../package-structure-code/python-package-build-tools.md:398 msgid "Poetry will build your sdist and wheel distributions using `poetry build`" msgstr "Poetry は `poetry build` を使って sdist と wheel ディストリビューションをビルドします。" -#: ../../package-structure-code/python-package-build-tools.md:407 +#: ../../package-structure-code/python-package-build-tools.md:413 msgid "Challenges with Poetry" msgstr "Poetryの課題" -#: ../../package-structure-code/python-package-build-tools.md:409 +#: ../../package-structure-code/python-package-build-tools.md:415 msgid "Some challenges of Poetry include:" msgstr "Poetryの課題には次のようなものがある:" -#: ../../package-structure-code/python-package-build-tools.md:411 +#: ../../package-structure-code/python-package-build-tools.md:417 msgid "" "Poetry has its own concept of grouped dependencies (`poetry add " "--group=GROUP_NAME DEPENDENCY`). Dependencies added as grouped " @@ -4416,7 +4410,7 @@ msgid "" "groups." msgstr "" -#: ../../package-structure-code/python-package-build-tools.md:412 +#: ../../package-structure-code/python-package-build-tools.md:418 msgid "" "While Poetry supports \"development\" dependencies (i.e. dependencies you" " use for development but not running the code, such as `pytest`), Poetry " @@ -4424,7 +4418,7 @@ msgid "" "dependencies." msgstr "" -#: ../../package-structure-code/python-package-build-tools.md:413 +#: ../../package-structure-code/python-package-build-tools.md:419 #, fuzzy msgid "" "Poetry, by default, pins dependencies using an \"upper bound\" limit " @@ -4437,7 +4431,7 @@ msgstr "" " add` を使うときに依存関係を以下のように指定することで上書きすることができます: `poetry add " "\"requests>=2.1\"` アッパーバウンドピニングをめぐる問題については、以下のブレイクアウトを参照のしてください。" -#: ../../package-structure-code/python-package-build-tools.md:415 +#: ../../package-structure-code/python-package-build-tools.md:421 #, fuzzy msgid "" "Poetry is a popular packaging tool and introduced many very useful " @@ -4450,11 +4444,11 @@ msgstr "" "の固定方法は、多くのビルドで問題になる可能性があります。 Poetry " "を使用する場合は、デフォルトの上限依存性オプションをオーバーライドすることを強く推奨します。" -#: ../../package-structure-code/python-package-build-tools.md:420 +#: ../../package-structure-code/python-package-build-tools.md:426 msgid "Challenges with Poetry dependency pinning" msgstr "Poetry依存のピン留めの課題" -#: ../../package-structure-code/python-package-build-tools.md:423 +#: ../../package-structure-code/python-package-build-tools.md:429 msgid "" "By default, Poetry pins dependencies using `^` by default. This `^` " "symbol means that there is an \"upper bound\" to the dependency. Thus " @@ -4468,7 +4462,7 @@ msgstr "" "したがって、あなたのパッケージがバージョン1.2.3の依存関係を使用している場合、Poetryは、パッケージの新しいメジャーバージョンがあっても、依存関係を2.0にバンプすることはありません。" " Poetryは代わりに1.9.xにアップグレードします。" -#: ../../package-structure-code/python-package-build-tools.md:429 +#: ../../package-structure-code/python-package-build-tools.md:435 msgid "" "Poetry does this because it adheres to strict semantic versioning which " "states that a major version bump (from 1.0 to 2.0 for example) means " @@ -4482,18 +4476,19 @@ msgstr "" "[このアプローチは、私たちのコアとなる科学パッケージの多くによって問題があることが判明しています](https://iscinumpy.dev/post" "/bound-version-constraints/)" -#: ../../package-structure-code/python-package-build-tools.md:434 +#: ../../package-structure-code/python-package-build-tools.md:440 msgid "" "This approach also won't support others ways of versioning tools, for " "instance, some tools use [calver](https://calver.org/) which creates new " "versions based on the date." msgstr "例えば、 [calver](https://calver.org/) を使って、日付に基づいて新しいバージョンを作成するツールもある。" -#: ../../package-structure-code/python-package-build-tools.md:438 -msgid "Using Setuptools Back-end for Python Packaging with Build Front-end" +#: ../../package-structure-code/python-package-build-tools.md:445 +#, fuzzy +msgid "Using Setuptools back-end for Python packaging with Build front-end" msgstr "PythonパッケージングのためのSetuptoolsバックエンドとBuildフロントエンドの使用" -#: ../../package-structure-code/python-package-build-tools.md:440 +#: ../../package-structure-code/python-package-build-tools.md:447 msgid "" "[Setuptools](https://setuptools.pypa.io/en/latest/) is the most mature " "Python packaging build tool with [development dating back to 2009 and " @@ -4508,58 +4503,59 @@ msgstr "" "Setuptoolsは、Flit、Poetry、Hatchのようなユーザーフロントエンドを提供していません。そのため、パッケージの配布を作成するには" " **build** を、PyPI に公開するには **twine** などの他のツールを使用する必要があります。" -#: ../../package-structure-code/python-package-build-tools.md:448 +#: ../../package-structure-code/python-package-build-tools.md:455 msgid "" "While setuptools is the most commonly used tool, we encourage package " "maintainers to consider using a more modern tool for packaging such as " "Poetry, Hatch or PDM." msgstr "setuptoolsは最もよく使われるツールですが、パッケージメンテナには、PoetryやHatch、PDMなど、パッケージングにもっとモダンなツールを使うことを検討することをお勧めします。" -#: ../../package-structure-code/python-package-build-tools.md:451 +#: ../../package-structure-code/python-package-build-tools.md:458 msgid "" "We discuss setuptools here because it's commonly found in the ecosystem " "and contributors may benefit from understanding it." msgstr "ここでsetuptoolsについて説明するのは、それがエコシステムでよく見られるものであり、貢献者がそれを理解することで恩恵を受けるかもしれないからです。" -#: ../../package-structure-code/python-package-build-tools.md:454 -msgid "Setuptools Features" +#: ../../package-structure-code/python-package-build-tools.md:461 +#, fuzzy +msgid "Setuptools features" msgstr "Setuptoolsの特徴" -#: ../../package-structure-code/python-package-build-tools.md:456 +#: ../../package-structure-code/python-package-build-tools.md:463 msgid "Some of features of setuptools include:" msgstr "setuptoolsの機能には次のようなものがあります:" -#: ../../package-structure-code/python-package-build-tools.md:458 +#: ../../package-structure-code/python-package-build-tools.md:465 msgid "Fully customizable build workflow" msgstr "完全にカスタマイズ可能なビルドワークフロー" -#: ../../package-structure-code/python-package-build-tools.md:459 +#: ../../package-structure-code/python-package-build-tools.md:466 msgid "Many scientific Python packages use it." msgstr "多くの科学的Pythonパッケージがこれを使用しています。" -#: ../../package-structure-code/python-package-build-tools.md:460 +#: ../../package-structure-code/python-package-build-tools.md:467 msgid "" "It offers version control based package versioning using " "**setuptools_scm**" msgstr "**setuptools_scm** を使用したバージョン管理ベースのパッケージのバージョン管理を提供します。" -#: ../../package-structure-code/python-package-build-tools.md:461 +#: ../../package-structure-code/python-package-build-tools.md:468 msgid "It supports modern packaging using **pyproject.toml** for metadata" msgstr "メタデータに **pyproject.toml** を使用した最新のパッケージングをサポートしています。" -#: ../../package-structure-code/python-package-build-tools.md:462 +#: ../../package-structure-code/python-package-build-tools.md:469 msgid "Supports backwards compatibly for older packaging approaches." msgstr "古いパッケージングアプローチの下位互換性をサポートします。" -#: ../../package-structure-code/python-package-build-tools.md:464 +#: ../../package-structure-code/python-package-build-tools.md:471 msgid "Challenges using setuptools" msgstr "setuptoolsの課題" -#: ../../package-structure-code/python-package-build-tools.md:468 +#: ../../package-structure-code/python-package-build-tools.md:475 msgid "Setuptools has a few challenges:" msgstr "Setuptoolsにはいくつかの課題があります:" -#: ../../package-structure-code/python-package-build-tools.md:470 +#: ../../package-structure-code/python-package-build-tools.md:477 msgid "" "Setuptools does not support interactive features such as auto / tab " "completion by default if you are working in an IDE like VSCODE and using " @@ -4576,7 +4572,7 @@ msgstr "" "。 " "それに比べて、flit、hatch、PDMのようなツールは、VSCODEやpycharmのようなIDE(pipのバージョンが最新である限り!)を使っているときに、タブや自動補完のようなインタラクティブな機能をサポートしています。" -#: ../../package-structure-code/python-package-build-tools.md:471 +#: ../../package-structure-code/python-package-build-tools.md:478 msgid "" "Because **setuptools** has to maintain backwards compatibility across a " "range of packages, it is not as flexible in its adoption of modern Python" @@ -4585,25 +4581,25 @@ msgstr "" "**setuptools** " "は様々なパッケージの後方互換性を維持しなければならないため、最新のPythonパッケージング標準を採用する柔軟性がありません。" -#: ../../package-structure-code/python-package-build-tools.md:474 +#: ../../package-structure-code/python-package-build-tools.md:481 msgid "" "The above-mentioned backwards compatibility makes for a more complex " "code-base." msgstr "上記の後方互換性は、より複雑なコードベースとなります。" -#: ../../package-structure-code/python-package-build-tools.md:475 +#: ../../package-structure-code/python-package-build-tools.md:482 msgid "" "Your experience as a user will be less streamlined and simple using " "setuptools compared to other tools discussed on this page." msgstr "このページで説明する他のツールに比べ、setuptoolsを使用した場合、ユーザーとしての体験は合理的でシンプルなものではなくなります。" -#: ../../package-structure-code/python-package-build-tools.md:477 +#: ../../package-structure-code/python-package-build-tools.md:484 msgid "" "There are also some problematic default settings that users should be " "aware of when using setuptools. For instance:" msgstr "また、setuptoolsを使用する際にユーザーが注意すべき、問題のあるデフォルト設定がいくつかあります。 例えば:" -#: ../../package-structure-code/python-package-build-tools.md:480 +#: ../../package-structure-code/python-package-build-tools.md:487 msgid "" "setuptools will build a project without a name or version if you are not " "using a **pyproject.toml** file to store metadata." @@ -4611,7 +4607,7 @@ msgstr "" "メタデータを保存するために **pyproject.toml** " "ファイルを使用していない場合、setuptoolsは名前やバージョンなしでプロジェクトをビルドします。" -#: ../../package-structure-code/python-package-build-tools.md:482 +#: ../../package-structure-code/python-package-build-tools.md:489 msgid "" "setuptools also will include all of the files in your package repository " "if you do not explicitly tell it to exclude files using a **MANIFEST.in**" @@ -4745,20 +4741,21 @@ msgstr "" " 例えば:" #: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:56 +#, fuzzy msgid "" "The `classifiers = ` section of your `[project]` table in the " "pyproject.toml file provides information that users on PyPI can use to " -"filter for packages that contain specific licenses or that support " +"filter for packages that address different topics or that support " "specific versions of python." msgstr "" "pyproject.tomlファイルの `[project]` テーブルの `classifiers = ` " "セクションは、PyPIのユーザが特定のライセンスを含むパッケージや特定のバージョンのpythonをサポートするパッケージをフィルタリングするための情報を提供します。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:73 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:72 msgid "What happened to setup.py and setup.cfg for metadata?" msgstr "メタデータのsetup.pyとsetup.cfgはどうなったのですか?" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:76 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:75 msgid "" "Project metadata used to be stored in either a setup.py file or a " "setup.cfg file. The current recommended practice for storing package " @@ -4770,11 +4767,11 @@ msgstr "" " [pyproject.tomlファイルについての詳細はこちらです。](pyproject-toml-python-package-" "metadata)" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:79 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:78 msgid "An example - xclim" msgstr "例 - xclim" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:81 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:80 msgid "" "When you publish to PyPI, you will notice that each package has metadata " "listed. Let's have a look at [xclim](https://pypi.org/project/xclim/), " @@ -4795,7 +4792,7 @@ msgstr "" "file](https://github.com/Ouranosinc/xclim/blob/master/pyproject.toml) " "によって正しい構文と分類子を用いて定義されたメタデータを入力することができます。xclimパッケージがビルドされるとき、このメタデータは配布ファイルに変換され、PyPIがメタデータを読み込んでウェブサイトに出力できるようになります。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:94 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:93 msgid "" "Graphic showing the high level packaging workflow. On the left you see a " "graphic with code, metadata and tests in it. Those items all go into your" @@ -4809,7 +4806,7 @@ msgstr "" "ハイレベルなパッケージングのワークフローを示すグラフィックです。左側には、コード、メタデータ、テストが入ったグラフィックがあります。ドキュメンテーションやデータは、通常、パッケージホイールの配布物には掲載されないため、そのボックスの下にあります。右の矢印は、ビルド配布ファイルのボックスに移動します。このボックスは、TestPyPIか本物のPyPIのどちらかに公開するように導きます" "。PyPIからconda-forgeに接続し、ディストリビューションをPyPIからconda-forgeに送る自動ビルドを行うことができます。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:96 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:95 msgid "" "You need to build your Python package in order to publish it to PyPI (or " "Conda). The build process organizes your code and metadata into a " @@ -4821,7 +4818,7 @@ msgstr "" "PythonパッケージをPyPI(またはConda)に公開するには、ビルドする必要があります。ビルドプロセスは、あなたのコードとメタデータをPyPIにアップロードできる配布フォーマットに整理し、その後ユーザーがダウンロードしてインストールできるようにします。" " 注意: conda-forgeが適切にパッケージを自動ビルドするためには、sdistをPyPIに公開する必要があります。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:101 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:100 msgid "" "This screenshot shows the metadata on PyPI for the xclim package. On it " "you can see the name of the license, the author and maintainer names " @@ -4829,18 +4826,18 @@ msgid "" "requires which is 3.8." msgstr "このスクリーンショットは、PyPI上のxclimパッケージのメタデータを示しています。そこには、ライセンスの名前、そのパッケージに関連する作者とメンテナの名前のキーワード、そしてそのパッケージが必要とするpythonの基本バージョン3.8が表示されています。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:103 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:102 msgid "PyPI screenshot showing metadata for the xclim package." msgstr "xclimパッケージのメタデータを示すPyPIのスクリーンショット。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:110 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:109 msgid "" "Here you see the maintainer metadata as it is displayed on PyPI. For " "xclim there are three maintainers listed with their profile pictures and " "github user names to the right." msgstr "ここでは、PyPIに表示されているメインテナメタデータを見ることができます。xclimの場合、3人のメンテナがリストアップされており、右側にプロフィール写真とgithubユーザー名が表示されています。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:112 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:111 msgid "" "Maintainer names and GitHub usernames for the xclim package as they are " "displayed on PyPI. This information is recorded in your pyproject.toml " @@ -4850,11 +4847,11 @@ msgstr "" "PyPI に表示されている xclim パッケージのメンテナ名と GitHub ユーザ名。 " "この情報はpyproject.tomlに記録され、ビルドツールで処理され、パッケージのsdistとwheelディストリビューションに保存されます。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:115 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:114 msgid "How to create the distribution format that PyPI and Pip expects?" msgstr "PyPIやPipが期待する配布フォーマットを作るには?" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:117 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:116 msgid "" "You could in theory create your own scripts to organize your code the way" " PyPI wants it to be. However, just like there are packages that handle " @@ -4865,7 +4862,7 @@ msgstr "" "理論的には、PyPIが望むようにコードを整理する独自のスクリプトを作成することができます。 " "しかし、データフレーム用のPandasや配列用のNumpyのような既知の構造を扱うパッケージがあるように、パッケージのビルド配布ファイルの作成を支援するパッケージやツールがあります。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:121 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:120 msgid "" "There are a suite of packaging tools that can either help you with the " "entire packaging process or just one step of the process. For instance " @@ -4877,7 +4874,7 @@ msgstr "" "例えばsetuptoolsはよく使われるビルドバックエンドで、sdistやwheelの作成に使うことができます。 " "一方、Hatch、PDM、Poetry、flitのようなツールは、パッケージングプロセスの他の部分を支援します。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:127 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:126 msgid "" "While this can cause some confusion and complexity in the packaging " "ecosystem - for the most part, each tool provides the same distribution " @@ -4887,7 +4884,7 @@ msgstr "" "これは、パッケージングエコシステムに混乱と複雑さをもたらす可能性がありますが、ほとんどの場合、各ツールは同じ配布出力を提供します(ほとんどのユーザーが気にしないような小さな違いはあります)。" " これらのツールの詳細については、このページを参照してください。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:133 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:132 msgid "" "Below, you will learn about the two distribution files that PyPI expects " "you to publish: sdist and wheel. You will learn about their structure and" @@ -4896,7 +4893,7 @@ msgstr "" "以下では、PyPIが公開することを期待している2つの配布ファイル、sdistとwheelについて学びます。 " "sdistとwheelです。それぞれの構造と、どのようなファイルがあるのかについて学びます。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:136 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:135 msgid "" "There are two core distribution files that you need to create to publish " "your Python package to PyPI source distribution (often called an sdist) " @@ -4908,11 +4905,11 @@ msgstr "" "sdistにはパッケージの生のソースコードが含まれています。 " "wheel(.whl)には、ビルド/コンパイルされたファイルが含まれており、誰のコンピュータにも直接インストールすることができます。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:142 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:141 msgid "Learn more about both distributions below." msgstr "両ディストリビューションの詳細は以下の通りです。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:145 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:144 msgid "" "If your package is a pure python package with no additional build / " "compilation steps then the sdist and wheel distributions will have " @@ -4924,22 +4921,23 @@ msgstr "" " " "しかし、もしあなたのパッケージが他の言語での拡張機能を持っていたり、ビルドがより複雑であったりする場合、2つのディストリビューションは大きく異なるでしょう。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:150 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:149 +#, fuzzy msgid "" "Also note that we are not discussing conda build workflows in this " "section. [You can learn more about conda builds " -"here.](https://conda.io/projects/conda-build/en/latest/user-" +"here.](https://docs.conda.io/projects/conda-build/en/latest/user-" "guide/tutorials/index.html)" msgstr "" "また、このセクションではcondaのビルドワークフローについては触れないことに注意してください。 " "[condaのビルドについてはこちらで詳しく説明しています](https://conda.io/projects/conda-" "build/en/latest/user-guide/tutorials/index.html)" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:155 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:154 msgid "What is a source distribution (sdist)" msgstr "ソースディストリビューションとは (sdist)" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:157 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:156 msgid "" "**Source files** are the unbuilt files needed to build your package. " "These are the \"raw / as-is\" files that you store on GitHub or whatever " @@ -4948,7 +4946,7 @@ msgstr "" "**ソースファイル** は、パッケージをビルドするために必要な、ビルドされていないファイルです。 " "これらは、GitHubやあなたがコードを管理するために使っているプラットフォームに保存する \"raw / as-is\" ファイルです。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:161 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:160 msgid "" "Source Distributions (**S** + **Dist**) are referred to as sdist. As the " "name implies, a SDIST contains the source code; it has not been built or " @@ -4963,7 +4961,7 @@ msgstr "" "したがって、ユーザーがpipを使ってソースディストリビューションをインストールする場合、pipは最初にビルドステップを実行する必要があります。 " "このため、ソース・ディストリビューションを、(プロジェクトの依存関係を除いた)ホイールのビルドに必要なすべてを含む圧縮アーカイブとして、ネットワークアクセスなしで定義することができます。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:165 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:164 msgid "" "Sdist is normally stored as a `.tar.gz` archive (often called a " "\"tarball\"). Thus, when a user installs your source distribution using " @@ -4973,15 +4971,15 @@ msgstr "" "そのため、ユーザーが pip を使用してソースディストリビューションをインストールする場合、pip " "は最初にビルドステップを実行する必要があります。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:167 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:166 msgid "Below is an example sdist for the stravalib Python package:" msgstr "以下はstravalib Pythonパッケージのsdistの例です:" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:219 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:218 msgid "GitHub archive vs sdist" msgstr "GitHubアーカイブとsdistの比較" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:221 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:220 msgid "" "When you make a release on GitHub, it creates a `git archive` that " "contains all of the files in your GitHub repository. While these files " @@ -4994,11 +4992,11 @@ msgstr "" "が作成されます。これらのファイルはsdistと似ているが、これら2つのアーカイブは同じではない。sdistには、メタデータ・ディレクトリーや、 " "`setuptools_scm` や `hatch_vcs` を使う場合はバージョンを保存するファイルなど、他にもいくつかの項目が含まれています。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:229 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:228 msgid "What is a Python wheel (whl):" msgstr "Python wheel (whl)とは何ですか?" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:231 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:230 msgid "" "A wheel file is a ZIP-format archive whose filename follows a specific " "format (below) and has the extension `.whl`. The `.whl` archive contains " @@ -5011,7 +5009,7 @@ msgstr "" "アーカイブには、プロジェクトのpyproject.tomlファイルから生成されたメタデータを含む特定のファイル群が含まれています。 " "pyproject.tomlや、ソース配布物に含まれる可能性のあるその他のファイルは、ビルドされた配布物であるため、wheelには含まれません。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:238 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:237 msgid "" "The wheel (.whl) is your built binary distribution. **Binary files** are " "the built / compiled source files. These files are ready to be installed." @@ -5027,7 +5025,7 @@ msgstr "" "wheelに含まれるファイルはすべてバイナリで、これはコードがすでにコンパイル/ビルドされていることを意味します。 " "wheelの取り付けがより迅速に - 特にビルド・ステップが必要なパッケージの場合はそうなります。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:240 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:239 msgid "" "The wheel does not contain any of your package's configuration files such" " as **setup.cfg** or **pyproject.toml**. This distribution is already " @@ -5036,7 +5034,7 @@ msgstr "" "ホイールには、**setup.cfg** や **pyproject.toml** のようなパッケージの設定ファイルは含まれていません。 " "このディストリビューションはすでにビルドされていますので、すぐにインストールできます。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:244 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:243 msgid "" "Because it is built, the wheel file will be faster to install for pure " "Python projects and can lead to consistent installs across machines." @@ -5044,7 +5042,7 @@ msgstr "" "ビルドされているため、純粋な Python プロジェクトでは wheel " "ファイルのインストールが速くなり、マシン間で一貫したインストールができるようになります。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:252 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:251 msgid "" "Wheels are also useful in the case that a package needs a **setup.py** " "file to support a more complex build. In this case, because the files in " @@ -5054,23 +5052,23 @@ msgstr "" "ウィールは、パッケージがより複雑なビルドをサポートするために **setup.py** ファイルを必要とする場合にも便利です。 " "この場合、wheelバンドルのファイルはあらかじめビルドされているので、インストールするユーザはインストール時に悪意のあるコードインジェクションを心配する必要がありません。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:259 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:258 msgid "The filename of a wheel contains important metadata about your package." msgstr "wheelのファイル名には、パッケージに関する重要なメタデータが含まれています。" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:261 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:260 msgid "Example: **stravalib-1.1.0.post2-py3-none.whl**" msgstr "例: **stravalib-1.1.0.post2-py3-none.whl**" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:263 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:262 msgid "name: stravalib" msgstr "名前: stravalib" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:264 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:263 msgid "version: 1.1.0" msgstr "version: 1.1.0" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:265 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:264 msgid "" "build-number: 2 (post2) [(read more about post " "here)](https://peps.python.org/pep-0440/#post-release-separators)" @@ -5078,29 +5076,30 @@ msgstr "" "ビルド番号: 2 (post2) [(read more about post " "here)](https://peps.python.org/pep-0440/#post-release-separators)" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:266 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:265 msgid "py3: supports Python 3.x" msgstr "py3: Python 3.x をサポート" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:267 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:266 msgid "none: is not operating system specific (runs on windows, mac, linux)" msgstr "none: オペレーティングシステムに依存しない (Windows、Mac、Linuxで動作)" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:268 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:267 msgid "any: runs on any computer processor / architecture" msgstr "any: あらゆるコンピュータ・プロセッサ/アーキテクチャで動作" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:270 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:269 msgid "What a wheel file looks like when unpacked (unzipped):" msgstr "ホイールファイルを解凍 (unzipped) するとどのように見えるか:" -#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:304 +#: ../../package-structure-code/python-package-distribution-files-sdist-wheel.md:303 msgid "[Read more about the wheel format here](https://pythonwheels.com/)" msgstr "[wheelフォーマットについての詳細はこちら](https://pythonwheels.com/)" #: ../../package-structure-code/python-package-structure.md:1 -msgid "Python Package Structure for Scientific Python Projects" -msgstr "科学的PythonプロジェクトのためのPythonパッケージ構造" +#, fuzzy +msgid "Python Package Structure & Layout" +msgstr "Pythonパッケージ構造" #: ../../package-structure-code/python-package-structure.md:3 msgid "" @@ -5148,7 +5147,7 @@ msgstr "" msgid "Other resources you can check out:" msgstr "他のリソースもチェックできます:" -#: ../../package-structure-code/python-package-structure.md:23 +#: ../../package-structure-code/python-package-structure.md:24 msgid "" "[PyPA's overview of src vs flat " "layouts](https://packaging.python.org/en/latest/discussions/src-layout-" @@ -5157,7 +5156,7 @@ msgstr "" "[PyPAによるsrcレイアウトとフラットレイアウトの概要](https://packaging.python.org/en/latest/discussions" "/src-layout-vs-flat-layout/)" -#: ../../package-structure-code/python-package-structure.md:26 +#: ../../package-structure-code/python-package-structure.md:27 msgid "" "You can use tools like Hatch to quickly create a modern Python package " "structure. Check out our quickstart tutorial:" @@ -5171,19 +5170,19 @@ msgid "" "here." msgstr "パッケージを構築するための仕組み作りを学びたいですか? こちらをクリックしてください。" -#: ../../package-structure-code/python-package-structure.md:37 +#: ../../package-structure-code/python-package-structure.md:38 msgid "What is the Python package source layout?" msgstr "Pythonパッケージのソースレイアウトとは何ですか?" -#: ../../package-structure-code/python-package-structure.md:39 +#: ../../package-structure-code/python-package-structure.md:40 msgid "An example of the **src/package** layout structure is below." msgstr "**src/package** のレイアウト構造の例を以下に示します。" -#: ../../package-structure-code/python-package-structure.md:61 +#: ../../package-structure-code/python-package-structure.md:62 msgid "Note the location of the following directories in the example above:" msgstr "上の例では、以下のディレクトリの位置に注意してください:" -#: ../../package-structure-code/python-package-structure.md:63 +#: ../../package-structure-code/python-package-structure.md:64 msgid "" "**docs/:** Discussed in our docs chapter, this directory contains your " "user-facing documentation website. In a **src/** layout docs/ are " @@ -5192,7 +5191,7 @@ msgstr "" "**docs/:** docsの章で説明したように、このディレクトリにはユーザー向けのドキュメントサイトが含まれます。 **src/** " "レイアウトでは、通常 docs/ は **src/** フォルダの同じディレクトリレベルに含まれます。" -#: ../../package-structure-code/python-package-structure.md:64 +#: ../../package-structure-code/python-package-structure.md:65 msgid "" "**tests/** This directory contains the tests for your project code. In a " "**src/** layout, tests are normally included at the same directory level " @@ -5201,7 +5200,7 @@ msgstr "" "**tests/** このディレクトリには、プロジェクトコードのテストが含まれます。 **src/** レイアウトでは、テストは通常 " "**src/** フォルダの同じディレクトリレベルに含まれます。" -#: ../../package-structure-code/python-package-structure.md:65 +#: ../../package-structure-code/python-package-structure.md:66 msgid "" "**src/package/**: this is the directory that contains the code for your " "Python project. \"Package\" is normally your project's name." @@ -5209,7 +5208,7 @@ msgstr "" "**src/package/**: これはPythonプロジェクトのコードを含むディレクトリです。 \"Package\" " "は通常プロジェクトの名前です。" -#: ../../package-structure-code/python-package-structure.md:67 +#: ../../package-structure-code/python-package-structure.md:68 msgid "" "Also in the above example, notice that all of the core documentation " "files that pyOpenSci requires live in the root of your project directory." @@ -5218,152 +5217,65 @@ msgstr "" "また、上記の例では、pyOpenSciが必要とするすべてのコアドキュメントファイルがプロジェクトディレクトリのルートにあることに注意してください。" " これらのファイルには以下が含まれています:" -#: ../../package-structure-code/python-package-structure.md:71 +#: ../../package-structure-code/python-package-structure.md:72 msgid "CHANGELOG.md" msgstr "CHANGELOG.md" -#: ../../package-structure-code/python-package-structure.md:72 +#: ../../package-structure-code/python-package-structure.md:73 msgid "CODE_OF_CONDUCT.md" msgstr "CODE_OF_CONDUCT.md" -#: ../../package-structure-code/python-package-structure.md:73 +#: ../../package-structure-code/python-package-structure.md:74 msgid "CONTRIBUTING.md" msgstr "CONTRIBUTING.md" -#: ../../package-structure-code/python-package-structure.md:74 +#: ../../package-structure-code/python-package-structure.md:75 msgid "LICENSE.txt" msgstr "LICENSE.txt" -#: ../../package-structure-code/python-package-structure.md:75 +#: ../../package-structure-code/python-package-structure.md:76 msgid "README.md" msgstr "README.md" -#: ../../package-structure-code/python-package-structure.md:79 -msgid "Click here to read about our packaging documentation requirements." -msgstr "パッケージングに関するドキュメント要件については、こちらをご覧ください。" - -#: ../../package-structure-code/python-package-structure.md:86 -msgid "Example scientific packages that use **src/package** layout" -msgstr "**src/package** レイアウトを使用する科学的パッケージの例" - -#: ../../package-structure-code/python-package-structure.md:88 -msgid "[Sourmash](https://github.com/sourmash-bio/sourmash)" -msgstr "[Sourmash](https://github.com/sourmash-bio/sourmash)" - -#: ../../package-structure-code/python-package-structure.md:89 -msgid "[bokeh](https://github.com/bokeh/bokeh)" -msgstr "[bokeh](https://github.com/bokeh/bokeh)" - -#: ../../package-structure-code/python-package-structure.md:90 -msgid "[openscm](https://github.com/openscm/openscm-runner)" -msgstr "[openscm](https://github.com/openscm/openscm-runner)" - -#: ../../package-structure-code/python-package-structure.md:91 -msgid "[awkward](https://github.com/scikit-hep/awkward)" -msgstr "[awkward](https://github.com/scikit-hep/awkward)" - -#: ../../package-structure-code/python-package-structure.md:92 -msgid "[poliastro](https://github.com/poliastro/poliastro/)" -msgstr "[poliastro](https://github.com/poliastro/poliastro/)" - -#: ../../package-structure-code/python-package-structure.md:96 -msgid "The src/ layout and testing" -msgstr "src/ のレイアウトとテスト" - -#: ../../package-structure-code/python-package-structure.md:98 -msgid "" -"The benefit of using the **src/package** layout is that it ensures tests " -"are run against the installed version of your package rather than the " -"files in your package working directory. If you run your tests on your " -"files rather than the installed version of your package, you may be " -"missing issues that users encounter when your package is installed." -msgstr "" -"**src/package** " -"レイアウトを使用する利点は、パッケージの作業ディレクトリ内のファイルではなく、インストールされたバージョンのパッケージに対してテストが実行されることを保証することです。" -" " -"あなたのパッケージのインストールされたバージョンではなく、あなたのファイルでテストを実行すると、あなたのパッケージがインストールされたときにユーザが遭遇する問題を見逃してしまうかもしれません。" - -#: ../../package-structure-code/python-package-structure.md:104 -msgid "" -"If `tests/` are outside the **src/package** directory, they aren't " -"included in the package's [wheel](python-wheel). This makes your package " -"size slightly smaller, which places a smaller storage burden on PyPI, and" -" makes them faster to fetch." -msgstr "" -"`tests/` が **src/package** ディレクトリの外にある場合、それらはパッケージの [wheel](python-wheel)" -" には含まれません。これにより、パッケージのサイズがわずかに小さくなり、PyPIにかかるストレージの負担が小さくなり、フェッチが速くなります。" - -#: ../../package-structure-code/python-package-structure.md:106 -msgid "" -"[Read more about reasons to use the **src/package** " -"layout](https://hynek.me/articles/testing-packaging/)" +#: ../../package-structure-code/python-package-structure.md:80 +#, python-brace-format +msgid "" +"Click here to read about our packaging documentation requirements. ::: " +":::{admonition} Example scientific packages that use src/package layout " +"* Sourmash * bokeh * openscm * awkward * poliastro ::: (src-layout-" +"test)= ## The src/ layout and testing The benefit of using the " +"src/package layout is that it ensures tests are run against the installed" +" version of your package rather than the files in your package working " +"directory. If you run your tests on your files rather than the installed " +"version of your package, you may be missing issues that users encounter " +"when your package is installed. If tests/ are outside the src/package " +"directory, they aren't included in the package's wheel. This makes your " +"package size slightly smaller, which places a smaller storage burden on " +"PyPI, and makes them faster to fetch. - Read more about reasons to use " +"the src/package layout :::{admonition} How Python discovers and " +"prioritizes importing modules By default, Python adds a module in your " +"current working directory to the front of the Python module search path." +" This means that if you run your tests in your package's working " +"directory, using a flat layout, /package/module.py, Python will discover " +"package/module.py file before it discovers the installed package. " +"However, if your package lives in a src/ directory structure src/package," +" then it won't be added to the Python path by default. This means that " +"when you import your package, Python will be forced to search the active " +"environment (which has your package installed). Note: Python versions " +"3.11 and above have a path setting that can be adjusted to ensure the " +"priority is to use installed packages first (e.g., PYTHONSAFEPATH). ::: " +"### Don't include tests in your package wheel Writing tests for your " +"package is important; however, we do not recommend including tests as " +"part of your package wheel by default. However, not including tests in " +"your package distribution will make it harder for people other than " +"yourself to test whether your package runs properly on their system. If " +"you have a small test suite (Python files + data), and think your users " +"may want to run tests locally on their systems, you can include tests by " +"moving the tests/ directory into the src/package directory (see example " +"below). ```bash src/ package/ tests/ docs/" msgstr "" -"[**src/package** レイアウトを使用する理由についてもっと読む](https://hynek.me/articles" -"/testing-packaging/)" -#: ../../package-structure-code/python-package-structure.md:108 -msgid "How Python discovers and prioritizes importing modules" -msgstr "Pythonはどのようにインポートモジュールを検出し、優先順位をつけるか" - -#: ../../package-structure-code/python-package-structure.md:110 -msgid "" -"By default, Python adds a module in your current working directory to the" -" front of the Python module search path." -msgstr "デフォルトでは、Pythonは現在の作業ディレクトリにあるモジュールをPythonモジュール検索パスの先頭に追加します。" - -#: ../../package-structure-code/python-package-structure.md:112 -msgid "" -"This means that if you run your tests in your package's working " -"directory, using a flat layout, `/package/module.py`, Python will " -"discover `package/module.py` file before it discovers the installed " -"package." -msgstr "" -"つまり、パッケージの作業ディレクトリでフラットレイアウトの `/package/module.py` を使ってテストを実行すると、Python " -"はインストールされたパッケージを検出する前に `package/module.py` ファイルを検出します。" - -#: ../../package-structure-code/python-package-structure.md:114 -msgid "" -"However, if your package lives in a src/ directory structure " -"**src/package**, then it won't be added to the Python path by default. " -"This means that when you import your package, Python will be forced to " -"search the active environment (which has your package installed)." -msgstr "" -"しかし、あなたのパッケージが src/ ディレクトリ構造の **src/package** にある場合、デフォルトでは Python " -"のパスに追加されません。 これは、あなたのパッケージをインポートするとき、Python " -"は(あなたのパッケージがインストールされている)アクティブな環境を強制的に検索することを意味します。" - -#: ../../package-structure-code/python-package-structure.md:116 -msgid "" -"Note: Python versions 3.11 and above have a path setting that can be " -"adjusted to ensure the priority is to use installed packages first (e.g.," -" `PYTHONSAFEPATH`)." -msgstr "" -"注意: Pythonのバージョン3.11以上では、インストールされているパッケージを優先的に使うようにパスの設定を調整することができます ( " -"`PYTHONSAFEPATH` など)。" - -#: ../../package-structure-code/python-package-structure.md:119 -msgid "Don't include tests in your package wheel" -msgstr "パッケージホイールにテストを含めない" - -#: ../../package-structure-code/python-package-structure.md:121 -msgid "" -"Writing [tests](tests-intro) for your package is important; however, we " -"do not recommend including tests as part of your [package wheel](python-" -"wheel) by default. However, not including tests in your package " -"distribution will make it harder for people other than yourself to test " -"whether your package runs properly on their system. If you have a small " -"test suite (Python files + data), and think your users may want to run " -"tests locally on their systems, you can include tests by moving the " -"`tests/` directory into the **src/package** directory (see example " -"below)." -msgstr "" -"パッケージに [tests](tests-intro) を書くことは重要です、しかし、デフォルトでテストを [パッケージホイール](python-" -"wheel) " -"の一部として含めることはお勧めしません。しかし、パッケージの配布にテストを含めないと、自分以外の人が自分のシステムでパッケージが正しく機能しているかどうかをテストすることが難しくなります。小さなテストスイート" -" (Python ファイル + データ) を持っていて、ユーザが自分のシステムでローカルにテストを実行したいと思う場合、`tests/` " -"ディレクトリを **src/package** ディレクトリに移動することでテストを含めることができます (以下の例を参照してください)。" - -#: ../../package-structure-code/python-package-structure.md:130 +#: ../../package-structure-code/python-package-structure.md:132 msgid "" "Including the **tests/** directory in your **src/package** directory " "ensures that tests will be included in your package's [wheel](python-" @@ -5372,7 +5284,7 @@ msgstr "" "**src/package** ディレクトリに **tests/** ディレクトリをインクルードすることで、パッケージの [wheel" "](python-wheel) にテストが含まれるようになります。" -#: ../../package-structure-code/python-package-structure.md:132 +#: ../../package-structure-code/python-package-structure.md:134 msgid "" "Be sure to read the [pytest documentation for more about including tests " "in your package " @@ -5384,37 +5296,37 @@ msgstr "" "distribution](https://docs.pytest.org/en/7.2.x/explanation/goodpractices.html#choosing-a" "-test-layout-import-rules) を必ず読んでください。" -#: ../../package-structure-code/python-package-structure.md:134 +#: ../../package-structure-code/python-package-structure.md:136 msgid "Challenges with including tests and data in a package wheel" msgstr "パッケージwheelにテストとデータを含める際の課題" -#: ../../package-structure-code/python-package-structure.md:137 +#: ../../package-structure-code/python-package-structure.md:139 msgid "" "Tests, especially when accompanied by test data, can create a few small " "challenges, including:" msgstr "テストは、特にテストデータを伴う場合、以下のような小さな課題を生み出す可能性があります:" -#: ../../package-structure-code/python-package-structure.md:139 +#: ../../package-structure-code/python-package-structure.md:141 msgid "" "Take up space in your distribution, which will build up over time as " "storage space on PyPI" msgstr "PyPI上のストレージスペースとして時間の経過とともに蓄積される、ディストリビューション内のスペースを占有します。" -#: ../../package-structure-code/python-package-structure.md:140 +#: ../../package-structure-code/python-package-structure.md:142 msgid "Large file sizes can also slow down package installation." msgstr "ファイルサイズが大きいと、パッケージのインストールも遅くなります。" -#: ../../package-structure-code/python-package-structure.md:142 +#: ../../package-structure-code/python-package-structure.md:144 msgid "" "However, in some cases, particularly in the scientific Python ecosystem, " "you may need to include tests." msgstr "しかし、場合によっては、特に科学的なPythonのエコシステムでは、テストを含める必要があるかもしれません。" -#: ../../package-structure-code/python-package-structure.md:145 +#: ../../package-structure-code/python-package-structure.md:147 msgid "**Don't include test suite datasets in your package**" msgstr "**テストスイートのデータセットをパッケージに含めないでください**" -#: ../../package-structure-code/python-package-structure.md:147 +#: ../../package-structure-code/python-package-structure.md:149 msgid "" "If you include your tests in your package distribution, we strongly " "discourage you from including data in your test suite directory. Rather, " @@ -5427,13 +5339,13 @@ msgstr "" "[Pooch](https://www.fatiando.org/pooch/latest/) " "のようなツールを使用して、あなた(またはユーザー)がテストを実行する際にデータにアクセスします。" -#: ../../package-structure-code/python-package-structure.md:153 +#: ../../package-structure-code/python-package-structure.md:155 msgid "" "For more information about Python package tests, see the [tests section " "of our guide](tests-intro)." msgstr "Python パッケージテストの詳細については、 [ガイドの tests のセクション](tests-intro) を参照してください。" -#: ../../package-structure-code/python-package-structure.md:155 +#: ../../package-structure-code/python-package-structure.md:157 msgid "" "The **src/package** layout is semantically more clear. Code is always " "found in the **src/package** directory, `tests/` and `docs/`are in the " @@ -5442,7 +5354,7 @@ msgstr "" "**src/package** レイアウトの方が意味的に明確である。 コードは常に **src/package** ディレクトリにあり、 " "`tests/` と `docs/` はルートディレクトリにあります。" -#: ../../package-structure-code/python-package-structure.md:159 +#: ../../package-structure-code/python-package-structure.md:161 msgid "" "If your package tests require data, do NOT include that data within your " "package structure. Including data in your package structure increases the" @@ -5454,7 +5366,7 @@ msgstr "" "パッケージ構造にデータをインクルードすると、配布ファイルのサイズが大きくなります。 これは PyPI や Anaconda.org " "のような何千ものパッケージのアップロードに対応しなければならないリポジトリにメンテナンスの負担をかけます。" -#: ../../package-structure-code/python-package-structure.md:166 +#: ../../package-structure-code/python-package-structure.md:167 msgid "Click here for a quickstart tutorial on creating your Python package." msgstr "Pythonパッケージ作成のクイックスタートチュートリアルはこちらです。" @@ -5490,19 +5402,21 @@ msgstr "" "上述した **src/package** " "レイアウトを使用することを推奨しますが、特にこのレイアウトを使用するパッケージに貢献する予定がある場合は、フラットレイアウトも理解することが重要です。" -#: ../../package-structure-code/python-package-structure.md:189 -msgid "Why most scientific Python packages do not use source" +#: ../../package-structure-code/python-package-structure.md:188 +#, fuzzy +msgid "Why most scientific Python packages do not use src/ layout" msgstr "ほとんどの科学的Pythonパッケージがソースを使わない理由" -#: ../../package-structure-code/python-package-structure.md:192 +#: ../../package-structure-code/python-package-structure.md:191 +#, fuzzy msgid "" -"In most cases, moving to the **src/package** layout for larger scientific" -" packages that already use a flat layout would consume significant time." +"Migrating larger scientific packages that already use a flat layout would" +" consume significant time and resources." msgstr "" "ほとんどの場合、すでにフラットレイアウトを使用している大規模な科学パッケージの **src/package** " "レイアウトへの移行は、かなりの時間を消費します。" -#: ../../package-structure-code/python-package-structure.md:195 +#: ../../package-structure-code/python-package-structure.md:193 msgid "" "However, the advantages of using the **src/package** layout for a " "beginner are significant. As such, we recommend that you use the " @@ -5511,7 +5425,7 @@ msgstr "" "しかし、初心者にとって**src/package**レイアウトを使う利点は大きいです。そのため、新しいパッケージを作成する場合は、 " "**src/package** レイアウトを使用することをお勧めします。" -#: ../../package-structure-code/python-package-structure.md:198 +#: ../../package-structure-code/python-package-structure.md:196 msgid "" "Numerous packages in the ecosystem [have had to move to a **src/package**" " layout](https://github.com/scikit-build/cmake-python-" @@ -5521,49 +5435,49 @@ msgstr "" "レイアウトに移行しなければなりませんでした。](https://github.com/scikit-build/cmake-python-" "distributions/pull/145)" -#: ../../package-structure-code/python-package-structure.md:202 +#: ../../package-structure-code/python-package-structure.md:200 msgid "What does the flat layout structure look like?" msgstr "フラットレイアウトの構造はどのようなものですか?" -#: ../../package-structure-code/python-package-structure.md:204 +#: ../../package-structure-code/python-package-structure.md:202 msgid "The flat layout's primary characteristics are:" msgstr "フラットレイアウトの主な特徴は以下の通りです:" -#: ../../package-structure-code/python-package-structure.md:206 +#: ../../package-structure-code/python-package-structure.md:204 msgid "" "The source code for your package lives in a directory with your package's" " name in the root of your directory" msgstr "パッケージのソースコードは、ディレクトリのルートにあるパッケージ名のディレクトリに格納されます" -#: ../../package-structure-code/python-package-structure.md:208 +#: ../../package-structure-code/python-package-structure.md:206 msgid "" "Often the `tests/` directory also lives within that same `package` " "directory." msgstr "多くの場合、 `tests/` ディレクトリも同じ `package` ディレクトリの中にあります。" -#: ../../package-structure-code/python-package-structure.md:210 +#: ../../package-structure-code/python-package-structure.md:208 msgid "" "Below you can see the recommended structure of a scientific Python " "package using the flat layout." msgstr "以下に、フラットレイアウトを使った科学的Pythonパッケージの推奨構造を示します。" -#: ../../package-structure-code/python-package-structure.md:232 +#: ../../package-structure-code/python-package-structure.md:230 msgid "Benefits of using the flat layout in your Python package" msgstr "Pythonパッケージでフラットレイアウトを使うメリット" -#: ../../package-structure-code/python-package-structure.md:234 +#: ../../package-structure-code/python-package-structure.md:232 msgid "" "There are some benefits to the scientific community in using the flat " "layout." msgstr "フラットレイアウトを採用することは、科学コミュニティにとってもメリットがあります。" -#: ../../package-structure-code/python-package-structure.md:236 +#: ../../package-structure-code/python-package-structure.md:234 msgid "" "This structure has historically been used across the ecosystem and " "packages using it are unlikely to change." msgstr "この構造は歴史的にエコシステム全体で使われてきたものであり、これを使うパッケージが変わることはないでしょう。" -#: ../../package-structure-code/python-package-structure.md:238 +#: ../../package-structure-code/python-package-structure.md:236 msgid "" "You can import the package directly from the root directory. For some " "this is engrained in their respective workflows. However, for a beginner " @@ -5574,39 +5488,39 @@ msgstr "" "ルートディレクトリからパッケージを直接インポートすることができます。これがそれぞれのワークフローに組み込まれている人もいるでしょう。しかし、初心者がこの方法をとる危険性は、インストールされたバージョンのパッケージに対して開発やテストを行っていないことにあります。" " むしろ、フラットファイルを直接扱うことになります。" -#: ../../package-structure-code/python-package-structure.md:244 +#: ../../package-structure-code/python-package-structure.md:242 msgid "Core scientific Python packages that use the flat layout" msgstr "フラットレイアウトを使用する科学的Pythonのコアパッケージ" -#: ../../package-structure-code/python-package-structure.md:247 +#: ../../package-structure-code/python-package-structure.md:245 msgid "[numpy](https://github.com/numpy/numpy)" msgstr "[numpy](https://github.com/numpy/numpy)" -#: ../../package-structure-code/python-package-structure.md:248 +#: ../../package-structure-code/python-package-structure.md:246 msgid "[scipy](https://github.com/scipy/scipy)" msgstr "[scipy](https://github.com/scipy/scipy)" -#: ../../package-structure-code/python-package-structure.md:249 +#: ../../package-structure-code/python-package-structure.md:247 msgid "[pandas](https://github.com/pandas-dev/pandas)" msgstr "[pandas](https://github.com/pandas-dev/pandas)" -#: ../../package-structure-code/python-package-structure.md:250 +#: ../../package-structure-code/python-package-structure.md:248 msgid "[xarray](https://github.com/pydata/xarray)" msgstr "[xarray](https://github.com/pydata/xarray)" -#: ../../package-structure-code/python-package-structure.md:251 +#: ../../package-structure-code/python-package-structure.md:249 msgid "[Jupyter-core](https://github.com/jupyter/jupyter_core)" msgstr "[Jupyter-core](https://github.com/jupyter/jupyter_core)" -#: ../../package-structure-code/python-package-structure.md:252 +#: ../../package-structure-code/python-package-structure.md:250 msgid "[Jupyter notebook](https://github.com/jupyter/notebook)" msgstr "[Jupyter notebook](https://github.com/jupyter/notebook)" -#: ../../package-structure-code/python-package-structure.md:253 +#: ../../package-structure-code/python-package-structure.md:251 msgid "[scikit-learn](https://github.com/scikit-learn/scikit-learn)" msgstr "[scikit-learn](https://github.com/scikit-learn/scikit-learn)" -#: ../../package-structure-code/python-package-structure.md:255 +#: ../../package-structure-code/python-package-structure.md:253 msgid "" "It would be a significant maintenance cost and burden to move all of " "these packages to a different layout. The potential benefits of the " @@ -5615,6 +5529,19 @@ msgstr "" "これらのパッケージをすべて別のレイアウトに移行するのは、かなりのメンテナンスコストと負担になるでしょう。 " "これらのツールのソースレイアウトの潜在的な利点は、メンテナンスの投資に見合うものではありません。" +#: ../../package-structure-code/python-package-structure.md:258 +msgid "Multiple packages in a src/ folder" +msgstr "" + +#: ../../package-structure-code/python-package-structure.md:261 +msgid "" +"In some more advanced cases, you may have more than one package in your " +"**src/** directory. See [Black's GitHub " +"repo](https://github.com/psf/black/tree/main/src) for an example of this." +" However, for most beginners you will likely only have one sub-directory " +"in your **src/** folder." +msgstr "" + #: ../../package-structure-code/python-package-versions.md:1 msgid "Creating New Versions of Your Python Package" msgstr "Pythonパッケージの新しいバージョンを作成する" @@ -5715,45 +5642,45 @@ msgstr "" "場合によっては、小さなバージョン変更でさえも、パッケージのアップデートを一部のユーザーにとって破壊的な変更に変えてしまう可能性があります。 " "さらに重要なのは、コードのバージョンアップ方法を文書化することであり、可能であればコードの非推奨ポリシーも文書化することです。" -#: ../../package-structure-code/python-package-versions.md:37 +#: ../../package-structure-code/python-package-versions.md:38 msgid "SemVer rules" msgstr "SemVerルール" -#: ../../package-structure-code/python-package-versions.md:39 +#: ../../package-structure-code/python-package-versions.md:40 msgid "Following SemVer, your bump your package version to a:" msgstr "SemVerに従って、パッケージのバージョンを上げます:" -#: ../../package-structure-code/python-package-versions.md:41 +#: ../../package-structure-code/python-package-versions.md:42 msgid "patch (1.1.1 --> 1.1.**2**)" msgstr "パッチ (1.1.1 --> 1.1.**2**)" -#: ../../package-structure-code/python-package-versions.md:42 +#: ../../package-structure-code/python-package-versions.md:43 msgid "minor (1.1.1 --> 1.**2**.1)" msgstr "マイナー (1.1.1 --> 1.**2**.1)" -#: ../../package-structure-code/python-package-versions.md:43 +#: ../../package-structure-code/python-package-versions.md:44 msgid "major (1.1.1 --> **2**.1.1)" msgstr "メジャー (1.1.1 --> **2**.1.1)" -#: ../../package-structure-code/python-package-versions.md:45 +#: ../../package-structure-code/python-package-versions.md:46 msgid "version number change based on the following rules:" msgstr "バージョン番号は以下のルールに基づいて変更されます:" -#: ../../package-structure-code/python-package-versions.md:47 +#: ../../package-structure-code/python-package-versions.md:48 msgid "Given a version number MAJOR.MINOR.PATCH, increment the:" msgstr "バージョン番号MAJOR.MINOR.PATCHが与えられたら、インクリメントする:" -#: ../../package-structure-code/python-package-versions.md:49 +#: ../../package-structure-code/python-package-versions.md:50 msgid "**MAJOR version** when you make incompatible API changes" msgstr "**MAJOR version** 互換性のないAPIの変更を行った場合" -#: ../../package-structure-code/python-package-versions.md:50 +#: ../../package-structure-code/python-package-versions.md:51 msgid "" "**MINOR version** when you add functionality in a backwards compatible " "manner" msgstr "後方互換性のある方法で機能を追加する場合の **MINOR version** 。" -#: ../../package-structure-code/python-package-versions.md:51 +#: ../../package-structure-code/python-package-versions.md:52 msgid "" "**PATCH version** when you make backwards compatible bug fixes Additional" " labels for pre-release and build metadata are available as extensions to" @@ -5762,7 +5689,7 @@ msgstr "" "**PATCH version** 後方互換性のあるバグ修正を行う場合 " "プレリリースとビルドのメタデータ用の追加ラベルは、MAJOR.MINOR.PATCHフォーマットの拡張として利用できます。" -#: ../../package-structure-code/python-package-versions.md:56 +#: ../../package-structure-code/python-package-versions.md:57 msgid "" "Some people prefer to use [calver](https://calver.org/index.html) for " "versioning. It may be a simpler-to-use system given it relies upon date " @@ -5774,17 +5701,17 @@ msgstr "" " しかし、calverは、新しいバージョンがいつ既存のビルドを壊すかもしれないという感覚をユーザーに提供しません。 " "そのため、semverをお勧めします。" -#: ../../package-structure-code/python-package-versions.md:59 +#: ../../package-structure-code/python-package-versions.md:60 msgid "" "pyOpenSci will never require semver in a peer review as long as a package" " has a reasonable approach to versioning!" msgstr "pyOpenSciは、パッケージがバージョニングに対して合理的なアプローチを持っている限り、査読でsemverを要求することはありません!" -#: ../../package-structure-code/python-package-versions.md:63 +#: ../../package-structure-code/python-package-versions.md:64 msgid "Avoid manually updating Python package version numbers if you can" msgstr "Python パッケージのバージョン番号を手動で更新するのは、できる限り避けてください。" -#: ../../package-structure-code/python-package-versions.md:65 +#: ../../package-structure-code/python-package-versions.md:66 msgid "" "Often times you may want to have your package version value in multiple " "locations. One example of this is that it might be both an attribute in " @@ -5793,7 +5720,7 @@ msgstr "" "パッケージのバージョンの値を複数の場所で持ちたい場合がよくあります。 その一例として、パッケージの **version** " "の属性であると同時に、ドキュメントの中で呼び出されることがあります。" -#: ../../package-structure-code/python-package-versions.md:70 +#: ../../package-structure-code/python-package-versions.md:71 msgid "" "We recommend that you avoid manual updates of your package version number" " to avoid human-error. It is better practice to keep your version number " @@ -5802,24 +5729,24 @@ msgstr "" "ヒューマンエラーを避けるため、パッケージのバージョン番号の手動更新は 避けることをお勧めします。 " "バージョン番号は一箇所にまとめておく方がよいでしょう。" -#: ../../package-structure-code/python-package-versions.md:74 +#: ../../package-structure-code/python-package-versions.md:75 msgid "" "If you can't implement a single location version, then consider using a " "tool like hatch, PDM or bump2version that will update the version values " "for you - throughout your package." msgstr "もし1カ所のバージョンを実装できないのであれば、hatchやPDM、bump2versionのような、パッケージ全体でバージョン値を更新してくれるツールの使用を検討しましょう。" -#: ../../package-structure-code/python-package-versions.md:78 +#: ../../package-structure-code/python-package-versions.md:79 msgid "" "Below we discuss some tools that you can use to manage updating Python " "package versions." msgstr "以下では、Pythonパッケージのバージョン更新を管理するために使用できるいくつかのツールについて説明します。" -#: ../../package-structure-code/python-package-versions.md:83 +#: ../../package-structure-code/python-package-versions.md:85 msgid "Tools to manage versions for your Python package" msgstr "Pythonパッケージのバージョンを管理するツール" -#: ../../package-structure-code/python-package-versions.md:85 +#: ../../package-structure-code/python-package-versions.md:87 msgid "" "There are a handful of tools that are widely used in the scientific " "ecosystem that you can use to manage your package versions. Some of these" @@ -5830,17 +5757,17 @@ msgstr "" "これらのツールのいくつかは、あなたが選択した [この章で議論するパッケージングビルドツール](python-package-build-" "tools) に組み込まれているか、それらと連携しています。" -#: ../../package-structure-code/python-package-versions.md:91 +#: ../../package-structure-code/python-package-versions.md:93 msgid "Below, we provide an overview of these tools." msgstr "以下に、これらのツールの概要を示します。" -#: ../../package-structure-code/python-package-versions.md:97 +#: ../../package-structure-code/python-package-versions.md:99 msgid "" "There are three general groups of tools that you can use to manage " "package versions:" msgstr "パッケージのバージョンを管理するために使用できるツールには、一般的に3つのグループがあります:" -#: ../../package-structure-code/python-package-versions.md:100 +#: ../../package-structure-code/python-package-versions.md:102 msgid "" "**semantic release tools:** These tools will automagically determine what" " type of version bump to use using the text in your commit messages. " @@ -5853,7 +5780,7 @@ msgstr "" "Release](https://python-semantic-release.readthedocs.io/en/latest/) " "を取り上げます。" -#: ../../package-structure-code/python-package-versions.md:102 +#: ../../package-structure-code/python-package-versions.md:104 msgid "" "**Manual incremental bump tools:** Tools like " "[Hatch](https://hatch.pypa.io/latest/version/) offer version bumping " @@ -5864,7 +5791,7 @@ msgstr "" "[Hatch](https://hatch.pypa.io/latest/version/)のようなツールは、パッケージ内でのバージョンバンプを提供します。通常、これはコマンドリンクで実装されます。例えば、" " `hatch version major` はプロジェクトを0.xから1.0にします。" -#: ../../package-structure-code/python-package-versions.md:103 +#: ../../package-structure-code/python-package-versions.md:105 msgid "" "**Version Control System tools:** Finally there are tools that rely on " "your version control system to track versions. These tools often are " @@ -5877,11 +5804,11 @@ msgstr "" "以下では、パッケージリポジトリの管理に **.git tags** と **GitHub** " "を使用していることを前提に、このオプションについて説明します。" -#: ../../package-structure-code/python-package-versions.md:105 +#: ../../package-structure-code/python-package-versions.md:107 msgid "Semantic release, vs version control based vs manual version bumping" msgstr "セマンティックリリース、バージョン管理ベースと手動バージョンバンプの比較" -#: ../../package-structure-code/python-package-versions.md:107 +#: ../../package-structure-code/python-package-versions.md:109 msgid "" "Generally semantic release and version control system tools can be setup " "to run automatically on GitHub using GitHub Actions. This means that you " @@ -5892,19 +5819,19 @@ msgstr "" "Actionsを使ってGitHub上で自動的に実行するように設定することができる。 つまり、GitHub " "のリリースとそれに関連する新しいバージョンのタグを使って、自動ビルドのトリガーとなるワークフローを作れるということです:" -#: ../../package-structure-code/python-package-versions.md:113 +#: ../../package-structure-code/python-package-versions.md:115 msgid "Builds your package and updates the version following the new tag" msgstr "パッケージをビルドし、新しいタグに従ってバージョンを更新します。" -#: ../../package-structure-code/python-package-versions.md:114 +#: ../../package-structure-code/python-package-versions.md:116 msgid "Tests the build and publishes to test PyPI" msgstr "ビルドをテストし、テスト用PyPIに公開します。" -#: ../../package-structure-code/python-package-versions.md:115 +#: ../../package-structure-code/python-package-versions.md:117 msgid "Publishes the package to PyPI" msgstr "パッケージをPyPIに公開します" -#: ../../package-structure-code/python-package-versions.md:118 +#: ../../package-structure-code/python-package-versions.md:120 msgid "" "Bumping a package version refers to the step of increasing the package " "version after a set number of changes have been made to it. For example, " @@ -5913,47 +5840,47 @@ msgstr "" "パッケージのバージョンを上げるとは、パッケージのバージョンに一定の 変更が加えられた後に、そのパッケージのバージョンを上げることです。 " "たとえば、あるパッケージのバージョン 0.8 から 0.9 にバンプしたり、0.9 から 1.0 にバンプしたりします。" -#: ../../package-structure-code/python-package-versions.md:122 +#: ../../package-structure-code/python-package-versions.md:124 msgid "" "Using semantic versioning, there are three main \"levels\" of versions " "that you might consider:" msgstr "セマンティックバージョニングを使用する場合、3つの主な \"レベル\" が考えられます:" -#: ../../package-structure-code/python-package-versions.md:125 +#: ../../package-structure-code/python-package-versions.md:127 msgid "Major, minor and patch. These are described in more detail below." msgstr "メジャー、マイナー、パッチ。 これらの詳細については後述します。" -#: ../../package-structure-code/python-package-versions.md:128 +#: ../../package-structure-code/python-package-versions.md:130 msgid "Tools for bumping Python package versions" msgstr "Pythonパッケージのバージョンを上げるツール" -#: ../../package-structure-code/python-package-versions.md:130 +#: ../../package-structure-code/python-package-versions.md:132 msgid "" "In this section we discuss the following tools for managing your Python " "package's version:" msgstr "このセクションでは、Pythonパッケージのバージョンを管理するための以下のツールについて説明します:" -#: ../../package-structure-code/python-package-versions.md:133 +#: ../../package-structure-code/python-package-versions.md:135 msgid "hatch &" msgstr "hatch &" -#: ../../package-structure-code/python-package-versions.md:134 +#: ../../package-structure-code/python-package-versions.md:136 msgid "hatch_vcs plugin for hatchling" msgstr "hatchling 用 hatch_vcs プラグイン" -#: ../../package-structure-code/python-package-versions.md:135 +#: ../../package-structure-code/python-package-versions.md:137 msgid "setuptools-scm" msgstr "setuptools-scm" -#: ../../package-structure-code/python-package-versions.md:136 +#: ../../package-structure-code/python-package-versions.md:138 msgid "python-semantic-version" msgstr "python-semantic-version" -#: ../../package-structure-code/python-package-versions.md:138 +#: ../../package-structure-code/python-package-versions.md:140 msgid "Tool 1: Hatch and other build tools that offer incremental versioning" msgstr "ツール1: インクリメンタルバージョニングを提供するHatchやその他のビルドツール" -#: ../../package-structure-code/python-package-versions.md:140 +#: ../../package-structure-code/python-package-versions.md:142 msgid "" "Many of the modern build tool front end tools offer version support that " "follow semantic versioning rules. These tools are different from Python " @@ -5965,15 +5892,15 @@ msgstr "" "これらのツールは Python Semantic Version とは異なり、バージョンを実装するために特定のコミットメッセージを必要としません。" " そうではなく、コマンドラインで次のようなコマンドを使ってバージョンを更新することができます:" -#: ../../package-structure-code/python-package-versions.md:146 +#: ../../package-structure-code/python-package-versions.md:148 msgid "`tool-name version update major`" msgstr "`tool-name version update major`" -#: ../../package-structure-code/python-package-versions.md:147 +#: ../../package-structure-code/python-package-versions.md:149 msgid "`tool-name version update minor`" msgstr "`tool-name version update minor`" -#: ../../package-structure-code/python-package-versions.md:149 +#: ../../package-structure-code/python-package-versions.md:151 msgid "" "[Hatch](https://hatch.pypa.io/latest/version/), for instance offers " "`hatch version minor` which will modify the version of your package " @@ -5984,29 +5911,31 @@ msgstr "" "は、パッケージのバージョンをインクリメンタルに変更する `hatch version minor` を提供しています。 **Hatch** " "の場合、バージョン値は`pyproject.toml`ファイルにあります。 " -#: ../../package-structure-code/python-package-versions.md:152 -msgid "Hatch (or other tools like PDM) Pros" +#: ../../package-structure-code/python-package-versions.md:154 +#, fuzzy +msgid "Hatch (or other tools like PDM) pros" msgstr "Hatch(またはPDMのような他のツール)の長所" -#: ../../package-structure-code/python-package-versions.md:154 +#: ../../package-structure-code/python-package-versions.md:156 msgid "Easy to use version updates locally using a single tool!" msgstr "1つのツールを使ってローカルで簡単にバージョン更新ができます!" -#: ../../package-structure-code/python-package-versions.md:156 -msgid "Hatch (or other tools like PDM) Cons" +#: ../../package-structure-code/python-package-versions.md:158 +#, fuzzy +msgid "Hatch (or other tools like PDM) cons" msgstr "Hatch(またはPDMのような他のツール)の短所" -#: ../../package-structure-code/python-package-versions.md:158 +#: ../../package-structure-code/python-package-versions.md:160 msgid "" "There will be some setup involved to ensure package version is updated " "throughout your package" msgstr "パッケージのバージョンがパッケージ全体で更新されるようにするには、いくつかの設定が必要です。" -#: ../../package-structure-code/python-package-versions.md:160 +#: ../../package-structure-code/python-package-versions.md:162 msgid "Tool 2: Hatch_vcs & hatchling build back-end" msgstr "ツール 2: Hatch_vcs & hatchling ビルドバックエンド" -#: ../../package-structure-code/python-package-versions.md:162 +#: ../../package-structure-code/python-package-versions.md:164 msgid "" "[hatch_vcs](https://github.com/ofek/hatch-vcs) is a versioning tool that " "allows you to manage package versions using **git tags**. Hatch_vcs " @@ -6017,7 +5946,7 @@ msgstr "" "を使ってパッケージのバージョンを管理できるバージョン管理ツールです。Hatch_vcs はパッケージの現在のバージョンを追跡する " "**_version.py** ファイルをパッケージのエコシステムに作成します。" -#: ../../package-structure-code/python-package-versions.md:167 +#: ../../package-structure-code/python-package-versions.md:169 msgid "" "Hatch keeps track of your package's version in a `_version.py` file. " "Storing the version in a single file managed by Hatch provides your " @@ -6029,7 +5958,7 @@ msgstr "" "Hatchが管理する単一のファイルにバージョンを保存することで、パッケージにバージョン番号の \"単一の真のソース\" 値を提供します。 " "これにより、パッケージのバージョンを手動で更新することに伴う潜在的なエラーを排除することができます。" -#: ../../package-structure-code/python-package-versions.md:173 +#: ../../package-structure-code/python-package-versions.md:175 msgid "" "When you (or your CI system) build your package, hatch checks the current" " tag number for your package. If it has increased, it will update the " @@ -6038,30 +5967,30 @@ msgstr "" "あなた(またはあなたのCIシステム)がパッケージをビルドするとき、hatchはあなたのパッケージの現在のタグ番号をチェックします。 " "もし増加していれば、新しい値で **_version.py** ファイルを更新します。" -#: ../../package-structure-code/python-package-versions.md:176 +#: ../../package-structure-code/python-package-versions.md:178 msgid "" "Thus, when you create a new tag or a new release with a tag and build " "your package, Hatch will access the new tag value and use it to update " "your package version." msgstr "このように、新しいタグを作成したり、タグ付きの新しいリリースを作成してパッケージをビルドすると、Hatchは新しいタグの値にアクセスし、それを使ってパッケージのバージョンを更新します。" -#: ../../package-structure-code/python-package-versions.md:179 +#: ../../package-structure-code/python-package-versions.md:181 msgid "" "To use **hatch_vcs** you will need to use the **hatchling** build back " "end." msgstr "**hatch_vcs** を使用するには、 **hatchling** ビルドバックエンドを使用する必要があります。" -#: ../../package-structure-code/python-package-versions.md:182 +#: ../../package-structure-code/python-package-versions.md:184 msgid "" "Hatchling can also be used with any of the modern build tools including " "**Flit** and **PDM** if you prefer those for your day to day workflow." msgstr "日々のワークフローにそれらを好むなら、Hatchlingは **Flit** や **PDM** を含む最新のビルドツールでも使用できます。" -#: ../../package-structure-code/python-package-versions.md:187 +#: ../../package-structure-code/python-package-versions.md:189 msgid "Hatch example setup in your pyproject.toml" msgstr "pyproject.tomlでのHatchのセットアップ例" -#: ../../package-structure-code/python-package-versions.md:196 +#: ../../package-structure-code/python-package-versions.md:198 msgid "" "**Hatch_vcs** supports a fully automated package release and build, and " "push to PyPI workflow on GitHub." @@ -6069,7 +5998,7 @@ msgstr "" "**Hatch_vcs** " "は完全に自動化されたパッケージのリリースとビルド、GitHub上のPyPIへのプッシュのワークフローをサポートしています。" -#: ../../package-structure-code/python-package-versions.md:206 +#: ../../package-structure-code/python-package-versions.md:208 msgid "" "If you use **setuptools_scm**, then you might find **hatch_vcs** and " "**hatchling** to be the modern equivalent to your current setuptools / " @@ -6078,47 +6007,48 @@ msgstr "" "もしあなたが **setuptools_scm** を使っているのであれば、 **hatch_vcs** と **hatchling** " "があなたの現在のsetuptools/ビルドワークフローと現代的に同等であることがわかるかもしれません。" -#: ../../package-structure-code/python-package-versions.md:209 -msgid "hatch_vcs Pros" +#: ../../package-structure-code/python-package-versions.md:211 +#, fuzzy +msgid "hatch_vcs pros" msgstr "hatch_vcs Pros" -#: ../../package-structure-code/python-package-versions.md:211 +#: ../../package-structure-code/python-package-versions.md:213 msgid "Hatch supports modern Python packaging standards" msgstr "Hatchは最新のPythonパッケージング標準をサポート" -#: ../../package-structure-code/python-package-versions.md:212 -#: ../../package-structure-code/python-package-versions.md:238 +#: ../../package-structure-code/python-package-versions.md:214 +#: ../../package-structure-code/python-package-versions.md:240 msgid "It creates a single-source file that contains your package version." msgstr "これは、あなたのパッケージバージョンを含む単一ソースファイルを作成します。" -#: ../../package-structure-code/python-package-versions.md:213 -#: ../../package-structure-code/python-package-versions.md:239 +#: ../../package-structure-code/python-package-versions.md:215 +#: ../../package-structure-code/python-package-versions.md:241 msgid "You never manually update the package version" msgstr "パッケージのバージョンを手動で更新することはありません" -#: ../../package-structure-code/python-package-versions.md:214 -#: ../../package-structure-code/python-package-versions.md:240 +#: ../../package-structure-code/python-package-versions.md:216 +#: ../../package-structure-code/python-package-versions.md:242 msgid "" "You can automate writing the version anywhere in your package including " "your documentation!" msgstr "ドキュメンテーションを含め、パッケージのどこにでもバージョンを書くことを自動化できます!" -#: ../../package-structure-code/python-package-versions.md:215 -#: ../../package-structure-code/python-package-versions.md:241 +#: ../../package-structure-code/python-package-versions.md:217 +#: ../../package-structure-code/python-package-versions.md:243 msgid "" "It supports a purely GitHub based release workflow. This simplifies " "maintenance workflows." msgstr "純粋にGitHubベースのリリースワークフローをサポートしています。 これにより、メンテナンスのワークフローが簡素化されます。" -#: ../../package-structure-code/python-package-versions.md:216 -#: ../../package-structure-code/python-package-versions.md:242 +#: ../../package-structure-code/python-package-versions.md:218 +#: ../../package-structure-code/python-package-versions.md:244 msgid "" "Version number is updated in your package via a hidden `_version.py` " "file. There is no manual configuration updates required." msgstr "バージョン番号は隠された `_version.py` ファイルを通してパッケージ内で更新されます。 手動で設定を更新する必要はありません。" -#: ../../package-structure-code/python-package-versions.md:217 -#: ../../package-structure-code/python-package-versions.md:243 +#: ../../package-structure-code/python-package-versions.md:219 +#: ../../package-structure-code/python-package-versions.md:245 msgid "" "While we like detailed commit messages (See Python Semantic Version " "below), we know that sometimes when maintaining a package specific " @@ -6127,11 +6057,12 @@ msgstr "" "私たちは詳細なコミットメッセージを好みますが(下記のPython Semantic " "Versionを参照してください)、パッケージを管理する際にコミットメッセージに関する特定のガイドラインを適用したり管理したりするのが難しい場合があることも知っています。" -#: ../../package-structure-code/python-package-versions.md:219 -msgid "hatch_vcs Cons" +#: ../../package-structure-code/python-package-versions.md:221 +#, fuzzy +msgid "hatch_vcs cons" msgstr "hatch_vcs Cons" -#: ../../package-structure-code/python-package-versions.md:221 +#: ../../package-structure-code/python-package-versions.md:223 msgid "" "In a CI workflow you will end up manually entering or creating the " "version number via a tag on GitHub. But you could locally develop a build" @@ -6140,11 +6071,11 @@ msgstr "" "CIワークフローでは、GitHubのタグを使ってバージョン番号を手動で入力したり作成したりすることになります。 しかし、タグのバージョンを " "\"bump\" するビルドをローカルで開発することもできます。" -#: ../../package-structure-code/python-package-versions.md:224 +#: ../../package-structure-code/python-package-versions.md:226 msgid "Tool 3: setuptools-scm versioning using git tags" msgstr "ツール3: gitタグを使ったsetuptools-scmのバージョン管理" -#: ../../package-structure-code/python-package-versions.md:226 +#: ../../package-structure-code/python-package-versions.md:228 msgid "" "[`Setuptools_scm`](https://github.com/pypa/setuptools-scm/) is an " "extension that you can use with setuptools to manage package versions. " @@ -6157,41 +6088,42 @@ msgstr "" "**Setuptools_scm**は、**hatch_vcs**(前述)と同じように動作します。 バージョンを **_version.py** " "ファイルに保存し、パッケージの現在のバージョンを決定するために (**git**) タグに依存します。" -#: ../../package-structure-code/python-package-versions.md:232 +#: ../../package-structure-code/python-package-versions.md:234 msgid "" "If you are using **setuptools** as your primary build tool, then " "`*setuptools-scm` is a good choice as:" msgstr "**setuptools** を主なビルドツールとして使っているのであれば、 `*setuptools-scm` は良い選択です:" -#: ../../package-structure-code/python-package-versions.md:236 +#: ../../package-structure-code/python-package-versions.md:238 msgid "setuptools_scm Pros" msgstr "setuptools_scm Pros" -#: ../../package-structure-code/python-package-versions.md:244 +#: ../../package-structure-code/python-package-versions.md:246 msgid "**setuptools** is still the most commonly used Python packaging build tool" msgstr "**setuptools** は今でも最もよく使われているPythonパッケージング構築ツールです。" -#: ../../package-structure-code/python-package-versions.md:246 -msgid "setuptools_scm Cons" +#: ../../package-structure-code/python-package-versions.md:248 +#, fuzzy +msgid "setuptools_scm cons" msgstr "setuptools_scm Cons" -#: ../../package-structure-code/python-package-versions.md:248 +#: ../../package-structure-code/python-package-versions.md:250 msgid "" "In a CI workflow you will end up manually entering or creating the " "version number via a tag on GitHub." msgstr "CIワークフローでは、GitHubのタグを使って手動でバージョン番号を入力したり作成したりすることになります。" -#: ../../package-structure-code/python-package-versions.md:249 +#: ../../package-structure-code/python-package-versions.md:251 msgid "Not well documented" msgstr "文書化されていません" -#: ../../package-structure-code/python-package-versions.md:250 +#: ../../package-structure-code/python-package-versions.md:252 msgid "" "Because setuptools will always have to support backwards compatibility it" " will always be slower in adopting modern Python packaging conventions." msgstr "setuptools は常に後方互換性をサポートしなければならないので、最新の Python パッケージング規約を採用するのは常に遅くなります。" -#: ../../package-structure-code/python-package-versions.md:252 +#: ../../package-structure-code/python-package-versions.md:254 msgid "" "As such you might consider using a more modern tool such as **hatch_vcs**" " and **hatchling** to build your package and manage package versions." @@ -6199,7 +6131,7 @@ msgstr "" "そのため、パッケージのビルドやパッケージのバージョン管理には、 **hatch_vcs** や **hatchling** " "のような、より現代的なツールの使用を検討してください。" -#: ../../package-structure-code/python-package-versions.md:264 +#: ../../package-structure-code/python-package-versions.md:266 msgid "" "Tool 4: [Python semantic release](https://python-semantic-" "release.readthedocs.io/en/latest/)" @@ -6207,7 +6139,7 @@ msgstr "" "ツール4: [Pythonセマンティックリリース](https://python-semantic-" "release.readthedocs.io/en/latest/)" -#: ../../package-structure-code/python-package-versions.md:266 +#: ../../package-structure-code/python-package-versions.md:268 msgid "" "Python semantic release uses a commit message workflow that updates the " "version of your package based on keywords found in your commit messages. " @@ -6218,13 +6150,13 @@ msgstr "" "はコミットメッセージのワークフローを使い、コミットメッセージに含まれるキーワードに基づいてパッケージのバージョンを更新します。 " "その名の通り、Python Semantic Release は semver release のルールに従います。" -#: ../../package-structure-code/python-package-versions.md:271 +#: ../../package-structure-code/python-package-versions.md:273 msgid "" "With Python Semantic Release, versions are triggered using specific " "language found in a git commit message." msgstr "Python Semantic Release では、git のコミットメッセージにある特定の言語を使ってバージョンをトリガーします。" -#: ../../package-structure-code/python-package-versions.md:274 +#: ../../package-structure-code/python-package-versions.md:276 msgid "" "For example, the words `fix(attribute_warning):` trigger Python Semantic " "Release to implement a **patch** version bump. For instance if your " @@ -6236,13 +6168,13 @@ msgstr "" "バージョンバンプを実装する引き金になります。 例えば、あなたのパッケージのバージョンが1.1.0で、fix(text-here) " "と書かれた以下のコミットをした場合、Python Semantic Release はあなたのパッケージをバージョン1.1.1にします。" -#: ../../package-structure-code/python-package-versions.md:284 +#: ../../package-structure-code/python-package-versions.md:286 msgid "" "Similarly a feature (`feat()`) triggers a minor version bump. For example" " from version 1.1 to version 1.2" msgstr "同様に、機能(`feat()`)はマイナーバージョンアップの引き金となります。 例えばバージョン1.1からバージョン1.2へ" -#: ../../package-structure-code/python-package-versions.md:292 +#: ../../package-structure-code/python-package-versions.md:294 msgid "" "You can find a thoughtful discussion of python semantic version [in this " "Python package guide](https://py-pkgs.org/07-releasing-versioning" @@ -6254,26 +6186,28 @@ msgstr "" "version-bumping) " "で、pythonのセマンティックバージョンについての丁寧な議論を見つけることができます。なお、このガイドは2020年以降更新されておらず、今後も更新される可能性があります!しかし、今のところ、いくつかのコマンドは古いが、内容は依然として素晴らしいです。" -#: ../../package-structure-code/python-package-versions.md:295 -msgid "Python Semantic Release Pros" +#: ../../package-structure-code/python-package-versions.md:297 +#, fuzzy +msgid "Python Semantic Release pros" msgstr "Pythonセマンティックリリースの長所" -#: ../../package-structure-code/python-package-versions.md:297 +#: ../../package-structure-code/python-package-versions.md:299 msgid "Follows semver versioning closely" msgstr "センバーのバージョニングに忠実に従う" -#: ../../package-structure-code/python-package-versions.md:298 +#: ../../package-structure-code/python-package-versions.md:300 msgid "" "Enforces maintainers using descriptive commit messages which can simplify" " troubleshooting and ensure a cleaner and more self-describing git " "history." msgstr "説明的なコミットメッセージを使ってメンテナを強制します。これにより、トラブルシューティングを簡素化し、よりクリーンで自己記述的なgit履歴を確保することができます。" -#: ../../package-structure-code/python-package-versions.md:300 -msgid "Python Semantic Release Cons" +#: ../../package-structure-code/python-package-versions.md:302 +#, fuzzy +msgid "Python Semantic Release cons" msgstr "Pythonセマンティックリリースの短所" -#: ../../package-structure-code/python-package-versions.md:302 +#: ../../package-structure-code/python-package-versions.md:304 msgid "" "Requires very specific commit language to work. In practice some " "maintainers and contributors may not be able to maintain that level of " @@ -6284,7 +6218,7 @@ msgstr "" "実際には、メンテナや貢献者の中にはコミットメッセージにそのレベルの具体性を保てない人もいるでしょう (注意: リポジトリ内の git commit" " メッセージをチェックするボットがあります)。" -#: ../../package-structure-code/python-package-versions.md:303 +#: ../../package-structure-code/python-package-versions.md:305 msgid "" "Release happens at the command line. This makes is harder to implement a " "GitHub based release workflow as the wrong commit message could trigger a" @@ -6293,7 +6227,7 @@ msgstr "" "リリースはコマンドラインで行われます。 このため、GitHub " "ベースのリリースワークフローを実装するのが難しくなります。間違ったコミットメッセージがリリースのトリガーになってしまう可能性があるからです。" -#: ../../package-structure-code/python-package-versions.md:304 +#: ../../package-structure-code/python-package-versions.md:306 msgid "" "The version number is manually updated in a configuration file such as " "`pyproject.toml` vs. in a package **\\_version.py** file." @@ -6362,3 +6296,1020 @@ msgstr "" #~ "_マイナーチェンジ:_ " #~ "Poetryが現在pyproject.tomlファイルにメタデータを追加する方法は、現在のPythonの標準に従っていません。 " #~ "しかし、これは Poetry リリースバージョン 2.0 で対処される予定です。" + +#~ msgid "" +#~ "A Python package dependency refers to" +#~ " an external package or software that" +#~ " your Python project:" +#~ msgstr "Pythonパッケージ依存とは、Pythonプロジェクトが使用する外部パッケージやソフトウェアのことです:" + +#~ msgid "Needs to function properly." +#~ msgstr "適切に機能する必要があります。" + +#~ msgid "" +#~ "Requires if someone wants to develop " +#~ "/ work on improving your package " +#~ "locally or" +#~ msgstr "もし、あなたのパッケージをローカルで開発したり、改良したりしたい人がいるか" + +#~ msgid "" +#~ "Requires if a user wants to add" +#~ " additional functionality (that is not " +#~ "core) to your package" +#~ msgstr "ユーザが(コアではない)追加機能をパッケージに追加したい場合に必要です。" + +#~ msgid "" +#~ "You can think about dependencies as " +#~ "being either optional or required. If" +#~ " they are required, they will be " +#~ "listed in the `dependencies` key in " +#~ "the `project` table of your " +#~ "`pyproject.toml` file. If they are " +#~ "optional, they will be listed in " +#~ "the `[optional.dependencies]` table of your" +#~ " `pyproject.toml`." +#~ msgstr "" +#~ "依存関係はオプションか必須であると考えることができます。 必須であれば、 `pyproject` " +#~ "テーブルの `dependencies` キーにリストされます。 オプションの場合は、 " +#~ "`pyproject.toml` の `[optional.dependencies]` " +#~ "テーブルにリストされます。" + +#~ msgid "You will learn about both below." +#~ msgstr "両者については後述します。" + +#~ msgid "" +#~ "There are two broad groups of " +#~ "Python package dependencies: those that " +#~ "are optional and those that are " +#~ "required. Required packages are those " +#~ "that a user needs to use your " +#~ "package. Optional dependencies are packages" +#~ " a user can chose to install to" +#~ " add functionality to your package. " +#~ "Within those 2 groups, there are " +#~ "three use cases that you can think" +#~ " about. 1. Core dependencies are " +#~ "**required** for a user to use " +#~ "your package. 2. Development dependencies " +#~ "are optional and only needed if " +#~ "someone wants to work on your " +#~ "package locally. 3. Finally feature " +#~ "dependencies are optional and add " +#~ "additional functionality to your package. " +#~ "Not all packages will have feature " +#~ "dependencies." +#~ msgstr "" +#~ "Pythonパッケージの依存関係には、オプションのものと必須のものの2つの大きなグループがあります。必須パッケージとは、ユーザがあなたのパッケージを使うために必要なパッケージのことです。オプションの依存関係とは、パッケージの機能を追加するために、ユーザーがインストールを選択できるパッケージのことです。この2つのグループの中で、3つのユースケースを考えることができます。1." +#~ " コアの依存関係は、ユーザがあなたのパッケージを使うために **必須** です。2. " +#~ "開発依存関係はオプションで、誰かがあなたのパッケージをローカルで作業したい場合にのみ必要です。3. " +#~ "最後に、機能依存はオプションであり、パッケージに追加機能を追加します。 すべてのパッケージが機能依存を持つわけではありません。" + +#~ msgid "Required (or core) dependencies" +#~ msgstr "必須(またはコア)の依存関係" + +#~ msgid "" +#~ "Required dependencies are called directly " +#~ "within your package's code. On this " +#~ "page we refer to these dependencies " +#~ "as **core dependencies** as they are " +#~ "needed in order to run your " +#~ "package. You should place your core " +#~ "or required dependencies in the " +#~ "`dependencies` key of the `[project]` " +#~ "table of your `pyproject.toml` file." +#~ msgstr "" +#~ "必要な依存関係は、パッケージのコード内で直接呼び出されます。このページでは、パッケージを実行するために必要なこれらの依存関係を " +#~ "**コア依存関係** と呼びます。 `pyproject.toml` ファイルの " +#~ "`[project]` テーブルの `dependencies` " +#~ "キーに、コアまたは必要な依存関係を置く必要があります。" + +#~ msgid "" +#~ "Optional dependencies dependencies can be " +#~ "optionally installed by users depending " +#~ "upon their needs. There are two " +#~ "broad groups of optional dependencies:" +#~ msgstr "" +#~ "オプションの依存関係依存関係は、ユーザーが必要に応じてオプションでインストールすることができます。 " +#~ "オプションの依存関係には、大きく分けて2つのグループがあります:" + +#~ msgid "" +#~ "**Development dependencies**: These are " +#~ "dependencies that are required to " +#~ "support development of your package. " +#~ "They include tools to run tests " +#~ "such as `pytest`, linters (like `flake8`" +#~ " and `ruff`) and code formatters such" +#~ " as `black` and even automation tools" +#~ " such as `nox` or `tox` that " +#~ "run tasks." +#~ msgstr "" +#~ "**開発依存** :これらは、あなたのパッケージの開発をサポートするために必要な依存関係です。pytest` " +#~ "のようなテストを実行するツールや、 ( `flake8` や `ruff` " +#~ "のような) リンター、`black` のようなコードフォーマッター、さらにはタスクを実行する `nox`" +#~ " や `tox` のような自動化ツールも含まれます。" + +#~ msgid "" +#~ "**Feature dependencies:** These are " +#~ "dependencies that a user can chose " +#~ "to install to add functionality to " +#~ "your package." +#~ msgstr "" +#~ "**Feature dependencies:** これらは、パッケージに機能を追加するために、ユーザーが " +#~ "インストールを選択できる依存関係です。" + +#~ msgid "" +#~ "When a Python project is installed, " +#~ "the Python package manager (either `pip`" +#~ " or `conda`) installs your package's " +#~ "dependencies automatically. This ensures that" +#~ " when you call a function in a" +#~ " specific dependency, it is available " +#~ "in your user's environment." +#~ msgstr "" +#~ "Python プロジェクトがインストールされると、Python パッケージマネージャ (`pip`" +#~ " または `conda`) " +#~ "はパッケージの依存関係を自動的にインストールします。これにより、特定の依存関係にある関数を呼び出すと、ユーザーの環境でその関数が利用できるようになります。" + +#~ msgid "Dependencies can be added to your pyproject.toml file" +#~ msgstr "依存関係はpyproject.tomlファイルに追加できます" + +#~ msgid "" +#~ "Previously, it was common to use a" +#~ " `requirements.txt` file to declare package" +#~ " dependencies. However in recent years, " +#~ "the ecosystem has moved to storing " +#~ "this information in your **pyproject.toml**" +#~ " file. You may notice however that" +#~ " some projects still maintain a " +#~ "`requirements.txt` file for specific local " +#~ "development needs." +#~ msgstr "" +#~ "以前は `requirements.txt` " +#~ "ファイルを使ってパッケージの依存関係を宣言するのが一般的でした。しかし近年、エコシステムはこの情報を " +#~ "**pyproject.toml** " +#~ "ファイルに保存するようになりました。しかし、プロジェクトによっては、特定のローカルな開発ニーズのために " +#~ "`requirements.txt` ファイルを保持していることに気づくかもしれません。" + +#~ msgid "Other ways you may see packages storing dependencies" +#~ msgstr "パッケージが依存関係を保存する他の方法" + +#~ msgid "" +#~ "Your core project dependencies need to" +#~ " be installed by a package manager" +#~ " such as `pip` or `conda` when " +#~ "a user installs your package. You " +#~ "can add those dependencies to the " +#~ "`dependencies` array located within the " +#~ "`[project]` table of your **pyproject.toml**" +#~ " file. This looks something like " +#~ "this:" +#~ msgstr "" +#~ "コアプロジェクトの依存関係は、ユーザがパッケージをインストールするときに `pip` や `conda`" +#~ " のようなパッケージマネージャによってインストールされる必要があります。 " +#~ "これらの依存関係は、**pyproject.toml** ファイルの `[project]` " +#~ "テーブルにある `dependencies` 配列に追加することができます。 これは次のようになります:" + +#~ msgid "" +#~ "Ideally, you should only list the " +#~ "packages that are necessary to install" +#~ " and use your package in the " +#~ "`dependencies` key in the `[project]` " +#~ "table. This minimizes the number of " +#~ "additional packages that your users must" +#~ " install as well as the number " +#~ "of packages that depend upon your " +#~ "package must also install." +#~ msgstr "" +#~ "理想的には、 `[project]` テーブルの `dependencies` " +#~ "キーに、あなたのパッケージをインス トールして使用するために必要なパッケージだけをリストするようにしま す。 " +#~ "こうすることで、ユーザがインストールしなければならない追加パッケージの数や " +#~ "あなたのパッケージに依存するパッケージの数を最小限に抑えることができます。" + +#~ msgid "A dependency example" +#~ msgstr "依存関係の例" + +#~ msgid "" +#~ "Let's pretend you have a package " +#~ "called `plotMe` that creates beautiful " +#~ "plots of data stored in `numpy` " +#~ "arrays. To create your plots in " +#~ "the `plotMe` package, you use the " +#~ "`seaborn` package to stylize our plots" +#~ " and also `numpy` to process array" +#~ " formatted data." +#~ msgstr "" +#~ "`numpy` 配列に格納されたデータの美しいプロットを作成する `plotMe` " +#~ "というパッケージがあるとしましょう。 `plotMe` パッケージでプロットを作成するには、 " +#~ "`seaborn` パッケージを使用してプロットをスタイリングし、 `numpy` " +#~ "パッケージを使用して配列フォーマットのデータを処理します。" + +#~ msgid "In the example above, the plotMe package, depends upon two packages:" +#~ msgstr "上の例では、plotMeパッケージは2つのパッケージに依存しています:" + +#~ msgid "seaborn" +#~ msgstr "seaborn" + +#~ msgid "numpy" +#~ msgstr "numpy" + +#~ msgid "" +#~ "This means that in order for " +#~ "plotMe to work in a user's " +#~ "`environment` when installed, you also " +#~ "need to ensure that they have both" +#~ " of those required `dependencies` installed" +#~ " in their environment too." +#~ msgstr "" +#~ "つまり、plotMeをインストールしたユーザーの `環境` で動作させるためには、そのユーザーの環境にも必要な" +#~ " `依存関係` の両方がインストールされていることを確認する必要があります。" + +#~ msgid "" +#~ "Declaring a dependency in your " +#~ "`pyproject.toml` file will ensure that " +#~ "it is listed as a required " +#~ "dependency when your package is " +#~ "published to PyPI and that a " +#~ "package manager (`pip` or `conda`) will" +#~ " automatically install it into a " +#~ "user's environment alongside your package:" +#~ msgstr "" +#~ "依存関係を `pyproject.toml` ファイルで宣言することで、あなたのパッケージが PyPI" +#~ " に公開されるときに必須の依存関係としてリストされ、パッケージマネージャ ( `pip` や" +#~ " `conda` ) があなたのパッケージと一緒にユーザーの環境に自動的にインストールするようになります:" + +#~ msgid "`python -m pip install plotMe`" +#~ msgstr "`python -m pip install plotMe`" + +#~ msgid "" +#~ "Optional dependencies for building your " +#~ "documentation, running your tests and " +#~ "building your package's distribution files " +#~ "are often referred to as development " +#~ "dependencies. These are the dependencies " +#~ "that a user needs to work on " +#~ "your package locally and perform tasks" +#~ " such as:" +#~ msgstr "" +#~ "ドキュメントの構築、テストの実行、パッケージの配布ファイルの構築のための " +#~ "オプションの依存関係は、しばしば開発依存関係と呼ばれます。 " +#~ "これらは、ユーザがあなたのパッケージをローカルで作業し、以下のようなタスクを実行するために必要な依存関係です:" + +#~ msgid "linting and other code cleanup tools" +#~ msgstr "リンティングとその他のコードクリーンナップツール" + +#~ msgid "" +#~ "These dependencies are considered optional," +#~ " because they are not required to " +#~ "install and use your package. Feature" +#~ " dependencies are considered optional and" +#~ " should also be placed in the " +#~ "`[project.optional-dependencies]` table." +#~ msgstr "" +#~ "これらの依存関係はオプションとみなされます。なぜなら、あなたのパッケ ージをインストールして使用するのに必要ではないからです。" +#~ " 機能の依存関係はオプションとみなされ、 `[project.optional-dependencies]`" +#~ " テーブルに置く必要があります。" + +#~ msgid "" +#~ "Optional dependencies can be stored in" +#~ " an `[project.optional-dependencies]` table " +#~ "in your **pyproject.toml** file." +#~ msgstr "" +#~ "オプションの依存関係は **pyproject.toml** ファイルの `[project" +#~ ".optional-dependencies]` テーブルに格納することができます。" + +#~ msgid "" +#~ "It's important to note that within " +#~ "the `[project.optional-dependencies]` table, " +#~ "you can store additional, optional " +#~ "dependencies within named sub-groups. " +#~ "This is a different table than the" +#~ " dependencies array located within the " +#~ "`[project]` table discussed above which " +#~ "contains a single array with a " +#~ "single list of required packages." +#~ msgstr "" +#~ "ここで重要なのは、 `[project.optional-dependencies]` " +#~ "テーブルの中で、名前付きサブグループの中に追加のオプションの依存関係を格納できることです。これは、上で説明した " +#~ "`[project]` " +#~ "テーブル内の依存関係配列とは異なるテーブルであり、必要なパッケージのリストを1つだけ含む配列が1つ格納されています。" + +#~ msgid "" +#~ "Add a `[project.optional-dependencies]` table" +#~ " to your **pyproject.toml** file." +#~ msgstr "**pyproject.toml** ファイルに `[project.optional-dependencies]` テーブルを追加します。" + +#~ msgid "Create named groups of dependencies using the syntax:" +#~ msgstr "構文を使って、依存関係の名前付きグループを作成します:" + +#~ msgid "`group-name = [\"dep1\", \"dep2\"]`" +#~ msgstr "`group-name = [\"dep1\", \"dep2\"]`" + +#~ msgid "" +#~ "Below we've created three sets of " +#~ "optional development dependencies named: " +#~ "tests, docs and lint. We've also " +#~ "added a set of feature dependencies." +#~ msgstr "以下では、tests、docs、lintという3つのオプションの開発依存関係を作成しました。また、機能依存のセットも追加しました。" + +#~ msgid "Using `python -m pip install` vs. `pip install`" +#~ msgstr "`python -m pip install` と `pip install` の比較" + +#~ msgid "" +#~ "In all of the examples in this " +#~ "guide, you will notice we are " +#~ "calling `pip` using the syntax:" +#~ msgstr "このガイドのすべての例で、構文を使って `pip` を呼び出していることに気づくでしょう:" + +#~ msgid "`python -m pip`" +#~ msgstr "`python -m pip`" + +#~ msgid "" +#~ "To ensure this works as you want" +#~ " it to, activate your package's " +#~ "development environment prior to installing" +#~ " anything using `pip`." +#~ msgstr "これが思い通りに動くようにするには、 `pip` を使って何かをインストールする前に、パッケージの開発環境を有効にしてください。" + +#~ msgid "" +#~ "You can install development dependencies " +#~ "using the groups that you defined " +#~ "above using the syntax:" +#~ msgstr "上記で定義したグループを使用して、構文を使って開発依存ファイルをインストールすることができます:" + +#~ msgid "`python -m pip install \".[docs]\"`" +#~ msgstr "`python -m pip install \".[docs]\"`" + +#~ msgid "Above you install:" +#~ msgstr "上記でインストールするのは:" + +#~ msgid "dependencies needed for your documentation (`docs`)," +#~ msgstr "ドキュメント (`docs`) に必要な依存関係、" + +#~ msgid "required package dependencies in the `dependencies` array and" +#~ msgstr "必要なパッケージの依存関係を `dependency` 配列で指定し" + +#~ msgid "your package" +#~ msgstr "あなたのパッケージ" + +#~ msgid "" +#~ "using pip. Below you install your " +#~ "package, required dependencies and optional" +#~ " test dependencies." +#~ msgstr "pipを使います。 以下では、パッケージ、必要な依存関係、オプションのテスト依存関係をインストールします。" + +#~ msgid "`python -m pip install \".[docs, tests, lint]\"`" +#~ msgstr "`python -m pip install \".[docs, tests, lint]\"`" + +#~ msgid "For zsh shell users" +#~ msgstr "zshシェルユーザーの場合" + +#~ msgid "" +#~ "There are different shell applications " +#~ "that you and your package contributors" +#~ " might use." +#~ msgstr "あなたやパッケージの貢献者が使うかもしれません、さまざまなシェルアプリケーションがあります。" + +#~ msgid "zsh is the shell that comes by default on newer Mac OS computers" +#~ msgstr "zsh は、新しい Mac OS コンピュータにデフォルトで搭載されているシェルです" + +#~ msgid "Windows users may use a tool such as git bash" +#~ msgstr "Windowsユーザーは、git bashのようなツールを使うことができます" + +#~ msgid "" +#~ "Some shells don't support unquoted " +#~ "brackets (`[tests]`) which is why we " +#~ "add quotes to the command in this" +#~ " guide like this:" +#~ msgstr "" +#~ "シェルによっては、引用符で囲まれていない括弧 (`[tests]`) " +#~ "をサポートしていないものもあるので、このガイドではこのようにコマンドに引用符を追加しています:" + +#~ msgid "" +#~ "In some cases you may see commands" +#~ " without the quotes in guidebooks or" +#~ " contributing guides like the example " +#~ "below:" +#~ msgstr "ガイドブックやコントリビューションガイドでは、以下の例のように引用符を使わないコマンドを見かけることがあります:" + +#~ msgid "`python -m pip install your-package[tests]`" +#~ msgstr "`python -m pip install your-package[tests]`" + +#~ msgid "" +#~ "Calling your-package[tests] without the " +#~ "double quotes will work on some " +#~ "shells *but not all*." +#~ msgstr "二重引用符を付けずに your-package[tests] を呼び出すと、一部のシェルでは動作しますが、 *すべてではありません* 。" + +#~ msgid "" +#~ "Above we reviewed how to install " +#~ "dependencies from your `pyproject.toml`. In" +#~ " some cases you may want to " +#~ "group sets of dependencies like so:" +#~ msgstr "" +#~ "上記では、 `pyproject.toml` から依存関係をインストールする方法を説明しました。 " +#~ "場合によっては、依存関係のセットをこのようにグループ化したいこともあるでしょう:" + +#~ msgid "" +#~ "The above allows you to install " +#~ "both the tests and docs dependency " +#~ "lists using the command:" +#~ msgstr "上記のコマンドを使えば、testsとdocsの両方の依存リストをインストールできます:" + +#~ msgid "`python -m pip install \".[dev]\"`" +#~ msgstr "`python -m pip install \".[dev]\"`" + +#~ msgid "When you install dependencies using the above syntax:" +#~ msgstr "上記の構文を使って依存関係をインストールする場合:" + +#~ msgid "`python -m pip install \".[tests, docs]\"`" +#~ msgstr "`python -m pip install \".[tests, docs]\"`" + +#~ msgid "Where does conda fit in?" +#~ msgstr "condaはどこに入りますか?" + +#~ msgid "" +#~ "The `pyproject.toml` file allows you to" +#~ " list any Python package published on" +#~ " PyPI (or on GitHub/ GitLab) as " +#~ "a dependency. Once you create this " +#~ "file, declare dependencies, [build your " +#~ "package](python-package-distribution-files-" +#~ "sdist-wheel.md) and [publish your package" +#~ " to PyPI](publish-python-package-pypi-" +#~ "conda.md), people can install both your" +#~ " package and all of it's dependencies" +#~ " with one command." +#~ msgstr "" +#~ "`pyproject.toml` ファイルを使うと、PyPI(またはGitHub/ " +#~ "GitLab)で公開されているPythonパッケージを依存関係として列挙することができます。 " +#~ "このファイルを作成し、依存関係を宣言し、 [パッケージをビルドする](python-package-" +#~ "distribution-files-sdist-wheel.md) 、 " +#~ "[パッケージをPyPIに公開する](publish-python-package-pypi-" +#~ "conda.md) " +#~ "とすると、1つのコマンドであなたのパッケージと依存関係のあるパッケージの両方をインストールすることができます。" + +#~ msgid "`python -m pip install your-package`" +#~ msgstr "`python -m pip install your-package`" + +#~ msgid "" +#~ "This works great if your package " +#~ "is pure-python (no other languages " +#~ "used)." +#~ msgstr "これは、パッケージが純粋なpython (他の言語が使われていない) のであれば、とてもうまくいきます。" + +#~ msgid "Support conda users with environment.yml files" +#~ msgstr "environment.yml ファイルで conda ユーザーをサポートする" + +#~ msgid "" +#~ "The above workflow assumes that you " +#~ "want to publish your package on " +#~ "PyPI. And then you plan to publish" +#~ " to conda-forge (optionally), [by " +#~ "submitting a recipe using " +#~ "grayskull](https://www.pyopensci.org/python-package-guide" +#~ "/package-structure-code/publish-python-" +#~ "package-pypi-conda.html)." +#~ msgstr "" +#~ "上記のワークフローは、PyPIでパッケージを公開することを想定しています。そして、 " +#~ "[grayskullを使ってレシピを投稿する](https://www.pyopensci.org/python-" +#~ "package-guide/package-structure-code/publish-" +#~ "python-package-pypi-conda.html) ことで、conda-" +#~ "forgeに(オプションで)公開する予定です。" + +#~ msgid "" +#~ "If you want to support conda " +#~ "users, you may want to also " +#~ "maintain a conda environment that they" +#~ " can use to install your package. " +#~ "Maintaining a conda environment will " +#~ "also help you test that your " +#~ "package installs as you expect into " +#~ "a conda environment." +#~ msgstr "" +#~ "conda ユーザーをサポートしたいのであれば、彼らがあなたのパッケージをインス トールするのに使える " +#~ "conda 環境も管理した方が良いでしょう。 conda 環境を維持することは、あなたのパッケージが" +#~ " conda 環境に期待通りにインストールされるかをテストするのにも役立ちます。" + +#~ msgid "" +#~ "If you use a conda environment for" +#~ " developing your tool, keep in mind" +#~ " that when you install your package" +#~ " using `python -m pip install -e " +#~ ".` (or using pip in general), " +#~ "dependencies will be installed from PyPI" +#~ " rather than conda." +#~ msgstr "" +#~ "ツールの開発にconda環境を使用している場合、 `python -m pip " +#~ "install -e .` " +#~ "を使用してパッケージをインストールするとき(または一般的にpipを使用するとき)、依存関係はcondaではなくPyPIからインストールされることに注意してください。" + +#~ msgid "" +#~ "Thus, if you are running a conda" +#~ " environment, installing your package in" +#~ " \"editable\" mode risks dependency " +#~ "conflicts. This is particularly important " +#~ "if you have a spatial package that" +#~ " requires geospatial system libraries like" +#~ " GDAL or another system-level " +#~ "dependency." +#~ msgstr "" +#~ "したがって、conda環境を実行している場合、パッケージを \"editable \"モードでインス " +#~ "トールすると、依存関係が衝突する危険性があります。 " +#~ "これは、GDALのような地理空間システムライブラリや他のシステムレベルの依存関係を必要とする空間パッケージがある場合、特に重要です。" + +#~ msgid "" +#~ "Alternatively, you can install your " +#~ "package using `python -m pip install " +#~ "-e . --no-deps` to only install" +#~ " the package. And install the rest" +#~ " of your dependencies using a conda" +#~ " environment file." +#~ msgstr "" +#~ "あるいは、 `python -m pip install -e ." +#~ " --no-deps` " +#~ "を使ってパッケージだけをインストールすることもできます。そして、conda環境ファイルを使って残りの依存関係をインストールします。" + +#~ msgid "" +#~ "If you are using Read the Docs " +#~ "to build your documentation, then you" +#~ " may need to install your " +#~ "dependencies using a **readthedocs.yaml** " +#~ "file." +#~ msgstr "" +#~ "Read the Docsを使用してドキュメントを構築している場合、 " +#~ "**readthedocs.yaml** ファイルを使用して依存関係をインストールする必要があるかもしれません。" + +#~ msgid "" +#~ "Below is an example of installing " +#~ "the **docs** section of your dependency" +#~ " table in the pyproject.toml file " +#~ "within a readthedocs.yaml file." +#~ msgstr "" +#~ "以下は、readthedocs.yamlファイル内のpyproject.tomlファイルに依存関係テーブルの **docs**" +#~ " セクションをインストールする例です。" + +#~ msgid "Read the Docs and Python packages" +#~ msgstr "Read the DocsとPythonパッケージ" + +#~ msgid "This is hidden. TO" +#~ msgstr "これは隠されています。TO" + +#~ msgid "" +#~ "This section provides guidance on your" +#~ " Python package's structure, code format," +#~ " and style. It also reviews the " +#~ "various [packaging tools](python-package-" +#~ "build-tools) you can use to [build" +#~ "](python-package-distribution-files-sdist-" +#~ "wheel) and [publish](publish-python-" +#~ "package-pypi-conda) your Python package." +#~ msgstr "" +#~ "このセクションでは、Python " +#~ "パッケージの構造、コードフォーマット、スタイルに関するガイダンスを提供します。また、Pythonパッケージの [build" +#~ "](python-package-distribution-files-sdist-" +#~ "wheel) や [publish](publish-python-package-" +#~ "pypi-conda) に使える様々な [packaging tools" +#~ "](python-package-build-tools) もレビューしています。" + +#~ msgid "" +#~ "If you want end-to-end tutorials," +#~ " check out our tutorial series that" +#~ " starts by introducing [what a Python" +#~ " package is](what-is-a-package)." +#~ msgstr "" +#~ "チュートリアルが必要な場合は、 [Python パッケージとは](what-is-a-package)" +#~ " 何かを紹介するところから始まるチュートリアルシリーズをご覧ください。" + +#~ msgid "" +#~ "If you are confused by Python " +#~ "packaging, you are not alone! The " +#~ "good news is that some great " +#~ "modern packaging tools ensure you follow" +#~ " best practices. Here, we review tool" +#~ " features and suggest tools you can" +#~ " use for your Python packaging " +#~ "workflow." +#~ msgstr "" +#~ "Python のパッケージングに戸惑っているのはあなただけではありません! " +#~ "良いニュースは、あなたがベストプラクティスに従っていることを保証する、いくつかの素晴らしい最新のパッケージングツールがあるということです。" +#~ " ここでは、ツールの機能をレビューし、あなたのワークフローに最適なツールを提案します。" + +#~ msgid "Checkout our beginning-to-end create a Python package tutorials" +#~ msgstr "Pythonパッケージ作成チュートリアルをご覧ください。" + +#~ msgid "" +#~ "src layout, flat layout and where " +#~ "should tests folders live? No matter " +#~ "what your level of packaging knowledge" +#~ " is, this page will help you " +#~ "decide upon a package structure that " +#~ "follows modern python best practices." +#~ msgstr "" +#~ "src レイアウト、フラットレイアウト、テストフォルダはどこに置くべきか? " +#~ "あなたのパッケージング知識のレベルに関係なく、このページは最新のpythonのベストプラクティスに従ったパッケージ構造を決める助けになるでしょう。" + +#~ msgid "✨ 2. Learn about building your package ✨" +#~ msgstr "✨ 2. パッケージの構築について学ぶ✨ " + +#~ msgid "" +#~ "To publish your Python package on " +#~ "PyPI, you will need to first build" +#~ " it. The act of \"building\" refers" +#~ " to the process of placing your " +#~ "package code and metadata into a " +#~ "format that can be published on " +#~ "PyPI. Learn more about building your " +#~ "Python package." +#~ msgstr "" +#~ "PythonパッケージをPyPIで公開するには、まずビルドする必要があります。 \"ビルド\" " +#~ "とは、パッケージのコードとメタデータをPyPIで公開できるような形式にすることです。 " +#~ "Pythonパッケージのビルドについての詳細はこちらをご覧ください。" + +#~ msgid "✨ 3. What Python package tool should you use? ✨" +#~ msgstr "✨ 3. どのPythonパッケージツールを使うべきですか? ✨" + +#~ msgid "" +#~ "Learn more about the suite of " +#~ "packaging tools out there. And learn " +#~ "which tool might be best for you." +#~ msgstr "パッケージングツール群についてもっと知りましょう。そして、どのツールがあなたに最適かを学びましょう。" + +#~ msgid "" +#~ "If you have a pure Python package," +#~ " it's a straight forward process to" +#~ " publish to both PyPI and then " +#~ "a Conda channel such as conda-" +#~ "forge. Learn more here." +#~ msgstr "" +#~ "純粋なPythonパッケージであれば、PyPIとconda-forgeのようなCondaチャネルの両方に公開するのは簡単です。" +#~ " 詳しくはこちら。" + +#~ msgid "" +#~ "Semver (numeric versioning) and Calver " +#~ "(versioning using the date) are 2 " +#~ "common ways to version a package. " +#~ "Which one should you pick? Learn " +#~ "more here." +#~ msgstr "" +#~ "Semver (数値によるバージョン管理) と Calver (日付によるバージョン管理)" +#~ " は、パッケージをバージョン管理する2つの一般的な方法です。 どちらを選ぶべきでしょうか? 詳しくはこちら。" + +#~ msgid "" +#~ "Black, blue, flake8, Ruff - which " +#~ "tools can help you ensure your " +#~ "package follows best practices for code" +#~ " format? Learn more about the options" +#~ " and why this is important here." +#~ msgstr "" +#~ "Black、blue、flake8、Ruff - " +#~ "あなたのパッケージがコードフォーマットのベストプラクティスに従っていることを確認するのに役立つツールはどれですか? " +#~ "オプションの詳細と、なぜこれが重要なのかについては、こちらをご覧ください。" + +#~ msgid "" +#~ "Diagram showing the various front-end" +#~ " build tools that you can select " +#~ "from. See the packaging tools page " +#~ "to learn more about each tool." +#~ msgstr "選択可能な様々なフロントエンドビルドツールを示す図。 各ツールの詳細については、パッケージングツールのページを参照してください。" + +#~ msgid "In this section of our Python packaging guide, we:" +#~ msgstr "Pythonパッケージングガイドのこのセクションでは、以下のことを説明します:" + +#~ msgid "" +#~ "Provide an overview of the options " +#~ "available to you when packaging your " +#~ "code." +#~ msgstr "コードをパッケージングする際に利用可能なオプションの概要を説明します。" + +#~ msgid "" +#~ "Suggest tools and approaches that both" +#~ " meet your needs and also support " +#~ "existing standards." +#~ msgstr "ニーズを満たし、かつ既存の基準をサポートするツールやアプローチを提案します。" + +#~ msgid "" +#~ "Suggest tools and approaches that will" +#~ " allow you to expand upon a " +#~ "workflow that may begin as a pure" +#~ " Python code and evolve into code " +#~ "that requires addition layers of " +#~ "complexity in the packaging build." +#~ msgstr "純粋なPythonツールから始まり、パッケージングビルドに複雑なレイヤーを追加する必要のあるコードへと進化するワークフローを拡張することを可能にするコードやアプローチを提案します。" + +#~ msgid "" +#~ "Align our suggestions with the most " +#~ "current, accepted [PEPs (Python Enhancement" +#~ " Protocols)](https://peps.python.org/pep-0000/) and the" +#~ " [Scientific Python community SPECs](https" +#~ "://scientific-python.org/specs/)." +#~ msgstr "" +#~ "私たちの提案を、現在受け入れられている [PEPs (Python Enhancement " +#~ "Protocols)](https://peps.python.org/pep-0000/) と " +#~ "[Scientific Python community SPECs](https" +#~ "://scientific-python.org/specs/) に合わせます。" + +#~ msgid "" +#~ "In an effort to maintain consistency " +#~ "within our community, we also align " +#~ "with existing best practices being " +#~ "implemented by developers of core " +#~ "Scientific Python packages such as " +#~ "Numpy, SciPy and others." +#~ msgstr "" +#~ "私たちのコミュニティ内での一貫性を維持するために、NumpyやSciPyなどのScientific " +#~ "Pythonのコアパッケージの開発者によって実装されている既存のベストプラクティスとも連携しています。" + +#~ msgid "Guidelines for pyOpenSci's packaging recommendations" +#~ msgstr "pyOpenSciのパッケージング推奨のガイドライン" + +#~ msgid "" +#~ "The flexibility of the Python " +#~ "programming language lends itself to a" +#~ " diverse range of tool options for" +#~ " creating a Python package. Python is" +#~ " so flexible that it is one of" +#~ " the few languages that can be " +#~ "used to wrap around other languages. " +#~ "The ability of Python to wrap " +#~ "other languages is one the reasons " +#~ "you will often hear Python described " +#~ "as a [\"glue\" " +#~ "language](https://numpy.org/doc/stable/user/c-info.python-as-" +#~ "glue.html)\"" +#~ msgstr "" +#~ "Pythonプログラミング言語の柔軟性は、Pythonパッケージを作成するための多様なツールオプションに適しています。Pythonはとても柔軟で、他の言語を包み込むように使える数少ない言語のひとつです。Pythonが他の言語をラッピングする能力は、Pythonが" +#~ " [\"glue\" language](https://numpy.org/doc/stable/user/c-info" +#~ ".python-as-glue.html)\" と表現されるのをよく耳にする理由の1つです。" + +#~ msgid "" +#~ "If you are building a pure Python" +#~ " package, then your packaging setup " +#~ "can be simple. However, some scientific" +#~ " packages have complex requirements as " +#~ "they may need to support extensions " +#~ "or tools written in other languages " +#~ "such as C or C++." +#~ msgstr "純粋なPythonパッケージを構築するのであれば、パッケージングのセットアップは単純でよいです。しかし、科学的なパッケージの中には、CやC++のような他の言語で書かれた拡張機能やツールをサポートする必要があり、複雑な要件を持つものがあります。" + +#~ msgid "" +#~ "To support the many different uses " +#~ "of Python, there are many ways to" +#~ " create a Python package. In this " +#~ "guide, we suggest packaging approaches " +#~ "and tools based on:" +#~ msgstr "" +#~ "Python の様々な使い方をサポートするために、Python パッケージを作成する方法はたくさんあります。 " +#~ "このガイドでは、パッケージングのアプローチとツールを提案します:" + +#~ msgid "" +#~ "What we think will be best and " +#~ "easiest to adopt for those who are" +#~ " newer to packaging." +#~ msgstr "パッケージングに慣れていない人たちにとって、私たちが最善で最も採用しやすいと考えるもの。" + +#~ msgid "Tools that we think are well maintained and documented." +#~ msgstr "よく整備され、文書化されていると思われるツール。" + +#~ msgid "" +#~ "A shared goal of standardizing packaging" +#~ " approaches across this (scientific) Python" +#~ " ecosystem." +#~ msgstr "この (科学的な) Pythonエコシステム全体でパッケージングアプローチを標準化するという共通の目標。" + +#~ msgid "Suggestions in this guide are not pyOpenSci review requirements" +#~ msgstr "このガイドの提案はpyOpenSciのレビュー要件ではありません" + +#~ msgid "" +#~ "The suggestions for package layout in" +#~ " this section are made with the " +#~ "intent of being helpful; they are " +#~ "not specific requirements for your " +#~ "package to be reviewed and accepted " +#~ "into our pyOpenSci open source " +#~ "ecosystem." +#~ msgstr "" +#~ "このセクションのパッケージレイアウトの提案は、参考になることを意図しています。 " +#~ "これらは、あなたのパッケージがpyOpenSciオープンソースエコシステムにレビューされ、受け入れられるための特定の要件ではありません。" + +#~ msgid "" +#~ "**python-requires**: is important to " +#~ "have in your `pyproject.toml` file as" +#~ " it helps pip install your package." +#~ msgstr "" +#~ "**python-requires**: `pyproject.toml`ファイルに記述することが重要です。 " +#~ "これはpipがパッケージをインストールするのに役立つからです。" + +#~ msgid "What happened to setup.py & how do i migrate to pyproject.toml?" +#~ msgstr "setup.pyに何が起こったのか、そしてどのようにpyproject.tomlに移行するのか?" + +#~ msgid "" +#~ "Prior to August 2017, Python package " +#~ "metadata was stored either in the " +#~ "`setup.py` file or a `setup.cfg` file." +#~ " In recent years, there has been " +#~ "a shift to storing Python package " +#~ "metadata in a much more user-" +#~ "readable `pyproject.toml` format. Having all" +#~ " metadata in a single file:" +#~ msgstr "" +#~ "2017年8月以前は、Pythonパッケージのメタデータは `setup.py` ファイルか " +#~ "`setup.cfg` ファイルに保存されていました。 近年、Python " +#~ "パッケージのメタデータは、よりユーザが読みやすい `pyproject.toml` " +#~ "フォーマットで保存されるようになりました。 すべてのメタデータを1つのファイルに持つことです:" + +#~ msgid "simplifies package management," +#~ msgstr "パッケージ管理を簡素化します、" + +#~ msgid "" +#~ "allows you to use a suite of " +#~ "different [build backends](https://www.pyopensci.org" +#~ "/python-package-guide/package-structure-code" +#~ "/python-package-build-tools.html#build-back-" +#~ "ends) such as (flit-core, hatchling, " +#~ "pdm-build), and" +#~ msgstr "" +#~ "(flit-core, hatchling, pdm-build)のような一連の異なる" +#~ " [ビルドバックエンド](https://www.pyopensci.org/python-package-" +#~ "guide/package-structure-code/python-package-" +#~ "build-tools.html#build-back-ends) を使うことができます。" + +#~ msgid "aligns with modern best practices." +#~ msgstr "現代のベストプラクティスに合致しています。" + +#~ msgid "" +#~ "The standard file that Python packages" +#~ " use to [specify build requirements " +#~ "and metadata is called a " +#~ "**pyproject.toml**](https://packaging.python.org/en/latest/specifications" +#~ "/declaring-project-metadata/). Adding metadata," +#~ " build requirements and package " +#~ "dependencies to a **pyproject.toml** file " +#~ "replaces storing that information in a" +#~ " setup.py or setup.cfg file." +#~ msgstr "" +#~ "Python パッケージが [ビルド要件とメタデータを指定するために使う標準のファイルは " +#~ "**pyproject.toml** " +#~ "と呼ばれます](https://packaging.python.org/en/latest/specifications" +#~ "/declaring-project-metadata/) 。メタデータ、ビルド要件、パッケージの依存関係を" +#~ " **pyproject.toml** ファイルに追加することは、 setup.py や " +#~ "setup.cfg ファイルに情報を格納することに取って代わります。" + +#~ msgid "" +#~ "**dependencies:** dependencies are optional " +#~ "but we strongly suggest you include " +#~ "them in your pyproject.toml. Dependencies " +#~ "will be installed by pip when your" +#~ " project is installed creating a " +#~ "better user-experience." +#~ msgstr "" +#~ "**dependencies:** 依存関係はオプションですが、pyproject.tomlに含めることを強く推奨します。" +#~ " 依存関係はプロジェクトがインストールされるときにpipによってインストールされ、より良いユーザーエクスペリエンスを提供します。" + +#~ msgid "License" +#~ msgstr "License" + +#~ msgid "The examples at the bottom of this page contain ..." +#~ msgstr "このページの下にある例には ..." + +#~ msgid "Python Package Structure for Scientific Python Projects" +#~ msgstr "科学的PythonプロジェクトのためのPythonパッケージ構造" + +#~ msgid "Click here to read about our packaging documentation requirements." +#~ msgstr "パッケージングに関するドキュメント要件については、こちらをご覧ください。" + +#~ msgid "Example scientific packages that use **src/package** layout" +#~ msgstr "**src/package** レイアウトを使用する科学的パッケージの例" + +#~ msgid "[Sourmash](https://github.com/sourmash-bio/sourmash)" +#~ msgstr "[Sourmash](https://github.com/sourmash-bio/sourmash)" + +#~ msgid "[bokeh](https://github.com/bokeh/bokeh)" +#~ msgstr "[bokeh](https://github.com/bokeh/bokeh)" + +#~ msgid "[openscm](https://github.com/openscm/openscm-runner)" +#~ msgstr "[openscm](https://github.com/openscm/openscm-runner)" + +#~ msgid "[awkward](https://github.com/scikit-hep/awkward)" +#~ msgstr "[awkward](https://github.com/scikit-hep/awkward)" + +#~ msgid "[poliastro](https://github.com/poliastro/poliastro/)" +#~ msgstr "[poliastro](https://github.com/poliastro/poliastro/)" + +#~ msgid "The src/ layout and testing" +#~ msgstr "src/ のレイアウトとテスト" + +#~ msgid "" +#~ "The benefit of using the **src/package**" +#~ " layout is that it ensures tests " +#~ "are run against the installed version" +#~ " of your package rather than the " +#~ "files in your package working directory." +#~ " If you run your tests on your" +#~ " files rather than the installed " +#~ "version of your package, you may " +#~ "be missing issues that users encounter" +#~ " when your package is installed." +#~ msgstr "" +#~ "**src/package** " +#~ "レイアウトを使用する利点は、パッケージの作業ディレクトリ内のファイルではなく、インストールされたバージョンのパッケージに対してテストが実行されることを保証することです。" +#~ " " +#~ "あなたのパッケージのインストールされたバージョンではなく、あなたのファイルでテストを実行すると、あなたのパッケージがインストールされたときにユーザが遭遇する問題を見逃してしまうかもしれません。" + +#~ msgid "" +#~ "If `tests/` are outside the " +#~ "**src/package** directory, they aren't " +#~ "included in the package's [wheel](python-" +#~ "wheel). This makes your package size " +#~ "slightly smaller, which places a smaller" +#~ " storage burden on PyPI, and makes" +#~ " them faster to fetch." +#~ msgstr "" +#~ "`tests/` が **src/package** ディレクトリの外にある場合、それらはパッケージの" +#~ " [wheel](python-wheel) " +#~ "には含まれません。これにより、パッケージのサイズがわずかに小さくなり、PyPIにかかるストレージの負担が小さくなり、フェッチが速くなります。" + +#~ msgid "" +#~ "[Read more about reasons to use " +#~ "the **src/package** layout](https://hynek.me/articles" +#~ "/testing-packaging/)" +#~ msgstr "" +#~ "[**src/package** " +#~ "レイアウトを使用する理由についてもっと読む](https://hynek.me/articles/testing-" +#~ "packaging/)" + +#~ msgid "How Python discovers and prioritizes importing modules" +#~ msgstr "Pythonはどのようにインポートモジュールを検出し、優先順位をつけるか" + +#~ msgid "" +#~ "By default, Python adds a module " +#~ "in your current working directory to " +#~ "the front of the Python module " +#~ "search path." +#~ msgstr "デフォルトでは、Pythonは現在の作業ディレクトリにあるモジュールをPythonモジュール検索パスの先頭に追加します。" + +#~ msgid "" +#~ "This means that if you run your" +#~ " tests in your package's working " +#~ "directory, using a flat layout, " +#~ "`/package/module.py`, Python will discover " +#~ "`package/module.py` file before it discovers" +#~ " the installed package." +#~ msgstr "" +#~ "つまり、パッケージの作業ディレクトリでフラットレイアウトの `/package/module.py` " +#~ "を使ってテストを実行すると、Python はインストールされたパッケージを検出する前に " +#~ "`package/module.py` ファイルを検出します。" + +#~ msgid "" +#~ "However, if your package lives in " +#~ "a src/ directory structure **src/package**," +#~ " then it won't be added to the" +#~ " Python path by default. This means" +#~ " that when you import your package," +#~ " Python will be forced to search " +#~ "the active environment (which has your" +#~ " package installed)." +#~ msgstr "" +#~ "しかし、あなたのパッケージが src/ ディレクトリ構造の **src/package** " +#~ "にある場合、デフォルトでは Python のパスに追加されません。 " +#~ "これは、あなたのパッケージをインポートするとき、Python " +#~ "は(あなたのパッケージがインストールされている)アクティブな環境を強制的に検索することを意味します。" + +#~ msgid "" +#~ "Note: Python versions 3.11 and above " +#~ "have a path setting that can be" +#~ " adjusted to ensure the priority is" +#~ " to use installed packages first " +#~ "(e.g., `PYTHONSAFEPATH`)." +#~ msgstr "" +#~ "注意: " +#~ "Pythonのバージョン3.11以上では、インストールされているパッケージを優先的に使うようにパスの設定を調整することができます " +#~ "( `PYTHONSAFEPATH` など)。" + +#~ msgid "Don't include tests in your package wheel" +#~ msgstr "パッケージホイールにテストを含めない" + +#~ msgid "" +#~ "Writing [tests](tests-intro) for your " +#~ "package is important; however, we do " +#~ "not recommend including tests as part" +#~ " of your [package wheel](python-wheel) " +#~ "by default. However, not including tests" +#~ " in your package distribution will " +#~ "make it harder for people other " +#~ "than yourself to test whether your " +#~ "package runs properly on their system." +#~ " If you have a small test suite" +#~ " (Python files + data), and think " +#~ "your users may want to run tests" +#~ " locally on their systems, you can" +#~ " include tests by moving the `tests/`" +#~ " directory into the **src/package** " +#~ "directory (see example below)." +#~ msgstr "" +#~ "パッケージに [tests](tests-intro) " +#~ "を書くことは重要です、しかし、デフォルトでテストを [パッケージホイール](python-wheel) " +#~ "の一部として含めることはお勧めしません。しかし、パッケージの配布にテストを含めないと、自分以外の人が自分のシステムでパッケージが正しく機能しているかどうかをテストすることが難しくなります。小さなテストスイート" +#~ " (Python ファイル + データ) " +#~ "を持っていて、ユーザが自分のシステムでローカルにテストを実行したいと思う場合、`tests/` ディレクトリを " +#~ "**src/package** ディレクトリに移動することでテストを含めることができます " +#~ "(以下の例を参照してください)。" diff --git a/locales/ja/LC_MESSAGES/tests.po b/locales/ja/LC_MESSAGES/tests.po index c9a0125f..400e2215 100644 --- a/locales/ja/LC_MESSAGES/tests.po +++ b/locales/ja/LC_MESSAGES/tests.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: pyOpenSci Python Package Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-20 11:32+0900\n" +"POT-Creation-Date: 2026-01-04 09:59+0900\n" "PO-Revision-Date: 2025-04-14 18:12+0000\n" "Last-Translator: Tetsuo Koyama , 2025\n" "Language: ja\n" @@ -90,9 +90,10 @@ msgid "Tools for analyzing Python package code coverage" msgstr "Pythonパッケージのコードカバレッジを分析するツール" #: ../../tests/code-cov.md:31 +#, fuzzy msgid "" "Some common services for analyzing code coverage are " -"[codecov.io](https://codecov.io/) and " +"[codecov.io](https://about.codecov.io/) and " "[coveralls.io](https://coveralls.io/). These projects are free for open " "source tools and will provide dashboards that tell you how much of your " "codebase is covered during your tests. We recommend setting up an account" @@ -488,10 +489,12 @@ msgstr "" "には、以下のような機能を追加するために使用できる多くの拡張機能もあります:" #: ../../tests/run-tests.md:80 +#, fuzzy msgid "" "[pytest-cov](https://pytest-cov.readthedocs.io/en/latest/) allows you to " "analyze the code coverage of your package during your tests, and " -"generates a report that you can [upload to codecov](https://codecov.io/)." +"generates a report that you can [upload to " +"codecov](https://about.codecov.io/)." msgstr "" "[pytest-cov](https://pytest-cov.readthedocs.io/en/latest/) " "を使うと、テスト中にパッケージのコードカバレッジを分析し、 [codecov](https://codecov.io/) " @@ -1273,9 +1276,10 @@ msgid "How do I know what type of tests to write?" msgstr "どのような種類のテストを書けばいいのか、どうすればわかりますか?" #: ../../tests/write-tests.md:77 +#, fuzzy msgid "" "This section has been adapted from [a presentation by Nick " -"Murphy](https://zenodo.org/record/8185113)." +"Murphy](https://zenodo.org/records/8185113)." msgstr "" "このセクションは、 [Nick Murphyのプレゼンテーション](https://zenodo.org/record/8185113) " "から引用しました。" diff --git a/locales/ja/LC_MESSAGES/tutorials.po b/locales/ja/LC_MESSAGES/tutorials.po index c952e178..0116d482 100644 --- a/locales/ja/LC_MESSAGES/tutorials.po +++ b/locales/ja/LC_MESSAGES/tutorials.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: pyOpenSci Python Package Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-12 11:17+0200\n" +"POT-Creation-Date: 2026-01-04 09:59+0900\n" "PO-Revision-Date: 2025-04-14 18:12+0000\n" "Last-Translator: Tetsuo Koyama , 2025\n" "Language: ja\n" @@ -94,15 +94,19 @@ msgid "" msgstr "プロジェクトディレクトリに `LICENSE` ファイルを作成し、パッケージに選択したライセンスを指定します。" #: ../../tutorials/add-license-coc.md:29 -msgid "Reference that file in your `pyproject.toml` data where metadata are set." +#, fuzzy +msgid "" +"Describe your choice of license in your `pyproject.toml` data where " +"metadata are set." msgstr "メタデータが設定されている `pyproject.toml` データでそのファイルを参照します。" #: ../../tutorials/add-license-coc.md:31 +#, fuzzy msgid "" -"By adding the `LICENSE` file to your `pyproject.toml` file, the `LICENSE`" -" will be included in your package's metadata which is used to populate " -"your package's PyPI landing page. The `LICENSE` is also used in your " -"GitHub repository's landing page interface." +"By adding this metadata to your `pyproject.toml` file, the choice of " +"license will be included in your package's metadata which is used to " +"populate your package's PyPI landing page. The `LICENSE` file is also " +"used in your GitHub repository's landing page interface." msgstr "" "`LICENSE` ファイルを `pyproject.toml` ファイルに追加することで、 `LICENSE` " "がパッケージのメタデータに含まれるようになります。 `LICENSE` は GitHub " @@ -113,11 +117,13 @@ msgid "What license should you use?" msgstr "どのライセンスを使うべきか?" #: ../../tutorials/add-license-coc.md:35 +#, fuzzy msgid "" "We suggest that you use a permissive license that accommodates the other " "most commonly used licenses in the scientific Python ecosystem (MIT[^mit]" -" and BSD-3[^bsd3]). If you are unsure, use MIT given it's the generally " -"recommended license on [choosealicense.com](https://choosealicense.com/)." +" and BSD-3-Clause[^bsd3]). If you are unsure, use MIT given it's the " +"generally recommended license on " +"[choosealicense.com](https://choosealicense.com/)." msgstr "" "科学的なPythonのエコシステムで最もよく使われるライセンス (MIT[^mit]とBSD-3[^bsd3]) " "に対応した寛容なライセンスを使うことをお勧めします。 よくわからない場合は、 " @@ -514,7 +520,7 @@ msgstr "" #: ../../tutorials/add-license-coc.md:184 ../../tutorials/add-readme.md:238 #: ../../tutorials/publish-conda-forge.md:468 -#: ../../tutorials/pyproject-toml.md:686 +#: ../../tutorials/pyproject-toml.md:690 msgid " Wrap up" msgstr " まとめ" @@ -544,7 +550,7 @@ msgstr "" "これらのファイルは、ユーザがあなたのパッケージの使い方を理解し、パッケージメンテナとやりとりするのに役立ちます。" #: ../../tutorials/add-license-coc.md:196 -#: ../../tutorials/create-python-package.md:446 +#: ../../tutorials/create-python-package.md:445 msgid "In the upcoming lessons, you will:" msgstr "これからのレッスンでは、あなたは:" @@ -563,9 +569,10 @@ msgid "" msgstr "あなたのPythonパッケージの新しいバージョンをテストPyPIに公開して、更新されたメタデータランディングページをプレビューしてください。" #: ../../tutorials/add-license-coc.md:204 -#: ../../tutorials/create-python-package.md:541 +#: ../../tutorials/create-python-package.md:540 #: ../../tutorials/publish-conda-forge.md:480 -#: ../../tutorials/publish-pypi.md:400 +#: ../../tutorials/publish-pypi.md:417 +#: ../../tutorials/trusted-publishing.md:344 msgid "Footnotes" msgstr "脚注" @@ -1028,7 +1035,7 @@ msgstr "ユーザーとの信頼関係を築く" msgid "Discourages misuse of your package and associated code" msgstr "パッケージと関連コードの悪用を防ぐ" -#: ../../tutorials/command-line-reference.md:6 ../../tutorials/intro.md:60 +#: ../../tutorials/command-line-reference.md:6 ../../tutorials/intro.md:61 msgid "Command Line Reference Guide" msgstr "コマンドラインリファレンスガイド" @@ -1100,7 +1107,7 @@ msgid "" msgstr "" #: ../../tutorials/create-python-package.md:16 -#: ../../tutorials/setup-py-to-pyproject-toml.md:20 +#: ../../tutorials/setup-py-to-pyproject-toml.md:21 #, fuzzy msgid "In this lesson, you will learn:" msgstr "このレッスンで学ぶこと:" @@ -1512,9 +1519,10 @@ msgstr "TOMLはデータ構造を整理し、設定ファイル内の関係を #: ../../tutorials/create-python-package.md:248 #, fuzzy msgid "[Learn more about the pyproject.toml format here.](pyprojecttoml-metadata)" -msgstr "[pyproject.tomlフォーマットの詳細はこちら。](pyprojecttoml-metadata)" -"[pyproject.tomlフォーマットの詳細はこちら。](../package-structure-code/pyproject-toml-" -"python-package-metadata)" +msgstr "" +"[pyproject.tomlフォーマットの詳細はこちら。](pyprojecttoml-" +"metadata)[pyproject.tomlフォーマットの詳細はこちら。](../package-structure-code" +"/pyproject-toml-python-package-metadata)" #: ../../tutorials/create-python-package.md:251 msgid "" @@ -1528,18 +1536,18 @@ msgid "" "correct. The email is optional." msgstr "" -#: ../../tutorials/create-python-package.md:291 +#: ../../tutorials/create-python-package.md:290 msgid "" "At the bottom of the template-generated `pyproject.toml` file, you will " "see a section that defines Hatch environments. We will cover Hatch " "environments in a later lesson." msgstr "" -#: ../../tutorials/create-python-package.md:293 +#: ../../tutorials/create-python-package.md:292 msgid "The bare minimum needed in a pyproject.toml file" msgstr "pyproject.tomlファイルに最低限必要なもの" -#: ../../tutorials/create-python-package.md:296 +#: ../../tutorials/create-python-package.md:295 #, fuzzy msgid "" "The core information that you need in a `pyproject.toml` file to publish " @@ -1550,47 +1558,47 @@ msgstr "" "PyPIで公開するために `pyproject.toml` ファイルに必要な情報は、 **パッケージ名** と **バージョン** です。 " "しかし、 `pyproject.toml` ファイルの早い段階でメタデータを具体化することをお勧めします。" -#: ../../tutorials/create-python-package.md:298 +#: ../../tutorials/create-python-package.md:297 #, fuzzy msgid "" "Once you have your project metadata in the `pyproject.toml` file, you " "will rarely update it." msgstr "一度pyproject.tomlファイルにプロジェクトのメタデータがあれば、それを更新することはほとんどありません。次のレッスンでは、このファイルにさらにメタデータと構造を追加します。" -#: ../../tutorials/create-python-package.md:302 +#: ../../tutorials/create-python-package.md:301 msgid "Step 5: Install your package locally" msgstr "ステップ 5: パッケージをローカルにインストールする" -#: ../../tutorials/create-python-package.md:304 +#: ../../tutorials/create-python-package.md:303 #, fuzzy msgid "At this point, you should have:" msgstr "この時点であなたは以下を持っているはずです:" -#: ../../tutorials/create-python-package.md:306 +#: ../../tutorials/create-python-package.md:305 msgid "A project directory structure with a `pyproject.toml` file at the root" msgstr "`pyproject.toml` ファイルをルートに持つプロジェクトのディレクトリ構造" -#: ../../tutorials/create-python-package.md:307 +#: ../../tutorials/create-python-package.md:306 msgid "A package directory containing an empty `__init__.py` file and" msgstr "空の `__init__.py` ファイルを含むパッケージ・ディレクトリと" -#: ../../tutorials/create-python-package.md:308 +#: ../../tutorials/create-python-package.md:307 #, fuzzy msgid "At least one Python module (e.g. `example.py`)" msgstr "少なくとも1つのPythonモジュール (e.g. `add_numbers.py`)" -#: ../../tutorials/create-python-package.md:310 +#: ../../tutorials/create-python-package.md:309 msgid "You are now ready to install (and build) your Python package!" msgstr "これで Python パッケージをインストール(ビルド)する準備ができました!" -#: ../../tutorials/create-python-package.md:312 +#: ../../tutorials/create-python-package.md:311 #, fuzzy msgid "" "While you can do this using Hatch, we will use pip for this lesson, so " "you can see how to install your tool into your preferred environment." msgstr "hatchを使ってもできますが、このレッスンではpipを使います、そうすれば、あなたの好みの環境にツールをインストールする方法を見ることができます。" -#: ../../tutorials/create-python-package.md:314 +#: ../../tutorials/create-python-package.md:313 #, fuzzy msgid "" "First, open your preferred shell (Windows users may use something like " @@ -1600,38 +1608,38 @@ msgstr "" "まず、お好みのシェルを開き (Windowsユーザーはgitbashのようなものを使っているかもしれません) " "、まだプロジェクトディレクトリにいなければ、 `cd` してください。" -#: ../../tutorials/create-python-package.md:315 +#: ../../tutorials/create-python-package.md:314 msgid "Activate the Python environment that you wish to use." msgstr "使用したいPython環境をアクティブにします。" -#: ../../tutorials/create-python-package.md:316 +#: ../../tutorials/create-python-package.md:315 msgid "Run `python -m pip install -e .`" msgstr "`python -m pip install -e .` を実行します。" -#: ../../tutorials/create-python-package.md:318 -#: ../../tutorials/create-python-package.md:551 -#: ../../tutorials/create-python-package.md:558 -#: ../../tutorials/get-to-know-hatch.md:197 ../../tutorials/intro.md:241 -#: ../../tutorials/publish-pypi.md:8 ../../tutorials/publish-pypi.md:183 -#: ../../tutorials/publish-pypi.md:356 ../../tutorials/pyproject-toml.md:731 +#: ../../tutorials/create-python-package.md:317 +#: ../../tutorials/create-python-package.md:550 +#: ../../tutorials/create-python-package.md:557 +#: ../../tutorials/get-to-know-hatch.md:197 ../../tutorials/intro.md:242 +#: ../../tutorials/publish-pypi.md:9 ../../tutorials/publish-pypi.md:183 +#: ../../tutorials/publish-pypi.md:356 ../../tutorials/pyproject-toml.md:735 msgid "Todo" msgstr "Todo" -#: ../../tutorials/create-python-package.md:319 +#: ../../tutorials/create-python-package.md:318 msgid "Add this back in when the lesson is published" msgstr "レッスンが公開されたら、これを追加してください。" -#: ../../tutorials/create-python-package.md:320 +#: ../../tutorials/create-python-package.md:319 msgid "" "Activate the Python environment that you wish to use. If you need help " "with working with virtual environments check out this lesson (add link)." msgstr "使用したいPython環境をアクティブにします。 仮想環境での作業で助けが必要な場合は、このレッスンをチェックしてください(リンクを追加)。" -#: ../../tutorials/create-python-package.md:346 +#: ../../tutorials/create-python-package.md:345 msgid "What does `python -m pip install -e .` do?" msgstr "`python -m pip install -e .` は何をしているのか?" -#: ../../tutorials/create-python-package.md:349 +#: ../../tutorials/create-python-package.md:348 #, fuzzy msgid "" "`python -m pip install -e .` installs your package into the current " @@ -1647,21 +1655,21 @@ msgstr "" " 編集可能モードの重要な注意点のひとつは、コードを更新するたびに、そのコードが更新されるということです、 " "その場合、Pythonを再起動する必要があるかもしれません。" -#: ../../tutorials/create-python-package.md:354 +#: ../../tutorials/create-python-package.md:353 msgid "" "If you wish to install the package regularly (not in editable mode) you " "can use:" msgstr "(編集可能モードではなく) 定期的にパッケージをインストールしたい場合は、次のようにします:" -#: ../../tutorials/create-python-package.md:357 +#: ../../tutorials/create-python-package.md:356 msgid "`python -m pip install . `" msgstr "`python -m pip install . `" -#: ../../tutorials/create-python-package.md:359 +#: ../../tutorials/create-python-package.md:358 msgid "**Using `python -m` when calling `pip`**" msgstr "**`pip` を呼び出す際に `python -m` を使用する**" -#: ../../tutorials/create-python-package.md:361 +#: ../../tutorials/create-python-package.md:360 msgid "" "Above, you use`python -m` to call the version of pip installed into your " "current active environment. `python -m` is important to ensure that you " @@ -1670,7 +1678,7 @@ msgstr "" "上記では、 `python -m` を使用して、現在アクティブな環境にインストールされている pip のバージョンを呼び出します。 `python" " -m` は、現在の環境にインストールされているバージョンの pip を呼び出していることを確認するために重要です。" -#: ../../tutorials/create-python-package.md:365 +#: ../../tutorials/create-python-package.md:364 msgid "" "IMPORTANT: pip can also be used to install packages from PyPI. However, " "in this case, you are telling pip to install your package from a local " @@ -1678,16 +1686,14 @@ msgid "" "directory on your computer instead of the `.` which tells pip to use the " "current working directory." msgstr "" -"重要: pipはPyPIからパッケージをインストールするためにも使用できます。しかし、" -"この場合、`.`を使用してローカルフォルダからパッケージをインストールするようpipに指示しています。" -"`.`の代わりにコンピュータ上のプロジェクトディレクトリへのパスを指定することもできます。" -"`.`はpipに現在の作業ディレクトリを使用するよう指示します。" +"重要: " +"pipはPyPIからパッケージをインストールするためにも使用できます。しかし、この場合、`.`を使用してローカルフォルダからパッケージをインストールするようpipに指示しています。`.`の代わりにコンピュータ上のプロジェクトディレクトリへのパスを指定することもできます。`.`はpipに現在の作業ディレクトリを使用するよう指示します。" -#: ../../tutorials/create-python-package.md:368 +#: ../../tutorials/create-python-package.md:367 msgid "Look for pyospackage in your environment" msgstr "あなたの環境でpyospackageを探す" -#: ../../tutorials/create-python-package.md:370 +#: ../../tutorials/create-python-package.md:369 #, fuzzy msgid "" "Once you have installed your package, you can view it in your current " @@ -1697,7 +1703,7 @@ msgstr "" "パッケージをインストールしたら、現在の環境でそれを見ることができます。 `venv` または `conda` を使用している場合、 `pip` " "list で現在インストールされているパッケージを確認することができます。" -#: ../../tutorials/create-python-package.md:374 +#: ../../tutorials/create-python-package.md:373 #, fuzzy msgid "" "Note that because `pyospackage` is installed in editable mode (`-e`), pip" @@ -1706,51 +1712,49 @@ msgstr "" "pyospackageは編集可能モード (`-e`) " "でインストールされるため、pipはプロジェクトのコードへのディレクトリパスを表示することに注意してください。" -#: ../../tutorials/create-python-package.md:402 +#: ../../tutorials/create-python-package.md:401 msgid "Step 6: Test out your new package" msgstr "ステップ 6: 新しいパッケージをテストする" -#: ../../tutorials/create-python-package.md:404 +#: ../../tutorials/create-python-package.md:403 msgid "" "After installing your package, type “python” at the command prompt in " "your chosen terminal to start a Python session in your active Python " "environment." msgstr "" -"パッケージをインストールした後、選択したターミナルのコマンドプロンプトで“python”と入力して、" -"アクティブなPython環境でPythonセッションを開始します。" -"パッケージをインストールしたら、選択したターミナルのコマンドプロンプトで \"python\" " -"と入力し、アクティブなPython環境でPythonセッションを開始します。" +"パッケージをインストールした後、選択したターミナルのコマンドプロンプトで“python”と入力して、アクティブなPython環境でPythonセッションを開始します。パッケージをインストールしたら、選択したターミナルのコマンドプロンプトで" +" \"python\" と入力し、アクティブなPython環境でPythonセッションを開始します。" -#: ../../tutorials/create-python-package.md:407 +#: ../../tutorials/create-python-package.md:406 #, fuzzy msgid "You can now import your package and access the `add_numbers` function." msgstr "これでパッケージをインポートして `add_num` 関数にアクセスできます。" -#: ../../tutorials/create-python-package.md:419 +#: ../../tutorials/create-python-package.md:418 msgid "Installing packages from GitHub" msgstr "GitHubからパッケージをインストールする" -#: ../../tutorials/create-python-package.md:421 +#: ../../tutorials/create-python-package.md:420 msgid "" "If you wish to share your code without publishing to PyPI you can always " "install packages directly from GitHub using the syntax:" msgstr "PyPIに公開せずにコードを共有したい場合は、いつでも構文を使ってGitHubから直接パッケージをインストールできます:" -#: ../../tutorials/create-python-package.md:428 +#: ../../tutorials/create-python-package.md:427 msgid "To make your package GitHub installable, you can:" msgstr "GitHubのパッケージをインストール可能にするには、次のようにします:" -#: ../../tutorials/create-python-package.md:430 +#: ../../tutorials/create-python-package.md:429 msgid "Create a new GitHub repository" msgstr "新しいGitHubリポジトリを作成する" -#: ../../tutorials/create-python-package.md:431 +#: ../../tutorials/create-python-package.md:430 msgid "" "Push the contents of the project directory that you created above, to " "GitHub" msgstr "上記で作成したプロジェクトディレクトリの内容をGitHubにプッシュします" -#: ../../tutorials/create-python-package.md:432 +#: ../../tutorials/create-python-package.md:431 msgid "" "Finally install the package from GitHub using the command above. When you" " use the command above, don't forget to substitute the user, repo, and " @@ -1759,34 +1763,34 @@ msgstr "" "最後に、上記のコマンドを使ってGitHubからパッケージをインストールします。 " "上記のコマンドを使用する際は、user、repo、branch_or_tag を特定の値に置き換えることをお忘れなく。" -#: ../../tutorials/create-python-package.md:434 +#: ../../tutorials/create-python-package.md:433 msgid "" "For instance below you install the pyospackage from the main branch of " "the pyOpenSci repository." msgstr "例えば、以下のようにpyOpenSciリポジトリのmainブランチからpyospackageをインストールします。" -#: ../../tutorials/create-python-package.md:437 +#: ../../tutorials/create-python-package.md:436 msgid "`python -m pip install git+https://github.com/user/repo.git@branch_or_tag`" msgstr "`python -m pip install git+https://github.com/user/repo.git@branch_or_tag`" -#: ../../tutorials/create-python-package.md:441 +#: ../../tutorials/create-python-package.md:440 msgid "Congratulations! You created your first Python package" msgstr "おめでとうございます! あなたは最初のPythonパッケージを作成しました" -#: ../../tutorials/create-python-package.md:443 +#: ../../tutorials/create-python-package.md:442 #, fuzzy msgid "" "You have now created a Python package that you can install into any " "Python environment." msgstr "やったね! これでどんなPython環境にもインストールできるPythonパッケージができました。" -#: ../../tutorials/create-python-package.md:448 +#: ../../tutorials/create-python-package.md:447 msgid "" "Add a [README file](add-readme.md) and [LICENSE](add-license-coc.md) to " "your package" msgstr "[READMEファイル](add-readme.md) と [LICENSE](add-license-coc.md) をパッケージに追加する。" -#: ../../tutorials/create-python-package.md:449 +#: ../../tutorials/create-python-package.md:448 msgid "" "[Add more metadata to your `pyproject.toml`](pyproject-toml.md) file to " "support PyPI publication." @@ -1794,7 +1798,7 @@ msgstr "" "PyPI での公開をサポートするために [ `pyproject.toml` ファイルにメタデータを追加します。](pyproject-" "toml.md)" -#: ../../tutorials/create-python-package.md:450 +#: ../../tutorials/create-python-package.md:449 msgid "" "[Learn how to build your package distribution](publish-pypi) files " "(**sdist** and **wheel**) and publish to **test PyPI**." @@ -1802,43 +1806,43 @@ msgstr "" "[パッケージ配布ファイルをビルド](publish-pypi) して (**sdist** と **wheel**) 、 **test " "PyPI** に公開する方法を学びます。" -#: ../../tutorials/create-python-package.md:451 +#: ../../tutorials/create-python-package.md:450 msgid "" "Finally you will learn how to [publish to **conda-forge**](publish-conda-" "forge) from **PyPI**." msgstr "**PyPI** から [**conda-forge**](publish-conda-forge) に公開する方法を学んでください。" -#: ../../tutorials/create-python-package.md:455 +#: ../../tutorials/create-python-package.md:454 msgid "About the Python package directory structure" msgstr "Pythonパッケージのディレクトリ構造について" -#: ../../tutorials/create-python-package.md:457 +#: ../../tutorials/create-python-package.md:456 msgid "" "To make your Python code installable you need to create a specific " "directory structure with the following elements:" msgstr "Pythonコードをインストール可能にするには、以下の要素を含む特定のディレクトリ構造を作成する必要があります:" -#: ../../tutorials/create-python-package.md:459 +#: ../../tutorials/create-python-package.md:458 msgid "A `pyproject.toml` file." msgstr "`pyproject.toml` ファイル。" -#: ../../tutorials/create-python-package.md:460 +#: ../../tutorials/create-python-package.md:459 msgid "A specific directory structure." msgstr "特定のディレクトリ構造。" -#: ../../tutorials/create-python-package.md:461 +#: ../../tutorials/create-python-package.md:460 msgid "Some code." msgstr "いくつかのコード。" -#: ../../tutorials/create-python-package.md:462 +#: ../../tutorials/create-python-package.md:461 msgid "An `__init__.py` file in your code directory." msgstr "コードディレクトリの `__init__.py` ファイル。" -#: ../../tutorials/create-python-package.md:464 +#: ../../tutorials/create-python-package.md:463 msgid "The directory structure you'll create in this lesson will look like this:" msgstr "このレッスンで作成するディレクトリ構造は次のようになります:" -#: ../../tutorials/create-python-package.md:479 +#: ../../tutorials/create-python-package.md:478 msgid "" "Diagram showing the basic steps to creating an installable package. There" " are 4 boxes with arrows pointing towards the right. The boxes read, your" @@ -1849,7 +1853,7 @@ msgstr "" "ボックスは、あなたのコード、パッケージ構造の作成、pyproject.tomlへのメタデータの追加、およびpip " "installパッケージを読み込みます。" -#: ../../tutorials/create-python-package.md:481 +#: ../../tutorials/create-python-package.md:480 #, fuzzy msgid "" "Once you have the basic items of a Python package (code, metadata and a " @@ -1857,15 +1861,15 @@ msgid "" "environment on your computer." msgstr "やったね! これでどんなPython環境にもインストールできるPythonパッケージができました。" -#: ../../tutorials/create-python-package.md:484 +#: ../../tutorials/create-python-package.md:483 msgid "About the basic package directory structure" msgstr "基本パッケージのディレクトリ構造について" -#: ../../tutorials/create-python-package.md:486 +#: ../../tutorials/create-python-package.md:485 msgid "Notice a few things about the above layout:" msgstr "上記のレイアウトについて、いくつかの点に注目してください:" -#: ../../tutorials/create-python-package.md:488 +#: ../../tutorials/create-python-package.md:487 msgid "" "Your package code lives within a `src/packagename` directory. We suggest " "that you use `src` (short for **source code**) directory as it [ensures " @@ -1879,7 +1883,7 @@ msgstr "" "structure.html#the-src-layout-and-testing) `src`( **source code** " "の略)ディレクトリを使用することをお勧めします。" -#: ../../tutorials/create-python-package.md:489 +#: ../../tutorials/create-python-package.md:488 msgid "" "Within the `src` directory you have a package directory called " "`pyospackage`. Use the name of your package for that directory name. This" @@ -1889,7 +1893,7 @@ msgstr "" "`src` ディレクトリの中に `pyospackage` というパッケージディレクトリがあります。 ディレクトリ名にはパッケージ名を使用します。" " これは、インストール後にPythonコードでパッケージをインポートする際の名前になります。" -#: ../../tutorials/create-python-package.md:490 +#: ../../tutorials/create-python-package.md:489 msgid "" "In your package directory, you have an `__init__.py` file and all of your" " Python modules. You will learn more about the `__init__.py` file below." @@ -1897,11 +1901,11 @@ msgstr "" "パッケージディレクトリには `__init__.py` ファイルと Python モジュールがあります。以下に `__init__.py` " "ファイルについて詳しく説明します。" -#: ../../tutorials/create-python-package.md:491 +#: ../../tutorials/create-python-package.md:490 msgid "The `pyproject.toml` file lives at the root directory of your package." msgstr "`pyproject.toml` ファイルはパッケージのルートディレクトリにあります。" -#: ../../tutorials/create-python-package.md:492 +#: ../../tutorials/create-python-package.md:491 msgid "" "The name of the root directory for the package is **pyospackage** which " "is the name of the package. This is not a requirement but you will often " @@ -1911,11 +1915,11 @@ msgstr "" "パッケージのルートディレクトリの名前は、パッケージ名である **pyospackage** です。これは必須ではありませんが、GitHub / " "GitLabのリポジトリ名とルートディレクトリ名がパッケージ名と同じであることをよく見かけます。" -#: ../../tutorials/create-python-package.md:494 +#: ../../tutorials/create-python-package.md:493 msgid "What is an `__init__.py` file?" msgstr "`__init__.py` ファイルとは何ですか?" -#: ../../tutorials/create-python-package.md:496 +#: ../../tutorials/create-python-package.md:495 msgid "" "The `__init__.py` file tells Python that a directory should be treated as" " a Python package. As such, a directory with an `__init__.py` file can be" @@ -1926,32 +1930,32 @@ msgstr "" "このように、`__init__.py` ファイルがあるディレクトリは Python に直接インポートすることができます。 Python " "に認識させるために `__init__.py` ファイルにコードを記述する必要はありません; 空であることもあります。" -#: ../../tutorials/create-python-package.md:500 +#: ../../tutorials/create-python-package.md:499 msgid "" "For example, following the file structure example above which has an " "`__init__.py` file within it, you can run:" msgstr "例えば、 `__init__.py` ファイルを持つ上記のファイル構造の例に従って、次のように実行します:" -#: ../../tutorials/create-python-package.md:506 +#: ../../tutorials/create-python-package.md:505 #: ../../tutorials/pyproject-toml.md:53 msgid "What is a pyproject.toml file?" msgstr "pyproject.tomlファイルとは何ですか?" -#: ../../tutorials/create-python-package.md:508 +#: ../../tutorials/create-python-package.md:507 msgid "The **pyproject.toml** file is:" msgstr "**pyproject.toml** ファイルは:" -#: ../../tutorials/create-python-package.md:510 +#: ../../tutorials/create-python-package.md:509 msgid "" "Where you define your project's metadata (including its name, authors, " "license, etc)" msgstr "プロジェクトのメタデータ (名前、作者、ライセンスなど) を定義します。" -#: ../../tutorials/create-python-package.md:511 +#: ../../tutorials/create-python-package.md:510 msgid "Where you define dependencies (the packages that it depends on)" msgstr "依存関係 (依存するパッケージ) を定義します。" -#: ../../tutorials/create-python-package.md:512 +#: ../../tutorials/create-python-package.md:511 msgid "" "Used to specify and configure what build backend you want to use to " "[build your package](../package-structure-code/python-package-" @@ -1960,7 +1964,7 @@ msgstr "" "[パッケージのビルド](../package-structure-code/python-package-distribution-files-" "sdist-wheel) に使用するビルドバックエンドを指定し、設定します。" -#: ../../tutorials/create-python-package.md:514 +#: ../../tutorials/create-python-package.md:513 msgid "" "After the `__init__.py` and `pyproject.toml` files have been added, your " "package can be built and distributed as an installable Python package " @@ -1973,19 +1977,19 @@ msgstr "" "`pyproject.toml` " "ファイルには、パッケージをインストールするために、以下のようないくつかの基本的な項目が定義されている必要があることに注意してください:" -#: ../../tutorials/create-python-package.md:520 +#: ../../tutorials/create-python-package.md:519 msgid "The `build-backend` that you want to use," msgstr "使用したい `build-backend` を指定します、" -#: ../../tutorials/create-python-package.md:521 +#: ../../tutorials/create-python-package.md:520 msgid "The project `name` and `version`." msgstr "プロジェクトの `name` と `version` を指定する。" -#: ../../tutorials/create-python-package.md:523 +#: ../../tutorials/create-python-package.md:522 msgid "Why the pyproject.toml file is important" msgstr "pyproject.tomlファイルが重要な理由" -#: ../../tutorials/create-python-package.md:526 +#: ../../tutorials/create-python-package.md:525 #, fuzzy msgid "" "The `pyproject.toml` file replaces some of the functionality of both the " @@ -1995,7 +1999,7 @@ msgstr "" "`pyproject.toml` ファイルは `setup.py` ファイルと `setup.cfg` ファイルの機能の一部を置き換えます。 " "`pyproject.toml` がないパッケージをpipインストールしようとすると、以下のエラーが発生します:" -#: ../../tutorials/create-python-package.md:536 +#: ../../tutorials/create-python-package.md:535 #, fuzzy msgid "" "If your project already has a `setup.py` file, Hatch can be used to " @@ -2004,7 +2008,7 @@ msgstr "" "プロジェクトが既に `setup.py` ファイルを定義している場合、ハッチを使用して自動的に `pyproject.toml` " "を作成することができます。" -#: ../../tutorials/create-python-package.md:537 +#: ../../tutorials/create-python-package.md:536 #, fuzzy msgid "" "See [Using Hatch to Migrate setup.py to a pyproject.toml](setup-py-to-" @@ -2013,13 +2017,13 @@ msgstr "" "[Hatchを使ってsetup.pyをpyproject.tomlに移行する ](setup-py-to-pyproject-toml.md) " "を参照" -#: ../../tutorials/create-python-package.md:552 +#: ../../tutorials/create-python-package.md:551 msgid "" "Is it clear where to add commands? Bash vs. Python console Bash vs. Zsh " "is different" msgstr "コマンドを追加する場所は明確ですか? BashとPythonのコンソールの違い BashとZshの違い" -#: ../../tutorials/create-python-package.md:554 +#: ../../tutorials/create-python-package.md:553 msgid "" "ADD: note about what makes something \"package worthy\", with a common " "misconception being that a package should be production-ready code that's" @@ -2030,12 +2034,12 @@ msgstr "" "追加: 何をもって \"パッケージに値する\" とするのかについて、 " "一般的な誤解は、パッケージは幅広いオーディエンスにとって価値のある、生産可能なコードであるべきだというものです。これはPythonに蔓延している誤解ではないかもしれませんが、パッケージがどのようなもので構成されるかを簡単に説明することは役に立つでしょう。" -#: ../../tutorials/create-python-package.md:555 +#: ../../tutorials/create-python-package.md:554 #, fuzzy msgid "They can use a codespace to complete this lesson too." msgstr "**このレッスンを完了するために必要なもの**" -#: ../../tutorials/create-python-package.md:559 +#: ../../tutorials/create-python-package.md:558 msgid "" "When this lesson exists, uncomment this admonition You will learn how to " "automate defining a package version using git tags in the version and " @@ -2044,23 +2048,23 @@ msgstr "" "このレッスンが存在する場合、この戒めのコメントを解除します。 このレッスンでは、git " "タグを使ってパッケージのバージョン定義を自動化する方法と、パッケージのリリースについて学びます。" -#: ../../tutorials/create-python-package.md:543 +#: ../../tutorials/create-python-package.md:542 msgid "[Carpentries shell lesson](https://swcarpentry.github.io/shell-novice/)" msgstr "[Carpentries shell lesson](https://swcarpentry.github.io/shell-novice/)" -#: ../../tutorials/create-python-package.md:547 +#: ../../tutorials/create-python-package.md:546 msgid "[Numpy style docs](https://numpydoc.readthedocs.io/en/latest/format.html)" msgstr "[Numpy style docs](https://numpydoc.readthedocs.io/en/latest/format.html)" -#: ../../tutorials/create-python-package.md:546 +#: ../../tutorials/create-python-package.md:545 msgid "[Google docstring style](https://google.github.io/styleguide/pyguide.html)" msgstr "[Google docstring style](https://google.github.io/styleguide/pyguide.html)" -#: ../../tutorials/create-python-package.md:548 +#: ../../tutorials/create-python-package.md:547 msgid "[epydoc](https://epydoc.sourceforge.net/epytext.html)" msgstr "[epydoc](https://epydoc.sourceforge.net/epytext.html)" -#: ../../tutorials/create-python-package.md:545 +#: ../../tutorials/create-python-package.md:544 msgid "" "[Python module " "docs](https://docs.python.org/3/tutorial/modules.html#packages)" @@ -2744,12 +2748,13 @@ msgid "Your `config.toml` file should look something like the one below." msgstr "あなたの `config.toml` ファイルは以下のようになるはずです。" #: ../../tutorials/get-to-know-hatch.md:189 +#, fuzzy msgid "" "Also notice that the default license option is MIT. While we will discuss" " license in more detail in a later lesson, the MIT license is the " "recommended permissive license from " -"[choosealicense.com](https://www.choosealicense.com) and as such we will " -"use it for this tutorial series." +"[choosealicense.com](https://choosealicense.com/) and as such we will use" +" it for this tutorial series." msgstr "" "また、デフォルトのライセンスオプションがMITであることにも注目してください。 ライセンスについては後のレッスンで詳しく説明しますが、 " "MITライセンスは [choosealicense.com](https://www.choosealicense.com) " @@ -2849,7 +2854,7 @@ msgid "" "installable using Hatch." msgstr "次のレッスンでは、Hatchを使ってコードをパッケージ化し、インストール可能にする方法を学びます。" -#: ../../tutorials/intro.md:33 ../../tutorials/setup-py-to-pyproject-toml.md:29 +#: ../../tutorials/intro.md:33 ../../tutorials/setup-py-to-pyproject-toml.md:30 msgid "Get to know Hatch" msgstr "Hatchを知る" @@ -2857,7 +2862,7 @@ msgstr "Hatchを知る" msgid "Python Packaging Tutorial Setup" msgstr "Pythonパッケージングチュートリアルのセットアップ" -#: ../../tutorials/intro.md:40 ../../tutorials/intro.md:86 +#: ../../tutorials/intro.md:40 ../../tutorials/intro.md:87 msgid "What is a Python package?" msgstr "Pythonパッケージとは何ですか?" @@ -2874,40 +2879,44 @@ msgstr "PyPIに公開する" msgid "Publish to conda-forge" msgstr "conda-forgeに公開する" +#: ../../tutorials/intro.md:40 +msgid "Publish using GitHub Actions and Trusted Publishing" +msgstr "" + #: ../../tutorials/intro.md:40 msgid "Create and publish a Python Package" msgstr "Pythonパッケージの作成と公開" -#: ../../tutorials/intro.md:50 +#: ../../tutorials/intro.md:51 #, fuzzy msgid "Develop package (Hatch environments)" msgstr "Pythonのパッケージと環境" -#: ../../tutorials/intro.md:50 +#: ../../tutorials/intro.md:51 msgid "Add README file" msgstr "README ファイルを追加する" -#: ../../tutorials/intro.md:50 +#: ../../tutorials/intro.md:51 msgid "Add a license & code of conduct" msgstr "ライセンスと行動規範の追加" -#: ../../tutorials/intro.md:50 +#: ../../tutorials/intro.md:51 msgid "Update metadata in pyproject.toml" msgstr "pyproject.tomlのメタデータを更新する" -#: ../../tutorials/intro.md:50 +#: ../../tutorials/intro.md:51 msgid "Project information files & metadata" msgstr "プロジェクト情報ファイルとメタデータ" -#: ../../tutorials/intro.md:60 +#: ../../tutorials/intro.md:61 msgid "Reference Guides" msgstr "リファレンスガイド" -#: ../../tutorials/intro.md:67 +#: ../../tutorials/intro.md:68 msgid "Migrate setup.py to a pyproject.toml using Hatch" msgstr "Hatchを使ってsetup.pyをpyproject.tomlに移行する" -#: ../../tutorials/intro.md:67 +#: ../../tutorials/intro.md:68 msgid "Hatch for Existing Packages" msgstr "既存パッケージ用Hatch" @@ -2938,7 +2947,7 @@ msgstr "" "パッケージングチュートリアルのレッスンを示す図。Pythonパッケージとは何か、コードをpipでインストール可能にする、パッケージをPyPIに公開する、READMEとLICENSEファイルを追加する、PyPI用のメタデータを追加する、最後にconda" " forgeに公開する、の6つです。" -#: ../../tutorials/intro.md:19 +#: ../../tutorials/intro.md:19 ../../tutorials/trusted-publishing.md:255 msgid "" "This lesson is the first in a series of lessons to help you get started " "with Python packaging." @@ -2973,39 +2982,40 @@ msgid "" "documentation needed to support package maintenance." msgstr "第2シリーズでは、パッケージのメンテナンスをサポートするために必要なインフラとドキュメントについて学びます。" -#: ../../tutorials/intro.md:74 ../../tutorials/publish-conda-forge.md:20 -#: ../../tutorials/publish-pypi.md:18 ../../tutorials/pyproject-toml.md:24 -#: ../../tutorials/setup-py-to-pyproject-toml.md:17 +#: ../../tutorials/intro.md:75 ../../tutorials/publish-conda-forge.md:20 +#: ../../tutorials/publish-pypi.md:20 ../../tutorials/pyproject-toml.md:24 +#: ../../tutorials/setup-py-to-pyproject-toml.md:18 +#: ../../tutorials/trusted-publishing.md:13 msgid "Learning Objectives" msgstr "学習目標" -#: ../../tutorials/intro.md:76 +#: ../../tutorials/intro.md:77 msgid "" "This lesson introduces you to the basic components of a Python package. " "After reading this lesson you will:" msgstr "このレッスンでは Python パッケージの基本的な構成要素を紹介します。 このレッスンを読めば、次のことがわかります:" -#: ../../tutorials/intro.md:79 +#: ../../tutorials/intro.md:80 msgid "Understand what a Python package is" msgstr "Pythonパッケージとは何かを理解する" -#: ../../tutorials/intro.md:80 +#: ../../tutorials/intro.md:81 msgid "Be able to list the 5 core components of a Python package" msgstr "Pythonパッケージの5つのコアコンポーネントを列挙できます" -#: ../../tutorials/intro.md:81 +#: ../../tutorials/intro.md:82 msgid "" "Be able to explain the difference between generalizable code and code " "that supports a specific scientific application" msgstr "一般化可能なコードと特定の科学的アプリケーションをサポートするコードの違いを説明できます。" -#: ../../tutorials/intro.md:88 +#: ../../tutorials/intro.md:89 msgid "" "At a high level, you can think about a Python package as a toolbox that " "you can use to perform various tasks." msgstr "高レベルでは、Pythonパッケージは、様々なタスクを実行するために使用できるツールボックスと考えることができます。" -#: ../../tutorials/intro.md:91 +#: ../../tutorials/intro.md:92 msgid "" "A Python package is basically a directory with a specific file structure." " Within the package directory structure, there are modules which are " @@ -3017,13 +3027,13 @@ msgstr "" "Pythonパッケージは基本的に特定のファイル構造を持つディレクトリです。 パッケージのディレクトリ構造の中に、`.py` " "で終わるファイル(Pythonスクリプトで見られるのと同じ拡張子)のモジュールがあります。これらのモジュールによって、Pythonコードをグループ化し、構造化することができます。各モジュールには関数とクラスが含まれており、それらはあなたの道具箱の中の道具だと考えることができます。" -#: ../../tutorials/intro.md:100 +#: ../../tutorials/intro.md:101 msgid "" "Diagram showing a sketch of a toolbox filled with different tools " "including a hammer and a saw." msgstr "ハンマーやノコギリなど、さまざまな工具が入った工具箱のスケッチを示す図。" -#: ../../tutorials/intro.md:102 +#: ../../tutorials/intro.md:103 msgid "" "You can think about a package as a toolbox filled with coding tools. A " "tool may be a function or a class. Each tool does a specific thing well." @@ -3031,11 +3041,11 @@ msgstr "" "パッケージとは、コーディングツールが詰まった道具箱のようなものだと考えることができます。 ツールは関数かもしれないし、クラスかもしれません。 " "それぞれのツールは特定のことをよくします。" -#: ../../tutorials/intro.md:107 +#: ../../tutorials/intro.md:108 msgid "Python packages are installable" msgstr "Pythonパッケージはインストール可能" -#: ../../tutorials/intro.md:109 +#: ../../tutorials/intro.md:110 msgid "" "A package is installable, which means that you can add the functionality " "within the package's code to any Python environment and import that " @@ -3043,7 +3053,7 @@ msgid "" "as NumPy or Matplotlib." msgstr "パッケージはインストール可能で、パッケージのコード内の機能をどのPython環境にも追加でき、NumPyやMatplotlibのような科学的なPythonのコアパッケージをインポートするように、その機能をインポートできます。" -#: ../../tutorials/intro.md:118 +#: ../../tutorials/intro.md:119 msgid "" "Installing a package into an environment makes it easier to manage and " "reuse your code across different projects. Structuring your code as a " @@ -3051,15 +3061,15 @@ msgid "" "the toolbox you've created and let others build with it." msgstr "パッケージを環境にインストールすることで、異なるプロジェクト間でのコードの管理と再利用が容易になる。あなたのコードをパッケージとして構造化することは、あなたが作成したツールボックスのツールを共有し、他の人がそれを使って構築できるようにするために必要な最初のステップです。" -#: ../../tutorials/intro.md:123 +#: ../../tutorials/intro.md:124 msgid "Why create a Python package?" msgstr "なぜPythonパッケージを作るのか?" -#: ../../tutorials/intro.md:125 +#: ../../tutorials/intro.md:126 msgid "You might create a Python package because you want to:" msgstr "Pythonパッケージを作りたいから作るかもしれません:" -#: ../../tutorials/intro.md:127 +#: ../../tutorials/intro.md:128 msgid "" "**Use your code across different projects:** At its most basic level, " "creating a package allows you to install your code into a Python " @@ -3070,7 +3080,7 @@ msgstr "" "最も基本的なレベルでは、パッケージを作成することで、あなたのコードをPython環境にインストールすることができます。 " "これにより、ローカルとクラウドの両方のワークフローに関数やクラスをインポートすることができます。" -#: ../../tutorials/intro.md:128 +#: ../../tutorials/intro.md:129 msgid "" "**Share your code:** If you publish a package on a public repository such" " as PyPI or conda, your package can be installed on any machine using pip" @@ -3079,7 +3089,7 @@ msgstr "" "**Share your code:** PyPIやcondaのような公開リポジトリでパッケージを公開する場合、 " "あなたのパッケージは、pipやcondaを使ってどのマシンにもコマンドひとつでインストールできます。" -#: ../../tutorials/intro.md:129 +#: ../../tutorials/intro.md:130 msgid "" "**Build community around your code:** Packages make it easier for " "multiple people to work on the same project (particularly when published " @@ -3094,7 +3104,7 @@ msgstr "" "のようなバージョン管理システムを使えば、コードベースへの長期的な変更を追跡するのがさらに簡単になる。 " "issueやプルリクエストのようなツールは、外部のユーザーがバグ修正に貢献したり、コードベースへの変更を受け入れるためのレビュープロセスを確立したりすることを容易にします。" -#: ../../tutorials/intro.md:130 +#: ../../tutorials/intro.md:131 msgid "" "**Organize your code:** Packages can be used to organize large code " "projects, dividing them into smaller, more manageable components. This " @@ -3104,29 +3114,29 @@ msgstr "" "**コードを整理する:** パッケージは、大規模なコード・プロジェクトを整理し、より小さく管理しやすいコンポーネントに分割するために使用できます。" " この構造は、コードベースを維持する上でも、理解しやすくする上でも役立ちます。" -#: ../../tutorials/intro.md:132 +#: ../../tutorials/intro.md:133 msgid "What to consider before you create a package" msgstr "パッケージを作成する前に考慮すべきこと" -#: ../../tutorials/intro.md:134 +#: ../../tutorials/intro.md:135 msgid "" "Creating a Python package that others use takes considerable time and " "effort. Before you begin, think about your goals including:" msgstr "他の人が使うPythonパッケージを作るには、かなりの時間と労力がかかります。 始める前に、以下のような目標について考えてください:" -#: ../../tutorials/intro.md:137 +#: ../../tutorials/intro.md:138 msgid "Who you think will use your package" msgstr "あなたのパッケージを利用すると思われる人" -#: ../../tutorials/intro.md:138 +#: ../../tutorials/intro.md:139 msgid "How people might use your package and on what data (if data are relevant)" msgstr "人々があなたのパッケージをどのように使うか、またどのようなデータについて使うか(データが関連する場合)" -#: ../../tutorials/intro.md:139 +#: ../../tutorials/intro.md:140 msgid "Whether you have time to add things such as documentation and tests" msgstr "ドキュメントやテストなどを追加する時間があるかどうか" -#: ../../tutorials/intro.md:140 +#: ../../tutorials/intro.md:141 msgid "" "How long you might be able to maintain it: remember that once people " "begin using your package they will depend on your maintainer team to " @@ -3135,21 +3145,21 @@ msgstr "" "メンテナンスできる可能性のある期間: " "いったん人々があなたのパッケージを使い始めると、彼らはそれを更新し、バグを修正し、質問に答えるために、あなたのメンテナチームに依存することになることを忘れないでください。" -#: ../../tutorials/intro.md:142 +#: ../../tutorials/intro.md:143 msgid "" "Before creating a user-facing package, it's important to consider all of " "the above." msgstr "ユーザー向けのパッケージを作成する前に、上記のすべてを考慮することが重要です。" -#: ../../tutorials/intro.md:144 +#: ../../tutorials/intro.md:145 msgid "The elements of a Python package" msgstr "Pythonパッケージの要素" -#: ../../tutorials/intro.md:148 ../../tutorials/intro.md:226 +#: ../../tutorials/intro.md:149 ../../tutorials/intro.md:227 msgid "Diagram showing .. more here if this stays." msgstr "図......これが残ればもっとここに。" -#: ../../tutorials/intro.md:150 +#: ../../tutorials/intro.md:151 msgid "" "The elements of a Python package include code, documentation, tests, an " "OSI-approved license and infrastructure. Maintainers are at the core " @@ -3159,17 +3169,17 @@ msgstr "" "Pythonパッケージの要素には、コード、ドキュメント、テスト、OSIが承認したライセンス、インフラが含まれます。 " "メインテナーは、バグを修正し、ユーザーの懸念に対処しながら、すべてが機能し、最新であることを確認する中核を担っています。" -#: ../../tutorials/intro.md:156 +#: ../../tutorials/intro.md:157 msgid "The core elements of Python package include:" msgstr "Pythonパッケージの核となる要素は以下の通りです:" -#: ../../tutorials/intro.md:158 +#: ../../tutorials/intro.md:159 msgid "" "**Code:** Functions and classes that provide functionality for a user of " "your package" msgstr "**コード:** パッケージのユーザーに機能を提供する関数とクラス" -#: ../../tutorials/intro.md:159 +#: ../../tutorials/intro.md:160 msgid "" "**Documentation:** Installation instructions, tutorials, and examples " "that both help users get started using your package and contributors and " @@ -3178,13 +3188,13 @@ msgstr "" "**ドキュメンテーション:** " "インストール手順、チュートリアル、サンプルは、ユーザがあなたのパッケージを使い始めるのを助け、貢献者やメンテナがバグを修正し、パッケージを保守するのを助けます。" -#: ../../tutorials/intro.md:160 +#: ../../tutorials/intro.md:161 msgid "" "Contributor Documentation in the form of a **CONTRIBUTING.md** file is " "useful to help people to contribute to your package." msgstr "**CONTRIBUTING.md** ファイル形式の貢献者ドキュメンテーションは、人々があなたのパッケージに貢献するのを助けるのに便利です。" -#: ../../tutorials/intro.md:161 +#: ../../tutorials/intro.md:162 msgid "" "Development Documentation helps both maintainers and contributors " "understand how to maintain a package's infrastructure." @@ -3192,24 +3202,25 @@ msgstr "" "Development Documentation " "は、メンテナと貢献者の両方が、パッケージのインフラストラクチャをどのように保守するかを理解するのに役立ちます。" -#: ../../tutorials/intro.md:162 +#: ../../tutorials/intro.md:163 msgid "" "**Tests:** that make sure your code works as it should and makes it " "easier for you and others to contribute to, modify and update the code in" " the future" msgstr "**テスト:** これは、あなたのコードが本来の機能を発揮し、あなたや他の人が貢献しやすくなるようにするものです、 将来的にコードを修正更新します" -#: ../../tutorials/intro.md:163 +#: ../../tutorials/intro.md:164 +#, fuzzy msgid "" "**License:** An open source license, or license that is [OSI " -"approved](https://opensource.org/licenses/), refers to an license that " +"approved](https://opensource.org/license/), refers to an license that " "allows others to use your package. It also provides legal direction " "regarding how elements of the package can and can't be reused." msgstr "" "**ライセンス:** オープンソースライセンス、あるいは [OSI認可](https://opensource.org/licenses/) " "ライセンスとは、他の人があなたのパッケージを使うことを許可するライセンスのことです。また、パッケージの要素をどのように再利用できるか、また再利用できないかに関する法的な方向性も示しています。" -#: ../../tutorials/intro.md:164 +#: ../../tutorials/intro.md:165 msgid "" "**Infrastructure** that automates updates, publication workflows and runs" " test suites. Infrastructure includes a suite of things such as platforms" @@ -3220,11 +3231,11 @@ msgstr "" "**インフラ** 更新、公開ワークフロー、テストスイートの実行を自動化します。 " "インフラストラクチャーには、GitHubやGitLabのようなプラットフォーム、noxやtoxのようなローカルでテストやツールを実行するツール、パッケージメンテナンスのステップを自動化する継続的インテグレーションなど、一連のものが含まれます。" -#: ../../tutorials/intro.md:166 +#: ../../tutorials/intro.md:167 msgid "What pyOpenSci looks for in a package" msgstr "pyOpenSciがパッケージで探すもの" -#: ../../tutorials/intro.md:169 +#: ../../tutorials/intro.md:170 msgid "" "pyOpenSci performs an [initial set of editor " "checks](https://www.pyopensci.org/software-peer-review/how-to/editor-in-" @@ -3236,11 +3247,11 @@ msgstr "" "/software-peer-review/how-to/editor-in-chief-guide.html#editor-checklist-" "template) を行います。 これらのチェックは、パッケージを作成する際に、パッケージが持つべきものの基準として役に立つかもしれません。" -#: ../../tutorials/intro.md:175 +#: ../../tutorials/intro.md:176 msgid "Packages are more than just code - Infrastructure" msgstr "パッケージは単なるコードではありません - インフラストラクチャー" -#: ../../tutorials/intro.md:177 +#: ../../tutorials/intro.md:178 msgid "" "A package in any language is more than just code. If you expect other " "people to use your package, besides yourself, you should consider not " @@ -3250,11 +3261,11 @@ msgstr "" "どの言語でも、パッケージは単なるコードではありません。 " "自分以外の人があなたのパッケージを使うことを期待するのであれば、高品質のコードを書くだけでなく、パッケージが有用なコミュニティリソースとなるための様々な要素も考慮すべきです。" -#: ../../tutorials/intro.md:182 +#: ../../tutorials/intro.md:183 msgid "Version control and storing your package on GitHub or GitLab" msgstr "GitHubまたはGitLabでのバージョン管理とパッケージの保存" -#: ../../tutorials/intro.md:184 +#: ../../tutorials/intro.md:185 msgid "" "Most Python packages live in an online version control platform such as " "GitHub or GitLab. GitHub and GitLab both run [git](https://git-scm.com/) " @@ -3267,7 +3278,7 @@ msgstr "" "GitHubとGitLabはどちらもバージョン管理のために [git](https://git-scm.com/) を実行しています。 " "ソフトウェアをバージョン管理下に置くことは、時間の経過に伴う変更を追跡する一方で、コードベースへの変更が予期せず何かを壊してしまった場合に、履歴をさかのぼって変更を取り消すことができるからです。" -#: ../../tutorials/intro.md:189 +#: ../../tutorials/intro.md:190 msgid "" "By publishing your package on GitHub or GitLab, you are making your code " "public facing. This means that others can both see your code and also " @@ -3277,11 +3288,11 @@ msgstr "" "あなたのパッケージをGitHubやGitLabで公開することで、あなたはコードを公開することになります。 " "これは、他の人があなたのコードを見ることができ、プルリクエスト(GitHub)/マージリクエスト(GitLab)/コードレビューワークフローを使って貢献することもできることを意味します。" -#: ../../tutorials/intro.md:191 +#: ../../tutorials/intro.md:192 msgid "GitHub & GitLab vs. Git" msgstr "GitHub & GitLab vs. Git" -#: ../../tutorials/intro.md:194 +#: ../../tutorials/intro.md:195 msgid "" "GitHub and GitLab are online (cloud) platforms that run `git` (version " "control software) on the backend. Running git locally on your computer " @@ -3292,35 +3303,35 @@ msgstr "" "プラットフォームです。 コンピュータ上でローカルに git を実行すると、GitHub や GitLab にファイルをアップロード (`git " "push`) したりダウンロード (`git pull`) したりすることができます。" -#: ../../tutorials/intro.md:199 +#: ../../tutorials/intro.md:200 msgid "Issues or Ticket Trackers" msgstr "issue かチケットトラッカー" -#: ../../tutorials/intro.md:201 +#: ../../tutorials/intro.md:202 msgid "" "GitHub and GitLab also both offer community features such as issues that " "allow:" msgstr "GitHubとGitLabは、どちらもissueのようなコミュニティ機能を提供しています:" -#: ../../tutorials/intro.md:203 +#: ../../tutorials/intro.md:204 msgid "you to communicate with your maintainers and contributor community" msgstr "メンテナや貢献者コミュニティとのコミュニケーション" -#: ../../tutorials/intro.md:204 +#: ../../tutorials/intro.md:205 msgid "users to report bugs, ask questions and request new features" msgstr "ユーザーによるバグ報告、質問、新機能のリクエスト" -#: ../../tutorials/intro.md:205 +#: ../../tutorials/intro.md:206 msgid "" "you to publicly keep track of enhancements and features you want to work " "on for your package." msgstr "あなたのパッケージのために取り組みたい機能強化や機能を公的に追跡することができます。" -#: ../../tutorials/intro.md:207 +#: ../../tutorials/intro.md:208 msgid "Continuous integration and continuous deployment" msgstr "継続的インテグレーションと継続的デプロイメント" -#: ../../tutorials/intro.md:209 +#: ../../tutorials/intro.md:210 msgid "" "GitHub and GitLab also provide continuous integration and continuous " "deployment (CI/CD). Continuous integration (CI) refers to a platform that" @@ -3332,29 +3343,29 @@ msgstr "" " とは、特定のイベントが発生したときに特定のジョブを自動的に実行するプラットフォームのことを指し、継続的デプロイメント " "(CD)とは、実行や構築だけでなく、最終的なアウトプットをどこかに公開することを指すCIの拡張です。" -#: ../../tutorials/intro.md:211 +#: ../../tutorials/intro.md:212 msgid "**An example of Continuous integration:**" msgstr "**継続的インテグレーションの例:**" -#: ../../tutorials/intro.md:213 +#: ../../tutorials/intro.md:214 msgid "" "When someone submits a change to your code, your tests will run across " "different operating systems and the code will be checked for format " "issues." msgstr "誰かがあなたのコードに変更を加えた場合、あなたのテストは異なるオペレーティングシステム上で実行され、コードはフォーマットの問題がないかチェックされます。" -#: ../../tutorials/intro.md:215 +#: ../../tutorials/intro.md:216 msgid "**An example of Continuous deployment:**" msgstr "**継続的デプロイの例:**" -#: ../../tutorials/intro.md:217 +#: ../../tutorials/intro.md:218 msgid "" "When you are ready to release your package to PyPI, a continuous " "deployment operation might be triggered on release to publish your " "package to PyPI." msgstr "PyPIにパッケージをリリースする準備ができたら、リリース時に継続的デプロイ操作をトリガーしてパッケージをPyPIに公開することがあります。" -#: ../../tutorials/intro.md:219 +#: ../../tutorials/intro.md:220 msgid "" "Integrated CI/CD will help you maintain your software, ensuring that " "changes to the code don't break things unexpectedly. They can also help " @@ -3364,15 +3375,15 @@ msgstr "" "統合されたCI/CDは、コードの変更が予期せぬ事態を引き起こさないよう、ソフトウェアの保守を支援します。 " "また、コードに新しい変更が加えられるたびに、コードのスタイルや書式の一貫性を維持するのにも役立ちます。" -#: ../../tutorials/intro.md:228 +#: ../../tutorials/intro.md:229 msgid "The lifecycle of a scientific Python package." msgstr "科学的Pythonパッケージのライフサイクル。" -#: ../../tutorials/intro.md:231 +#: ../../tutorials/intro.md:232 msgid "When should you turn your code into a Python package?" msgstr "あなたのコードをPythonパッケージにするタイミングは?" -#: ../../tutorials/intro.md:233 +#: ../../tutorials/intro.md:234 msgid "" "You may be wondering, what types of code should become a Python package " "that is both on GitHub and published to PyPI and/or conda-forge." @@ -3380,11 +3391,11 @@ msgstr "" "どのようなコードをPythonのパッケージにして、GitHubに置き、PyPIやconda-" "forgeに公開すればいいのか、疑問に思うかもしれません。" -#: ../../tutorials/intro.md:235 +#: ../../tutorials/intro.md:236 msgid "There are a few use cases to consider:" msgstr "考慮すべき使用例がいくつかあります:" -#: ../../tutorials/intro.md:237 +#: ../../tutorials/intro.md:238 msgid "" "**Creating a basic package for yourself:** Sometimes you want create a " "package for your own personal use. This might mean making your code " @@ -3396,7 +3407,7 @@ msgstr "" "**自分用の基本パッケージを作ります:** 個人的に使用するためにパッケージを作成したいこともあるでしょう。 " "これは、コードをローカルにpipでインストールできるようにすることを意味するかもしれませんし、GitHubに公開したいと思うかもしれません。その場合、他の人があなたのコードを使うことを期待していないので、パッケージを更新する必要がある場合に、あなた自身と将来の自分のためのドキュメントしか用意できないかもしれません。" -#: ../../tutorials/intro.md:239 +#: ../../tutorials/intro.md:240 msgid "" "An example of this type of package might be a set of functions that you " "write that are useful across several of your projects. It could be useful" @@ -3405,11 +3416,11 @@ msgstr "" "この種のパッケージの例としては、いくつかのプロジェクトにまたがって有用な関数のセットを書くことができます。 " "これらの機能をすべてのプロジェクトで利用できれば便利でしょう。" -#: ../../tutorials/intro.md:242 +#: ../../tutorials/intro.md:243 msgid "LINK to pip installable lesson when it's published - it's in review now" msgstr "レッスンが公開されたら、pipでインストールできるようにリンクします - 審査中になります" -#: ../../tutorials/intro.md:245 +#: ../../tutorials/intro.md:246 msgid "" "**Creating a package for the community:** In other cases, you may create " "some code that you soon realize might also be useful to not just you, but" @@ -3425,7 +3436,7 @@ msgstr "" "その場合は、パッケージを作成してGitHubで公開し、他のユーザーもそれを使うかもしれないので、CI/CDパイプラインや課題トラッカーなどのGitHubのインフラを利用することも検討できるでしょう。あなたのパッケージを他の人たちにも使ってもらいたいので、LICENSE情報、ユーザーや貢献者のための文書、テストも含めておきたいです。" " このタイプのパッケージはPyPIに公開されることが多いです。" -#: ../../tutorials/intro.md:248 +#: ../../tutorials/intro.md:249 msgid "" "For example, all of the [pyOpenSci packages](https://www.pyopensci.org" "/python-packages.html) are public facing with an intended audience beyond" @@ -3434,11 +3445,11 @@ msgstr "" "例えば、すべての [pyOpenSciパッケージ](https://www.pyopensci.org/python-packages.html)" " は、メンテナ以外の読者を想定して公開されています。" -#: ../../tutorials/intro.md:250 +#: ../../tutorials/intro.md:251 msgid "Packages that you expect others to use should be well-scoped" msgstr "他の人が使用することを想定しているパッケージは、十分なスコープを持つべきです。" -#: ../../tutorials/intro.md:252 +#: ../../tutorials/intro.md:253 msgid "" "Ideally the code in your Python package is focused on a specific theme or" " use case. This theme is important as it's a way to scope the content of " @@ -3447,7 +3458,7 @@ msgstr "" "Pythonパッケージのコードは、特定のテーマやユースケースにフォーカスしているのが理想的です。 " "このテーマは、パッケージの内容に幅を持たせる方法として重要です。" -#: ../../tutorials/intro.md:254 +#: ../../tutorials/intro.md:255 msgid "" "It can be tricky to decide when your code becomes something that might be" " more broadly useful to others. But one question you can ask yourself is " @@ -3458,13 +3469,14 @@ msgstr "" "自分のコードが、いつ他の人に広く役立つものになるかを決めるのは、難しいことです。 " "しかし、自分自身に問いかけることができる質問が一つあります。それは、あなたのコードは特定の研究プロジェクトのために書かれたものですか?あるいは、あなたのドメインにおける複数のプロジェクトにまたがるより広範な応用が可能でしょうか?" -#: ../../tutorials/intro.md:256 +#: ../../tutorials/intro.md:257 msgid "How does this relate to code for a research project?" msgstr "研究プロジェクトのコードとの関連は?" -#: ../../tutorials/intro.md:259 +#: ../../tutorials/intro.md:260 +#, fuzzy msgid "" -"A [Research Compendium](https://the-turing-way.netlify.app/reproducible-" +"A [Research Compendium](https://book.the-turing-way.org/reproducible-" "research/compendia.html) is an organized set of code, data and " "documentation that supports a specific research project. It aims to " "enhance the reproducibility and transparency of research by providing a " @@ -3474,7 +3486,7 @@ msgstr "" "research/compendia.html) とは、特定の研究プロジェクトをサポートするコード、データ、文書を整理したものです。 " "研究で使用された方法、データ、分析の包括的な記録を提供することで、研究の再現性と透明性を高めることを目的としています。" -#: ../../tutorials/intro.md:264 +#: ../../tutorials/intro.md:265 msgid "" "A Python package is a collection of modules that can be used to perform a" " specific set of tasks. These tasks should be applicable to numerous " @@ -3485,7 +3497,7 @@ msgstr "" "これらのタスクは、数多くのワークフローに適用できるはずです。 そのため、Pythonパッケージは、特定のプロジェクトをサポートするResearch" " Compendiumよりも汎用性が高いです。" -#: ../../tutorials/intro.md:269 +#: ../../tutorials/intro.md:270 msgid "" "[Read about `Good enough practices in scientific " "computing`](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005510)" @@ -3493,7 +3505,7 @@ msgstr "" "[`科学的コンピューティングにおける十分なプラクティス` " "について読む](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005510)" -#: ../../tutorials/intro.md:270 +#: ../../tutorials/intro.md:271 msgid "" "[Learn more about research compendia (also called repo-packs) in this " "blog post.](https://lorenabarba.com/blog/how-repro-packs-can-save-your-" @@ -3503,11 +3515,11 @@ msgstr "" "については、こちらのブログ記事で詳しくご紹介しています。](https://lorenabarba.com/blog/how-repro-" "packs-can-save-your-future-self/)" -#: ../../tutorials/intro.md:273 +#: ../../tutorials/intro.md:274 msgid "Below are a few examples well scoped pyOpenSci packages:" msgstr "以下はよくスコープされたpyOpenSciパッケージの例です:" -#: ../../tutorials/intro.md:275 +#: ../../tutorials/intro.md:276 msgid "" "[Crowsetta](https://crowsetta.readthedocs.io/en/latest/): is a package " "designed to work with annotating animal vocalizations and bioacoustics " @@ -3518,7 +3530,7 @@ msgstr "" "[Crowsetta](https://crowsetta.readthedocs.io/en/latest/): " "は、動物の発声や生物音響データの注釈付けを行うために設計されたパッケージです。このパッケージは、ユーザー固有の研究ワークフローに関連する特定の個々の研究アプリケーションに焦点を当てるのではなく、科学者がさまざまなタイプの生体音響データを処理するのを支援します。" -#: ../../tutorials/intro.md:276 +#: ../../tutorials/intro.md:277 msgid "" "[Pandera](https://www.union.ai/pandera) is another more broadly used " "Python package. Pandera supports data testing and thus also has a broader" @@ -3527,21 +3539,21 @@ msgstr "" "[Pandera](https://www.union.ai/pandera) もまた、より広く使われているPythonパッケージです。 " "Panderaはデータの検査をサポートしているため、広範な研究用途にも使用できます。" -#: ../../tutorials/intro.md:278 +#: ../../tutorials/intro.md:279 msgid "Matplotlib as an example" msgstr "例としてのMatplotlib" -#: ../../tutorials/intro.md:280 +#: ../../tutorials/intro.md:281 msgid "" "At the larger end of the user spectrum, Matplotlib is a great example. " "Matplotlib does one thing really well:" msgstr "大規模なユーザーでは、Matplotlibが良い例です。 Matplotlibは一つのことをとてもよくやってくれます:" -#: ../../tutorials/intro.md:283 +#: ../../tutorials/intro.md:284 msgid "_It creates visual plots of data._" msgstr "_データの視覚的なプロットを作成します。_" -#: ../../tutorials/intro.md:285 +#: ../../tutorials/intro.md:286 msgid "" "Thousands of people use Matplotlib for different plotting applications " "using different types of data. While few scientific packages will have " @@ -3551,17 +3563,17 @@ msgstr "" "Matplotlibは、何千人もの人々が、様々な種類のデータを使った様々なプロットアプリケーションに利用しています。 " "Matplotlibのような広範なアプリケーションと大規模なユーザーベースを持つ科学パッケージはほとんどないでしょうが、自分のパッケージが何をするのかを調べるという考え方は依然として重要です。" -#: ../../tutorials/intro.md:291 +#: ../../tutorials/intro.md:292 msgid "Code should also be clean & readable & documented" msgstr "コードはまた、クリーンで読みやすく、文書化されていなければなりません。" -#: ../../tutorials/intro.md:293 +#: ../../tutorials/intro.md:294 msgid "" "The code in your package should also be clean, readable, and well " "documented." msgstr "パッケージ内のコードもまた、クリーンで読みやすく、十分に文書化されていなければなりません。" -#: ../../tutorials/intro.md:295 +#: ../../tutorials/intro.md:296 msgid "" "**Clean code:** Clean code refers to code that uses expressive variable " "names, is concise and doesn't repeat itself. You can learn about best " @@ -3570,7 +3582,7 @@ msgstr "" "**クリーンコード:** " "クリーンなコードとは、表現力豊かな変数名を使い、簡潔で、繰り返しのないコードを指す。きれいなコードのためのベストプラクティスについては、今後のpyOpenSciチュートリアルで学ぶことができます。" -#: ../../tutorials/intro.md:299 +#: ../../tutorials/intro.md:300 msgid "" "**Readable code:** readable code is code written with a consistent style." " You can use linters and code formatters such as black and flake8 to " @@ -3583,7 +3595,7 @@ msgstr "" " [コードフォーマッタの詳細はこちらです。](../package-structure-code/code-style-linting-" "format)" -#: ../../tutorials/intro.md:303 +#: ../../tutorials/intro.md:304 msgid "" "**Documented code:** documented code is written using docstrings that " "help a user understand both what the functions and methods in your code " @@ -3596,15 +3608,15 @@ msgstr "" " [docstringsについては、こちらのガイドで詳しく説明しています。](../documentation/write-user-" "documentation/document-your-code-api-docstrings)" -#: ../../tutorials/intro.md:307 +#: ../../tutorials/intro.md:308 msgid "Making your package installable - publishing to PyPI & conda-forge" msgstr "パッケージをインストール可能にします - PyPIとconda-forgeに公開します" -#: ../../tutorials/intro.md:309 +#: ../../tutorials/intro.md:310 msgid "Python packages and environments" msgstr "Pythonのパッケージと環境" -#: ../../tutorials/intro.md:311 +#: ../../tutorials/intro.md:312 msgid "" "You can install a Python package into a Python environment in the same " "way you might install NumPy or Pandas. Installing your package into an " @@ -3614,7 +3626,7 @@ msgstr "" "NumPyやPandasをインストールするのと同じように、PythonパッケージをPython環境にインストールすることができます。 " "パッケージを環境にインストールすることで、特定のPython環境を有効にして実行したコードからそのパッケージにアクセスできるようになります。" -#: ../../tutorials/intro.md:317 +#: ../../tutorials/intro.md:318 msgid "" "Diagram showing the steps associated with creating a package and then " "installing it. The first arrow says your package and the second says pip " @@ -3627,7 +3639,7 @@ msgstr "" "packageと書かれています。2つ目の矢印は、PandasやNumPyなどのいくつかのパッケージがすでにインストールされているPython環境を表すボックスにつながります。あなたのパッケージも、pip" " installしたときに同じ環境にインストールされます。" -#: ../../tutorials/intro.md:319 +#: ../../tutorials/intro.md:320 msgid "" "You don't have to publish to PyPI to make your code installable. With the" " correct file structure and project metadata you can make your code " @@ -3640,11 +3652,11 @@ msgstr "" "正しいファイル構造とプロジェクトのメタデータがあれば、PyPIに公開することなく、コードをローカルにインストールし、作業中のプロジェクトに使用することができます。" " PyPIへの公開は、自分のコードを公開し、他の人と共有したいときに便利です。" -#: ../../tutorials/intro.md:326 +#: ../../tutorials/intro.md:327 msgid "Publishing a package to PyPI / Conda-Forge" msgstr "PyPI / Conda-Forgeへのパッケージの公開" -#: ../../tutorials/intro.md:328 +#: ../../tutorials/intro.md:329 msgid "" "If you want to make your package directly installable without having to " "download the code to your computer locally then you need to publish it in" @@ -3653,13 +3665,13 @@ msgstr "" "コードをローカルにダウンロードすることなく、パッケージを直接インストールできるようにしたい場合は、 **PyPI** や **conda-" "forge** のようなリポジトリで公開する必要があります。" -#: ../../tutorials/intro.md:332 +#: ../../tutorials/intro.md:333 msgid "" "Learn [how to publish your package to PyPI in this tutorial.](publish-" "pypi.md)" msgstr "[このチュートリアルでは、パッケージをPyPIに公開する方法](publish-pypi.md) を学びます。" -#: ../../tutorials/intro.md:334 +#: ../../tutorials/intro.md:335 msgid "" "Then you can create a conda-forge recipe using the " "[Grayskull](https://github.com/conda/grayskull) tool. You can then submit" @@ -3668,13 +3680,13 @@ msgstr "" "その後、 [Grayskull](https://github.com/conda/grayskull) ツールを使ってconda-" "forgeレシピを作成することができます。 このレシピをconda-forgeに投稿することができます。" -#: ../../tutorials/intro.md:336 +#: ../../tutorials/intro.md:337 msgid "" "[You will learn more about the conda-forge publication process here" ".](publish-conda-forge.md)" msgstr "[conda-forgeの公開プロセスについてはこちらをご覧ください。](publish-conda-forge.md)" -#: ../../tutorials/intro.md:339 +#: ../../tutorials/intro.md:340 msgid "" "Graphic showing the high level packaging workflow. On the left you see a " "graphic with code, metadata and tests in it. Those items all go into your" @@ -3688,16 +3700,16 @@ msgstr "" "ハイレベルなパッケージングのワークフローを示すグラフィックです。左側には、コード、メタデータ、テストが入ったグラフィックがあります。ドキュメンテーションやデータは、通常、パッケージホイールの配布物には掲載されないため、そのボックスの下にあります。右の矢印は、ビルド配布ファイルのボックスに移動します。このボックスは、TestPyPIか本物のPyPIのどちらかに公開するように導きます" "。PyPIからconda-forgeに接続し、ディストリビューションをPyPIからconda-forgeに送る自動ビルドを行うことができます。" -#: ../../tutorials/intro.md:341 +#: ../../tutorials/intro.md:342 msgid "" "In the image above, you can see the steps associated with publishing your" -" package on PyPI and conda-forge. PyPI supports [sdist](#python-source-distribution)" -" and [wheel](#python-wheel) files. Once you are ready to make your code publicly " -"installable, you can publish it on PyPI. Once your code is on PyPI it is " -"straight forward to then publish to conda-forge. You create a recipe " -"using the Grayskull package and then you open a pr in the conda-forge " -"recipe repository. You will learn more about this process in the [conda-" -"forge lesson](/tutorials/publish-conda-forge)." +" package on PyPI and conda-forge. PyPI supports [sdist](#python-source-" +"distribution) and [wheel](#python-wheel) files. Once you are ready to " +"make your code publicly installable, you can publish it on PyPI. Once " +"your code is on PyPI it is straight forward to then publish to conda-" +"forge. You create a recipe using the Grayskull package and then you open " +"a pr in the conda-forge recipe repository. You will learn more about this" +" process in the [conda-forge lesson](/tutorials/publish-conda-forge)." msgstr "" "上の画像では、PyPIとconda-forgeでパッケージを公開する手順を見ることができます。 PyPIが要求する配布ファイルは [sdist" "](#python-source-distribution) と [wheel](#python-wheel) " @@ -3706,11 +3718,11 @@ msgstr "" "forgeレシピリポジトリでprを開きます。このプロセスについては、 [conda-forgeのレッスン](/tutorials/publish-" "conda-forge) で詳しく学びます。" -#: ../../tutorials/intro.md:345 +#: ../../tutorials/intro.md:346 msgid "Yay, your package has users! Now what?" msgstr "やった、あなたのパッケージにはユーザーがいます! さて、どうしますか?" -#: ../../tutorials/intro.md:347 +#: ../../tutorials/intro.md:348 msgid "" "As the community using your package grows, you may also find yourself " "managing users, contributors, and others who want to interact with your " @@ -3722,11 +3734,11 @@ msgstr "" "あなたのパッケージを使うコミュニティが大きくなるにつれて、あなたはユーザーや貢献者、その他あなたのパッケージと交流したい人たちを管理することになるかもしれません。開発に飛び込む前に、これらすべてを考慮することが重要です。" " コミュニティーの中にユーザーベースができれば、人々はあなたのコードに依存するようになり、その使い方の指示を必要とするようになります。" -#: ../../tutorials/intro.md:349 +#: ../../tutorials/intro.md:350 msgid "To support your community, you'll want to add things like:" msgstr "コミュニティをサポートするために、以下のようなものを追加したいです:" -#: ../../tutorials/intro.md:351 +#: ../../tutorials/intro.md:352 msgid "" "[a development guide that documents your maintainer workflow process " "](/documentation/repository-files/development-guide.md)" @@ -3734,7 +3746,7 @@ msgstr "" "[メンテナーのワークフロープロセスを文書化した開発ガイド](/documentation/repository-files" "/development-guide.md)" -#: ../../tutorials/intro.md:352 +#: ../../tutorials/intro.md:353 msgid "" "[a code of conduct to defines community interaction standards and " "expectations](/documentation/repository-files/code-of-conduct-file.md)" @@ -3742,7 +3754,7 @@ msgstr "" "[コミュニティとの交流の基準と期待を定める行動規範](/documentation/repository-files/code-of-" "conduct-file.md)" -#: ../../tutorials/intro.md:353 +#: ../../tutorials/intro.md:354 msgid "" "[a contributing guide that helps users understand expectations associated" " with making contributions to your project](/documentation/repository-" @@ -3751,11 +3763,11 @@ msgstr "" "[プロジェクトに貢献する際にユーザーが期待されることを理解するのに役立つ貢献ガイド](/documentation/repository-" "files/contributing-file.md)" -#: ../../tutorials/intro.md:355 +#: ../../tutorials/intro.md:356 msgid "Support for contributors and maintainers" msgstr "コントリビューターとメンテナーのサポート" -#: ../../tutorials/intro.md:357 +#: ../../tutorials/intro.md:358 msgid "" "If you intend for others to use and contribute to your code, consider who" " will maintain it over time. You will want a **contributing and " @@ -3768,7 +3780,7 @@ msgstr "" " **貢献と開発** ガイドと、コミュニティの交流があなたにとっても貢献者やメンテナチームにとっても健全であり続けるようにするための " "**行動規範** が欲しいでしょう。" -#: ../../tutorials/intro.md:359 +#: ../../tutorials/intro.md:360 msgid "" "The elements above are also important for future maintenance of your " "package. In the case that you are no long able to maintain it or simply " @@ -3778,11 +3790,11 @@ msgstr "" "上記の要素は、今後のパッケージのメンテナンスにおいても重要です。 " "メンテナンスができなくなった場合、あるいは単に追加的な助けが欲しい場合、開発、そしてドキュメントの貢献は、新しいメンテナへの参加を支援します。" -#: ../../tutorials/intro.md:364 +#: ../../tutorials/intro.md:365 msgid "What's next?" msgstr "次のレッスン" -#: ../../tutorials/intro.md:366 +#: ../../tutorials/intro.md:367 msgid "" "In future lessons you will learn more about the infrastructure around a " "published Python package that makes it both easier to maintain, easier " @@ -3791,7 +3803,7 @@ msgid "" "Python package." msgstr "今後のレッスンでは、公開された、メンテナンスが容易になり、他の人が貢献しやすくなり、他の科学者が使いやすくなるPythonパッケージのインフラについて学びます。しかし、まずはPythonパッケージを公開するという最初のゴールに到達してもらいたいと思います。" -#: ../../tutorials/intro.md:368 +#: ../../tutorials/intro.md:369 msgid "" "In this next lesson you will learn how to create a basic installable " "Python package. Make your code pip installable " @@ -3848,7 +3860,7 @@ msgstr "" "**重要:** パッケージをconda-forgeに公開する練習はしないでください。 conda-" "forgeに公開するのは、pypi.orgにメンテナンスする予定のパッケージがあるときだけにしてください。" -#: ../../tutorials/publish-conda-forge.md:24 ../../tutorials/publish-pypi.md:22 +#: ../../tutorials/publish-conda-forge.md:24 ../../tutorials/publish-pypi.md:24 msgid "In this lesson you will learn how to:" msgstr "このレッスンで学ぶこと:" @@ -4770,49 +4782,48 @@ msgstr "[Grayskull blogpost](https://conda-forge.org/blog/2020/03/05/grayskull/) msgid "[Pipx documentation](https://pipx.pypa.io/stable/)" msgstr "[Pipx documentation](https://pipx.pypa.io/stable/)" -#: ../../tutorials/publish-pypi.md:6 +#: ../../tutorials/publish-pypi.md:7 msgid "Publish your Python package to PyPI" msgstr "PythonパッケージをPyPIに公開する" -#: ../../tutorials/publish-pypi.md:9 -msgid "" -"Make sure they add /dist to their .gitignore file. We have not discussed " -"GitHub workflows anywhere yet. Where does that fit?" +#: ../../tutorials/publish-pypi.md:11 +#, fuzzy +msgid "Make sure they add /dist to their .gitignore file. Where does that fit?" msgstr "" ".gitignoreファイルに/distが追加されていることを確認してください。GitHubのワークフローについては、まだどこにも触れていません。" " それはどこに当てはまりますか?" -#: ../../tutorials/publish-pypi.md:13 +#: ../../tutorials/publish-pypi.md:15 msgid "In the previous Python packaging lessons, you've learned:" msgstr "これまでのPythonパッケージングレッスンで、あなたは次のことを学びました:" -#: ../../tutorials/publish-pypi.md:15 +#: ../../tutorials/publish-pypi.md:17 msgid "What a Python package is" msgstr "Pythonパッケージとは" -#: ../../tutorials/publish-pypi.md:16 +#: ../../tutorials/publish-pypi.md:18 msgid "How to make your code installable." msgstr "コードをインストール可能にします。" -#: ../../tutorials/publish-pypi.md:24 +#: ../../tutorials/publish-pypi.md:26 msgid "Build your package's source (sdist) and wheel distributions" msgstr "パッケージのソース (sdist) とwheelディストリビューションをビルドします。" -#: ../../tutorials/publish-pypi.md:25 +#: ../../tutorials/publish-pypi.md:27 msgid "Setup an account on TestPyPI (the process is similar for PyPI)" msgstr "TestPyPIにアカウントを設定する(PyPIでも同様の手順です)" -#: ../../tutorials/publish-pypi.md:26 +#: ../../tutorials/publish-pypi.md:28 msgid "Publish your package to TestPyPI and PyPI" msgstr "パッケージをTestPyPIとPyPIに公開する" -#: ../../tutorials/publish-pypi.md:28 +#: ../../tutorials/publish-pypi.md:30 msgid "" "You will do all of your development work in this lesson using " "[Hatch](https://hatch.pypa.io/latest/)." msgstr "このレッスンでは、すべての開発作業を [Hatch](https://hatch.pypa.io/latest/) を使って行います。" -#: ../../tutorials/publish-pypi.md:30 +#: ../../tutorials/publish-pypi.md:32 msgid "" "Once your package is on PyPI you can publish it to conda-forge (which is " "a channel on conda) using " @@ -4821,13 +4832,13 @@ msgstr "" "パッケージがPyPIに載ったら、 [Grayskull](https://conda.github.io/grayskull/) " "を使ってconda-forge (condaのチャンネルです) に公開できます。" -#: ../../tutorials/publish-pypi.md:33 +#: ../../tutorials/publish-pypi.md:35 msgid "" "You will learn how to publish to conda-forge in the [next lesson" "](publish-conda-forge)." msgstr "conda-forgeに公開する方法は [次のレッスン](publish-conda-forge) で学びます。" -#: ../../tutorials/publish-pypi.md:37 +#: ../../tutorials/publish-pypi.md:39 msgid "" "Graphic showing the high level packaging workflow. On the left you see a " "graphic with code, metadata and tests in it. Those items all go into your" @@ -4844,7 +4855,7 @@ msgstr "" "。PyPIからconda-forgeに接続することで、PyPIからconda-" "forgeにディストリビューションを送る自動ビルドを行うことができるからです。" -#: ../../tutorials/publish-pypi.md:39 +#: ../../tutorials/publish-pypi.md:41 msgid "" "You need to build your Python package in order to publish it to PyPI (or " "Conda). The build process organizes your code and metadata into a " @@ -4854,17 +4865,17 @@ msgstr "" "PythonパッケージをPyPI(またはConda)に公開するには、ビルドする必要があります。ビルドプロセスは、あなたのコードとメタデータをPyPIにアップロードできる配布フォーマットに整理し、その後ユーザーがダウンロードしてインストールできるようにします。" " " -#: ../../tutorials/publish-pypi.md:42 +#: ../../tutorials/publish-pypi.md:44 msgid "TestPyPI vs PyPI" msgstr "TestPyPI vs PyPI" -#: ../../tutorials/publish-pypi.md:44 +#: ../../tutorials/publish-pypi.md:46 msgid "" "There are two repositories associated with PyPI to which you can upload " "your Python package." msgstr "PyPIには、Pythonパッケージをアップロードできる2つのリポジトリがあります。" -#: ../../tutorials/publish-pypi.md:47 +#: ../../tutorials/publish-pypi.md:49 msgid "" "**[TestPyPI](https://test.pypi.org):** TestPyPI is a package repository " "provided by PyPI that you can use for testing that your package can be " @@ -4875,7 +4886,7 @@ msgstr "" "**[TestPyPI](https://test.pypi.org):** " "TestPyPIはPyPIが提供するパッケージリポジトリで、あなたのパッケージが正しくアップロード、ダウンロード、インストールできるかをテストするために使用できます。これは、実際のPyPIサービスに不完全なパッケージを公開することなく、パッケージを公開する方法を学び、練習するのに最適な場所です。" -#: ../../tutorials/publish-pypi.md:48 +#: ../../tutorials/publish-pypi.md:50 msgid "" "**[PyPI](https://pypi.org):** This is the live, production PyPI " "repository where you can officially publish your Python package, and from" @@ -4889,17 +4900,17 @@ msgstr "" "PyPIにパッケージを公開するのは、それが他の人に使われる準備ができたとき、そして/またはそれがあなたが保守するパッケージになると確信したときだけにしてください。" " PyPIはPythonパッケージの公開方法を学ぶ練習の場ではありません。" -#: ../../tutorials/publish-pypi.md:50 +#: ../../tutorials/publish-pypi.md:52 msgid "" "The steps for publishing on TestPyPI vs. PyPI are similar with the " "exception of a different url. We will point out where they differ." msgstr "TestPyPIとPyPIで公開する手順は、URLが異なることを除いて似ています。両者の相違点を指摘します。" -#: ../../tutorials/publish-pypi.md:53 +#: ../../tutorials/publish-pypi.md:55 msgid "4 Steps for publishing a Python package on TestPyPI (or PyPI)" msgstr "TestPyPI (またはPyPI)でPythonパッケージを公開するための4つのステップ" -#: ../../tutorials/publish-pypi.md:55 +#: ../../tutorials/publish-pypi.md:57 msgid "" "In this lesson you will learn how to publish your package to TestPyPI " "using [Hatch](https://hatch.pypa.io/latest/). There are 4 things that you" @@ -4909,11 +4920,11 @@ msgstr "" "を使ってパッケージをTestPyPIに公開する方法を学びます。 Pythonパッケージを公開するために必要なことは4つあります: " "TestPyPIでは。必要なのは:" -#: ../../tutorials/publish-pypi.md:60 +#: ../../tutorials/publish-pypi.md:62 msgid "**Create a package development environment**" msgstr "**パッケージ開発環境の構築**" -#: ../../tutorials/publish-pypi.md:61 +#: ../../tutorials/publish-pypi.md:63 msgid "" "[**Build your package using `hatch build`**](../package-structure-code" "/python-package-distribution-files-sdist-wheel). Building a package is " @@ -4926,7 +4937,7 @@ msgstr "" "パッケージのビルドは、コードを2種類の配布ファイルに変換するプロセスです: sdistとwheel。wheel配布ファイルは、あなたのパッケージを" " `pip install` するユーザーにとって特に重要です。" -#: ../../tutorials/publish-pypi.md:62 +#: ../../tutorials/publish-pypi.md:64 msgid "" "**Create an account on TestPyPI (or PyPI)**: You will need to create a " "TestPyPI account and associated token which provides permissions for you " @@ -4937,15 +4948,16 @@ msgstr "" "TestPyPIアカウントと、パッケージをアップロードするためのパーミッションを提供する関連トークンを作成する必要があります。 " "後でパッケージをPyPIに公開するときは、別のPyPIアカウントとトークンが必要になります。" -#: ../../tutorials/publish-pypi.md:63 +#: ../../tutorials/publish-pypi.md:65 msgid "**Publish to TestPyPI using `hatch publish`**" msgstr "** `hatch publish` を使用してTestPyPIにパブリッシュする**" -#: ../../tutorials/publish-pypi.md:65 +#: ../../tutorials/publish-pypi.md:67 +#, fuzzy msgid "" -"In a future lesson, you will learn how to create an automated GitHub " -"Actions workflow that publishes an updated version of your package to " -"PyPI every time you create a GitHub release." +"In a [future lesson](trusted-publishing), you will learn how to create an" +" automated GitHub Actions workflow that publishes an updated version of " +"your package to PyPI every time you create a GitHub release." msgstr "" "今後のレッスンでは、GitHub リリースを作成するたびにパッケージの更新版を PyPI に公開する、自動化された GitHub Actions " "のワークフローを作成する方法を学びます。" @@ -5348,7 +5360,8 @@ msgstr "" "パッケージ固有のトークンを作成することで、トークンのスコープを特定のパッケージのみに限定することができます。これは、特にパッケージ開発で他の人と共同作業する場合に、安全な設定方法です。" #: ../../tutorials/publish-pypi.md:259 -msgid "Follow the steps below to create your token." +#, fuzzy +msgid "Follow the steps below to create your token" msgstr "以下の手順に従ってトークンを作成してください。" #: ../../tutorials/publish-pypi.md:261 @@ -5584,63 +5597,110 @@ msgstr "" "その後、PyPIで \"trusted publisher\" ワークフローを作成することができます。" #: ../../tutorials/publish-pypi.md:371 +#, fuzzy +msgid "Trusted Publishing" +msgstr "パッケージパブリッシング" + +#: ../../tutorials/publish-pypi.md:374 +msgid "" +"While publishing from GitHub Action is possible using tokens, we " +"recommend the _Trusted Publishing_ approach as it also confers " +"significant security and usability benefits." +msgstr "" + +#: ../../tutorials/publish-pypi.md:376 +msgid "" +"On the usability front, when Trusted Publishing is enabled, users no " +"longer need to manually create API tokens on PyPI and store them in the " +"GitHub release workflow." +msgstr "" + +#: ../../tutorials/publish-pypi.md:378 +msgid "" +"On the security front, Trusted Publishing reduces a risk related to the " +"API token being long lived: with API tokens, as soon as an attacker gets " +"access to it, they can publish many packages and versions in your name " +"(depending on the scope of the token), until you discover the token " +"compromise and rotate the credential. Trusted Publishing avoids this " +"problem by minting very short lived tokens which expire automatically." +msgstr "" + +#: ../../tutorials/publish-pypi.md:380 +msgid "" +"For these benefits, it is recommended that users use _only_ the GitHub " +"Actions release workflow to publish packages." +msgstr "" + +#: ../../tutorials/publish-pypi.md:383 msgid "" "You will learn how to create the automated trusted publisher workflow in " "a followup lesson." msgstr "自動化された信頼できるパブリッシャーワークフローの作成方法については、次のレッスンで学びます。" -#: ../../tutorials/publish-pypi.md:374 +#: ../../tutorials/publish-pypi.md:385 msgid "OPTIONAL: If you want to use a manual token-based publication workflow" msgstr "オプション: 手動トークンベースの発行ワークフローを使用する場合" -#: ../../tutorials/publish-pypi.md:376 +#: ../../tutorials/publish-pypi.md:387 msgid "" "If you plan to use your token regularly to publish to PyPI, we strongly " "recommend going through the above steps again to create a token specific " "to your new package." msgstr "トークンを定期的に使ってPyPIに公開する予定がある場合、新しいパッケージに固有のトークンを作成するために、上記の手順をもう一度行うことを強くお勧めします。" -#: ../../tutorials/publish-pypi.md:379 +#: ../../tutorials/publish-pypi.md:390 msgid "To do this:" msgstr "そのためには:" -#: ../../tutorials/publish-pypi.md:380 +#: ../../tutorials/publish-pypi.md:391 msgid "Go to TestPyPI." msgstr "TestPyPIに行きます。" -#: ../../tutorials/publish-pypi.md:381 +#: ../../tutorials/publish-pypi.md:392 msgid "Navigate to the \"Your Projects\" section of your account" msgstr "アカウントの \"Your Projects\" セクションに移動します" -#: ../../tutorials/publish-pypi.md:382 +#: ../../tutorials/publish-pypi.md:393 msgid "" "Click on the manage button for the project that you wish to add a token " "for" msgstr "トークンを追加したいプロジェクトの管理ボタンをクリックします" -#: ../../tutorials/publish-pypi.md:383 +#: ../../tutorials/publish-pypi.md:394 msgid "Go to settings" msgstr "設定に進む" -#: ../../tutorials/publish-pypi.md:384 +#: ../../tutorials/publish-pypi.md:395 msgid "Click on \"Create a token for your-package-name-here\"" msgstr "\"パッケージ名のトークンを作成する\" をクリックします" -#: ../../tutorials/publish-pypi.md:385 +#: ../../tutorials/publish-pypi.md:396 msgid "" "Create the token and follow the steps above publish your package using " "the repository specific token." msgstr "トークンを作成し、上記の手順に従って、リポジトリ固有のトークンを使用してパッケージを公開します。" -#: ../../tutorials/publish-pypi.md:387 +#: ../../tutorials/publish-pypi.md:398 msgid "And you're all done!" msgstr "そして、すべて終わりました!" -#: ../../tutorials/publish-pypi.md:389 +#: ../../tutorials/publish-pypi.md:400 +msgid "Trusted Publishing instead of token-based publication" +msgstr "" + +#: ../../tutorials/publish-pypi.md:403 +msgid "" +"Trusted Publishing will generate short lived tokens, scoped to the " +"project, on demand, only when a specific release workflows gets " +"triggered. This solves all the security and usability issues associated " +"with storing credentials in files/GitHub secrets." +msgstr "" + +#: ../../tutorials/publish-pypi.md:409 msgid "You have published your package to TestPyPI!" msgstr "あなたはTestPyPIにパッケージを公開しました!" -#: ../../tutorials/publish-pypi.md:391 +#: ../../tutorials/publish-pypi.md:411 msgid "" "Congratulations. You have now successfully published your package to " "TestPyPI. If you have a package that is ready for real-world use on the " @@ -5650,7 +5710,7 @@ msgstr "" "おめでとうございます。これで、TestPyPIへのパッケージの公開が成功しました。実際のPyPIで利用できる準備が整ったパッケージがあれば、同じ手順で" " (上記の違いはありますが) PyPIに公開することができます。" -#: ../../tutorials/publish-pypi.md:393 +#: ../../tutorials/publish-pypi.md:413 msgid "" "Once you publish on PyPI, you can then easily add your package to the " "conda-forge ecosystem using the [grayskull](https://conda-" @@ -5660,11 +5720,11 @@ msgstr "" "forge.org/blog/posts/2020-03-05-grayskull/) ツールを使って簡単にconda-" "forgeエコシステムにパッケージを追加できます。" -#: ../../tutorials/publish-pypi.md:395 +#: ../../tutorials/publish-pypi.md:415 msgid "You will learn how to do that in the next lesson." msgstr "その方法は次のレッスンで学習します。" -#: ../../tutorials/publish-pypi.md:402 +#: ../../tutorials/publish-pypi.md:419 msgid "https://docs.python.org/3/library/venv.html" msgstr "https://docs.python.org/3/library/venv.html" @@ -6188,20 +6248,47 @@ msgid "Step 2: Add README and license" msgstr "ステップ2: READMEとライセンスの追加" #: ../../tutorials/pyproject-toml.md:274 +#, fuzzy msgid "" "In the previous lessons, you added both a [README.md](add-readme) file " "and a [LICENSE](add-license-coc) to your package repository. Once you " -"have those files, you can add them to your pyproject.toml file as links " -"following the example below." +"have those files, you can refer to the README from your pyproject.toml " +"file, and add a short code indicating your choice of LICENSE following " +"the example below." msgstr "" "前のレッスンでは、 [README.md](add-readme) ファイルと [LICENSE](add-license-coc) " "の両方をパッケージリポジトリーに追加しました。これらのファイルを手に入れたら、以下の例に従ってpyproject.tomlファイルにリンクとして追加します。" -#: ../../tutorials/pyproject-toml.md:302 +#: ../../tutorials/pyproject-toml.md:303 +msgid "" +"The license entry in your pyproject.toml file must use the [license " +"expression syntax](https://packaging.python.org/en/latest/specifications" +"/license-expression/). Often this is a short name (with no spaces) for " +"the license, such as \"MIT\", \"BSD-3-Clause\" or \"Apache-2.0\". More " +"precisely, it must be a valid SPDX license expression, as documented in " +"the [SPDX specification](https://spdx.github.io/spdx-spec/v2.2.2/SPDX-" +"license-expressions/), either version 2.2 or a later compatible version." +msgstr "" + +#: ../../tutorials/pyproject-toml.md:305 +msgid "" +"If you have multiple licenses, or a custom license, you can also express " +"these using a license expression." +msgstr "" + +#: ../../tutorials/pyproject-toml.md:307 +msgid "" +"If you want to distribute license files, or other files containing legal " +"information, with your package, you can include these using the " +"[`license-files`](https://packaging.python.org/en/latest/guides/writing-" +"pyproject-toml/#license-files) entry, but this is not required." +msgstr "" + +#: ../../tutorials/pyproject-toml.md:309 msgid "Step 3: Specify Python version with `requires-python`" msgstr "ステップ 3: `requires-python` でPythonのバージョンを指定します" -#: ../../tutorials/pyproject-toml.md:304 +#: ../../tutorials/pyproject-toml.md:311 msgid "" "Add the `requires-python` field to your `pyproject.toml` `[project]` " "table. The `requires-python` field helps pip identify which Python " @@ -6221,12 +6308,12 @@ msgstr "" "metadata/#core-metadata-requires-python) では、 `requires-python` " "をバージョン指定の文字列として定義している。ほとんどのプロジェクトは、そのパッケージがサポートする最も古いPythonのバージョンを指定します。いくつかの高度なケースでは、どの将来のPythonバージョンがサポートされるかを示す上限が設定されます。" -#: ../../tutorials/pyproject-toml.md:309 +#: ../../tutorials/pyproject-toml.md:316 #, fuzzy msgid "But how do I figure out which Python versions I should support?" msgstr "パッケージがサポートしているPythonのバージョンを変更します。" -#: ../../tutorials/pyproject-toml.md:311 +#: ../../tutorials/pyproject-toml.md:318 msgid "" "Good question. The Python developer guide provides a [status " "page](https://devguide.python.org/versions/) (and a handy visualization) " @@ -6235,14 +6322,14 @@ msgid "" "602](https://peps.python.org/pep-0602/)." msgstr "" -#: ../../tutorials/pyproject-toml.md:313 +#: ../../tutorials/pyproject-toml.md:320 msgid "" "We recommend that you use the latest Python release in the **bugfix** " "phase. If your Python release is in the **security** phase, we recommend " "migrating to a newer version of Python." msgstr "" -#: ../../tutorials/pyproject-toml.md:315 +#: ../../tutorials/pyproject-toml.md:322 msgid "" "[SPEC 0](https://scientific-python.org/specs/spec-0000/) of the " "Scientific Python project suggests a common schedule for dependencies, " @@ -6250,11 +6337,11 @@ msgid "" " project." msgstr "" -#: ../../tutorials/pyproject-toml.md:344 +#: ../../tutorials/pyproject-toml.md:351 msgid "Step 4: Specify Dependencies" msgstr "ステップ4: 依存関係の指定" -#: ../../tutorials/pyproject-toml.md:346 +#: ../../tutorials/pyproject-toml.md:353 msgid "" "Next add your dependencies table to the project table. The `dependencies " "=` section contains a list (or array in the toml language) of the Python " @@ -6266,11 +6353,11 @@ msgstr "" "セクションには、あなたのパッケージがPython環境で正しく動作するために必要なPythonパッケージのリスト(toml言語では配列)を記述します。" " 上記の `[build-system]` の表に記載されている要件と同様です:" -#: ../../tutorials/pyproject-toml.md:354 +#: ../../tutorials/pyproject-toml.md:361 msgid "dependencies are added in an array (similar to a Python list) structure." msgstr "依存関係は配列(Pythonのリストに似ている)構造で追加されます。" -#: ../../tutorials/pyproject-toml.md:360 +#: ../../tutorials/pyproject-toml.md:367 msgid "" "A dependency can be limited to specific versions using a **version " "specifier.** If the dependency has no version specifier after the " @@ -6285,7 +6372,7 @@ msgstr "" "コードは時間の経過とともに変化し、バグが修正され、APIが変更されます。そのため、コードを書いた依存関係がどのバージョンと互換性があるのかを明確にしておくことは良いことです" " - あなたが今年書いたパッケージは、おそらくnumpy v0.0.1とは互換性がありません!" -#: ../../tutorials/pyproject-toml.md:364 +#: ../../tutorials/pyproject-toml.md:371 msgid "" "[Learn more about various ways to specify ranges of package versions " "here.](https://packaging.python.org/en/latest/specifications/version-" @@ -6294,7 +6381,7 @@ msgstr "" "[パッケージバージョンの範囲を指定する様々な方法については、こちらをご覧ください。](https://packaging.python.org/en/latest/specifications" "/version-specifiers/#id5)" -#: ../../tutorials/pyproject-toml.md:366 +#: ../../tutorials/pyproject-toml.md:373 msgid "" "The most common version specifier is a **lower bound,** allowing any " "version higher than the specified version. Ideally you should set this to" @@ -6306,11 +6393,11 @@ msgstr "" "で、指定されたバージョンより上位のバージョンを許可します。理想的には、あなたのパッケージとまだ互換性のある最も低いバージョンに設定すべきですが、実際には新しいパッケージの場合、パッケージが書かれた時点での最新バージョンに設定されることがよくあります" " [^lowerbound] 。" -#: ../../tutorials/pyproject-toml.md:371 +#: ../../tutorials/pyproject-toml.md:378 msgid "Lower bounds look like this:" msgstr "下限は次のようになります:" -#: ../../tutorials/pyproject-toml.md:377 +#: ../../tutorials/pyproject-toml.md:384 msgid "" "Commas are used to separate individual dependencies, and each package in " "your `dependencies` section can use different types of version " @@ -6319,25 +6406,25 @@ msgstr "" "カンマは、個々の依存関係を区切るために使用します、 そして、`dependencies` " "セクションの各パッケージは異なるタイプのバージョン指定子を使うことができます:" -#: ../../tutorials/pyproject-toml.md:388 +#: ../../tutorials/pyproject-toml.md:395 msgid "Your `pyproject.toml` file will now look like this:" msgstr "これで `pyproject.toml` ファイルは次のようになります:" -#: ../../tutorials/pyproject-toml.md:418 +#: ../../tutorials/pyproject-toml.md:425 msgid "Pin dependencies with caution" msgstr "依存関係のピン止めは慎重に" -#: ../../tutorials/pyproject-toml.md:419 +#: ../../tutorials/pyproject-toml.md:426 msgid "" "\"Pinning\" a dependency means setting it to a specific version, like " "this:" msgstr "依存関係を \"Pinning\" することは、次のように特定のバージョンに設定することを意味します:" -#: ../../tutorials/pyproject-toml.md:421 +#: ../../tutorials/pyproject-toml.md:428 msgid "`numpy == 1.0`." msgstr "`numpy == 1.0` 。" -#: ../../tutorials/pyproject-toml.md:423 +#: ../../tutorials/pyproject-toml.md:430 msgid "" "If you are building a library package that other developers will depend " "upon, you must be cautious before pinning to a precise dependency " @@ -6353,13 +6440,13 @@ msgstr "" "なぜなら、ユーザーはあなたのパッケージをさまざまな環境にインストールするからです。特定のバージョンに固定された依存関係は、Python環境の解決をより困難にします。" " そのため、依存関係を特定のバージョンに固定するのは、どうしても必要な場合に限られます。" -#: ../../tutorials/pyproject-toml.md:431 +#: ../../tutorials/pyproject-toml.md:438 msgid "" "Similarly, you should be cautious when specifying an upper bound on a " "package. These two specifications are equivalent:" msgstr "同様に、パッケージの上限を指定する場合にも注意が必要です。これら2つの仕様は同等です:" -#: ../../tutorials/pyproject-toml.md:439 +#: ../../tutorials/pyproject-toml.md:446 msgid "" "One build tool that you should be aware of that pins dependencies to an " "upper bound by default is Poetry. [Read more about how to safely add " @@ -6368,11 +6455,11 @@ msgstr "" "依存関係をデフォルトで上限値に固定するビルドツールとして知っておくべきもののひとつに、Poetryがあります。 " "[Poetryで依存関係を安全に追加する方法については、こちらをお読みください。](challenges-with-poetry)" -#: ../../tutorials/pyproject-toml.md:442 +#: ../../tutorials/pyproject-toml.md:449 msgid "Step 5: Add PyPI classifiers" msgstr "ステップ5: PyPI classifiersを追加する" -#: ../../tutorials/pyproject-toml.md:444 +#: ../../tutorials/pyproject-toml.md:451 msgid "" "Next you will add classifiers to your `pyproject.toml` file. The value " "for each classifier that you add to your `pyproject.toml` file must come " @@ -6384,11 +6471,11 @@ msgstr "" "[ここにあるPyPIで認められている分類子](https://PyPI.org/classifiers/) " "の一覧から選ぶ必要があります。スペルや書式に逸脱があると、PyPIに公開するときに問題が発生します。" -#: ../../tutorials/pyproject-toml.md:446 +#: ../../tutorials/pyproject-toml.md:453 msgid "What happens when you use incorrect classifiers?" msgstr "間違った分類子を使うとどうなりますか?" -#: ../../tutorials/pyproject-toml.md:449 +#: ../../tutorials/pyproject-toml.md:456 msgid "" "If you do not [use standard classifier " "values](https://PyPI.org/classifiers/), when you try to publish your " @@ -6399,52 +6486,49 @@ msgstr "" "PyPIでパッケージを公開しようとすると拒否されます。 最初のトライでPyPIに拒否されても心配しないでください! " "それは私たち全員に起こったことです。" -#: ../../tutorials/pyproject-toml.md:452 +#: ../../tutorials/pyproject-toml.md:459 msgid "Review that list and add items below to your `pyproject.toml` file:" msgstr "そのリストを見て、以下の項目を `pyproject.toml` ファイルに追加します:" -#: ../../tutorials/pyproject-toml.md:454 +#: ../../tutorials/pyproject-toml.md:461 msgid "development status" msgstr "開発状況" -#: ../../tutorials/pyproject-toml.md:455 +#: ../../tutorials/pyproject-toml.md:462 msgid "intended audiences" msgstr "対象読者" -#: ../../tutorials/pyproject-toml.md:456 +#: ../../tutorials/pyproject-toml.md:463 msgid "topic" msgstr "トピック" -#: ../../tutorials/pyproject-toml.md:457 -msgid "license and" -msgstr "ライセンスと" - -#: ../../tutorials/pyproject-toml.md:458 +#: ../../tutorials/pyproject-toml.md:464 msgid "programming language support" msgstr "プログラミング言語サポート" -#: ../../tutorials/pyproject-toml.md:460 +#: ../../tutorials/pyproject-toml.md:466 msgid "" "The classifier key should look something like the example below. A few " "notes:" msgstr "classifierのキーは、下の例のようになるはずです。 いくつか注意点があります:" -#: ../../tutorials/pyproject-toml.md:462 +#: ../../tutorials/pyproject-toml.md:468 +#, fuzzy msgid "" -"Your classifier values might be different depending upon the license you " -"have selected for your package, your intended audience, development " -"status of your package and the Python versions that you support" +"Your classifier values might be different depending upon your intended " +"audience, development status of your package and the Python versions that" +" you support" msgstr "" "分類器の値は、パッケージに選択したライセンスによって異なる場合があります、 あなたの意図する読者、パッケージの開発状況とサポートしている " "Python のバージョンです。" -#: ../../tutorials/pyproject-toml.md:463 +#: ../../tutorials/pyproject-toml.md:469 msgid "" "You can add as many classifiers as you wish as long as you use the " "[designated PyPI classifier values](https://PyPI.org/classifiers/)." msgstr "[指定されたPyPIの分類子の値](https://PyPI.org/classifiers/) を使う限り、好きなだけ分類子を追加できます。" -#: ../../tutorials/pyproject-toml.md:503 +#: ../../tutorials/pyproject-toml.md:508 msgid "" "Note that while classifiers are not required in your `pyproject.toml` " "file, they will help users find your package. As such we strongly " @@ -6453,21 +6537,21 @@ msgstr "" "分類子は `pyproject.toml` " "ファイルでは必須ではありませんが、ユーザーがあなたのパッケージを見つけるのに役立つことに注意してください。そのため、追加することを強くお勧めします。" -#: ../../tutorials/pyproject-toml.md:505 +#: ../../tutorials/pyproject-toml.md:510 msgid "Step 6: Add the `[project.urls]` table" msgstr "ステップ 6: `[project.urls]` テーブルを追加する" -#: ../../tutorials/pyproject-toml.md:507 +#: ../../tutorials/pyproject-toml.md:512 msgid "Finally, add the project.urls table to your pyproject.toml file." msgstr "最後に、pyproject.tomlファイルにproject.urlsテーブルを追加します。" -#: ../../tutorials/pyproject-toml.md:509 +#: ../../tutorials/pyproject-toml.md:514 msgid "" "`project.urls` contains links that are relevant for your project. You " "might want to include:" msgstr "`project.urls` には、プロジェクトに関連するリンクが含まれています。以下を含めるとよいでしょう:" -#: ../../tutorials/pyproject-toml.md:511 +#: ../../tutorials/pyproject-toml.md:516 msgid "" "**Homepage:** A link to your published documentation for your project. If" " you are working through this tutorial, then you may not have this link " @@ -6476,17 +6560,18 @@ msgstr "" "**ホームページ:** プロジェクトの公開ドキュメントへのリンク。 " "このチュートリアルを進めているのであれば、このリンクはまだ持っていないかもしれません。 大丈夫、当分は飛ばしてもいいです。" -#: ../../tutorials/pyproject-toml.md:512 +#: ../../tutorials/pyproject-toml.md:517 +#, fuzzy msgid "" -"**Bug reports:** a link to your issues / discussions or wherever you want" -" users to report bugs." +"**Bug reports:** a link to your issues/discussions or wherever you want " +"users to report bugs." msgstr "**バグ報告:** 課題 / ディスカッションへのリンク、またはユーザーがバグを報告できる場所です。" -#: ../../tutorials/pyproject-toml.md:513 +#: ../../tutorials/pyproject-toml.md:518 msgid "**Source:** the GitHub / GitLab link for your project." msgstr "**ソース:** プロジェクトのGitHub / GitLabリンク。" -#: ../../tutorials/pyproject-toml.md:559 +#: ../../tutorials/pyproject-toml.md:563 msgid "" "There are many other urls that you can add here. Check out the [README " "file here for an overview](https://github.com/patrick91/links-demo)." @@ -6495,11 +6580,11 @@ msgstr "" "[概要についてはこちらのREADMEファイル](https://github.com/patrick91/links-demo) " "をチェックしてください。" -#: ../../tutorials/pyproject-toml.md:562 +#: ../../tutorials/pyproject-toml.md:566 msgid "Putting it all together - your completed pyproject.toml file" msgstr "すべてをまとめます - 完成したpyproject.tomlファイル" -#: ../../tutorials/pyproject-toml.md:564 +#: ../../tutorials/pyproject-toml.md:568 msgid "" "Below is an example of a complete `pyproject.toml` file that is commented" " with all of the sections we discussed above." @@ -6509,48 +6594,48 @@ msgstr "以下は、上で説明したすべてのセクションがコメント msgid "Appendix - Click for a fully commented pyproject.toml file" msgstr "付録 - 完全にコメントされたpyproject.tomlファイルを見るにはクリックしてください" -#: ../../tutorials/pyproject-toml.md:614 +#: ../../tutorials/pyproject-toml.md:617 msgid "" "Below is a fully commented pyproject.toml file if you want to use it for " "reference." msgstr "参考にしたいのであれば、以下は、完全にコメントされたpyproject.tomlファイルです。" -#: ../../tutorials/pyproject-toml.md:679 +#: ../../tutorials/pyproject-toml.md:683 msgid "Example `pyproject.toml` files" msgstr "例 `pyproject.toml` ファイル" -#: ../../tutorials/pyproject-toml.md:681 +#: ../../tutorials/pyproject-toml.md:685 msgid "" "Below are some examples of `pyproject.toml` files from various packages " "in the scientific and pyOpenSci ecosystem." msgstr "以下は、scientificとpyOpenSciエコシステムの様々なパッケージの `pyproject.toml` ファイルの例です。" -#: ../../tutorials/pyproject-toml.md:682 +#: ../../tutorials/pyproject-toml.md:686 msgid "" "[PyPA's fully documented example pyproject.toml " "file](https://github.com/pypa/sampleproject/blob/main/pyproject.toml)" msgstr "[PyPAの完全に文書化されたサンプルpyproject.tomlファイル](https://github.com/pypa/sampleproject/blob/main/pyproject.toml)" -#: ../../tutorials/pyproject-toml.md:683 +#: ../../tutorials/pyproject-toml.md:687 msgid "" "[taxpasta has a nicely organized pyproject.toml file and is a pyOpenSci " "approved " "package](https://github.com/taxprofiler/taxpasta/blob/f9f6eea2ae7dd08bb60a53dd49ad77e4cf143573/pyproject.toml)" msgstr "[taxpastaはきれいに整理されたpyproject.tomlファイルを持っており、pyOpenSci承認パッケージです](https://github.com/taxprofiler/taxpasta/blob/f9f6eea2ae7dd08bb60a53dd49ad77e4cf143573/pyproject.toml)" -#: ../../tutorials/pyproject-toml.md:689 +#: ../../tutorials/pyproject-toml.md:693 msgid "At this point you've created:" msgstr "この時点であなたは以下を作成しました:" -#: ../../tutorials/pyproject-toml.md:691 +#: ../../tutorials/pyproject-toml.md:695 msgid "A [README.md](add-readme) file for your package" msgstr "パッケージの [README.md](add-readme) ファイル" -#: ../../tutorials/pyproject-toml.md:692 +#: ../../tutorials/pyproject-toml.md:696 msgid "A [CODE_OF_CONDUCT.md](add-coc) file to support your user community" msgstr "ユーザーコミュニティをサポートする [CODE_OF_CONDUCT.md](add-coc) ファイル" -#: ../../tutorials/pyproject-toml.md:693 +#: ../../tutorials/pyproject-toml.md:697 msgid "" "And a [LICENSE](add-license-coc) file which provides legal boundaries " "around how people can and can't use your software" @@ -6558,17 +6643,17 @@ msgstr "" "[LICENSE](add-license-coc) " "ファイルは、人々があなたのソフトウェアをどのように使用できるか、また使用できないかに関する法的な境界線を提供します。" -#: ../../tutorials/pyproject-toml.md:695 +#: ../../tutorials/pyproject-toml.md:699 msgid "" "You also learned [how to publish your package to (test)PyPI](publish-" "pypi)." msgstr "また、 [パッケージを(test)PyPIに公開する方法](publish-pypi) も学びました。" -#: ../../tutorials/pyproject-toml.md:697 +#: ../../tutorials/pyproject-toml.md:701 msgid "Publish a new version of your package to PyPI" msgstr "新しいバージョンのパッケージをPyPIに公開する" -#: ../../tutorials/pyproject-toml.md:699 +#: ../../tutorials/pyproject-toml.md:703 msgid "" "You are now ready to publish a new version of your Python package to " "(test) PyPI. When you do this you will see that the landing page for your" @@ -6577,11 +6662,11 @@ msgstr "" "これで、Pythonパッケージの新しいバージョンを(test)PyPIに公開する準備ができました。 " "そうすると、パッケージのランディングページに、より多くの情報が掲載されていることがわかります。" -#: ../../tutorials/pyproject-toml.md:701 +#: ../../tutorials/pyproject-toml.md:705 msgid "Try to republish now." msgstr "今すぐ再公開を試みます。" -#: ../../tutorials/pyproject-toml.md:703 +#: ../../tutorials/pyproject-toml.md:707 msgid "" "First, update the version of your package in your pyproject toml file. " "Below version is updated from `0.1` to `0.1.1`." @@ -6589,28 +6674,28 @@ msgstr "" "まず、pyprojectのtomlファイルでパッケージのバージョンを更新します。以下のバージョンが `0.1` から `0.1.1` " "に更新されました。" -#: ../../tutorials/pyproject-toml.md:716 +#: ../../tutorials/pyproject-toml.md:720 msgid "Now use hatch to publish the new version of your package to test.PyPI.org." msgstr "次に hatch を使って、新しいバージョンのパッケージを test.PyPI.org に公開します。" -#: ../../tutorials/pyproject-toml.md:723 +#: ../../tutorials/pyproject-toml.md:727 msgid "Next (optional) step - publishing to conda-forge" msgstr "次のステップ(オプション) - conda-forgeに公開します。" -#: ../../tutorials/pyproject-toml.md:725 +#: ../../tutorials/pyproject-toml.md:729 msgid "" "You now have all of the skills that you need to publish your package to " "PyPI." msgstr "これであなたのパッケージをPyPIに公開するために必要なスキルはすべて揃いました。" -#: ../../tutorials/pyproject-toml.md:728 +#: ../../tutorials/pyproject-toml.md:732 msgid "" "If you also want to publish your package on conda-forge (which is a " "channel within the conda ecosystem), you will learn how to do that in the" " next lesson." msgstr "あなたのパッケージを(condaエコシステム内のチャンネルである)conda-forgeで公開したい場合 、 その方法は次のレッスンで学びます。" -#: ../../tutorials/pyproject-toml.md:732 +#: ../../tutorials/pyproject-toml.md:736 msgid "" "Really good resources from jeremiah " "https://daniel.feldroy.com/posts/2023-08-pypi-project-urls-cheatsheet " @@ -6619,7 +6704,7 @@ msgstr "" "jeremiah からの本当に良い情報源 https://daniel.feldroy.com/posts/2023-08-pypi-" "project-urls-cheatsheet が役に立ちます (リンク先のデモはなおさら)。" -#: ../../tutorials/pyproject-toml.md:369 +#: ../../tutorials/pyproject-toml.md:376 msgid "" "Some packaging tools will do this for you when you add a dependency using" " their cli interface. For example [`poetry add`](https://python-" @@ -6633,29 +6718,29 @@ msgstr "" "指定子で最新バージョンを追加し、 [`pdm add`](https://pdm-" "project.org/latest/reference/cli/#add) は `>=` 指定子で最新バージョンを追加します。" -#: ../../tutorials/setup-py-to-pyproject-toml.md:6 +#: ../../tutorials/setup-py-to-pyproject-toml.md:7 msgid "Using Hatch to Migrate setup.py to a pyproject.toml" msgstr "Hatchを使ってsetup.pyをpyproject.tomlに移行する" -#: ../../tutorials/setup-py-to-pyproject-toml.md:8 +#: ../../tutorials/setup-py-to-pyproject-toml.md:9 #, fuzzy msgid "" "Hatch can be useful for generating your project's `pyproject.toml` file " "if your project already has a `setup.py` file." msgstr "プロジェクトに既に `setup.py` がある場合、Hatchはプロジェクトの `pyproject.toml` を生成するのに便利です。" -#: ../../tutorials/setup-py-to-pyproject-toml.md:10 +#: ../../tutorials/setup-py-to-pyproject-toml.md:11 msgid "Note" msgstr "注釈" -#: ../../tutorials/setup-py-to-pyproject-toml.md:13 +#: ../../tutorials/setup-py-to-pyproject-toml.md:14 #, fuzzy msgid "" "This step is not necessary and is only helpful if your project already " "has a `setup.py` file defined." msgstr "このステップは必要なく、プロジェクトに既に `setup.py` ファイルが定義されている場合にのみ有用です。" -#: ../../tutorials/setup-py-to-pyproject-toml.md:14 +#: ../../tutorials/setup-py-to-pyproject-toml.md:15 #, fuzzy msgid "" "If your project does not already define a `setup.py` see [Make your " @@ -6664,7 +6749,7 @@ msgstr "" "プロジェクトで `setup.py` が定義されていない場合は、 [Python コードをインストール可能にする](installable-" "code.md) を参照してください。" -#: ../../tutorials/setup-py-to-pyproject-toml.md:22 +#: ../../tutorials/setup-py-to-pyproject-toml.md:23 msgid "" "The process of using Hatch to transition to using `pyproject.toml` for " "projects that already have a `setup.py` defined." @@ -6672,11 +6757,11 @@ msgstr "" "すでに `setup.py` が定義されているプロジェクトで `pyproject.toml` を使用するように移行するために Hatch " "を使用するプロセスです。" -#: ../../tutorials/setup-py-to-pyproject-toml.md:25 +#: ../../tutorials/setup-py-to-pyproject-toml.md:26 msgid "What is Hatch?" msgstr "Hatchとは何か?" -#: ../../tutorials/setup-py-to-pyproject-toml.md:27 +#: ../../tutorials/setup-py-to-pyproject-toml.md:28 msgid "" "Hatch is a Python package manager designed to streamline the process of " "creating, managing, and distributing Python packages. It provides a " @@ -6688,40 +6773,40 @@ msgstr "" "新しいプロジェクトの作成、依存関係の管理、ディストリビューションのビルド、PyPI " "のようなリポジトリへのパッケージの公開といったタスクのための便利な CLI (Command-Line Interface) を提供します。" -#: ../../tutorials/setup-py-to-pyproject-toml.md:33 +#: ../../tutorials/setup-py-to-pyproject-toml.md:34 #, fuzzy msgid "See [Get to know Hatch](get-to-know-hatch) for more information." msgstr "詳しくは [Hatch](get-to-know-hatch.md) を知るをご覧ください。" -#: ../../tutorials/setup-py-to-pyproject-toml.md:36 +#: ../../tutorials/setup-py-to-pyproject-toml.md:37 msgid "Prerequisites" msgstr "前提条件" -#: ../../tutorials/setup-py-to-pyproject-toml.md:38 +#: ../../tutorials/setup-py-to-pyproject-toml.md:39 msgid "" "Before we begin, ensure that you have Hatch installed on your system. You" " can install it via pip:" msgstr "始める前に、システムにHatchがインストールされていることを確認してください。pipでインストールできます:" -#: ../../tutorials/setup-py-to-pyproject-toml.md:44 +#: ../../tutorials/setup-py-to-pyproject-toml.md:45 msgid "Sample Directory Tree" msgstr "サンプルディレクトリツリー" -#: ../../tutorials/setup-py-to-pyproject-toml.md:46 +#: ../../tutorials/setup-py-to-pyproject-toml.md:47 msgid "" "Let's take a look at a sample directory tree structure before and after " "using `hatch init`:" msgstr "それでは、 `hatch init` を使う前と後のディレクトリツリー構造のサンプルを見てみましょう: " -#: ../../tutorials/setup-py-to-pyproject-toml.md:48 +#: ../../tutorials/setup-py-to-pyproject-toml.md:49 msgid "Before `hatch init`" msgstr "`hatch init` 前" -#: ../../tutorials/setup-py-to-pyproject-toml.md:64 +#: ../../tutorials/setup-py-to-pyproject-toml.md:65 msgid "After `hatch init`" msgstr "`hatch init` 後" -#: ../../tutorials/setup-py-to-pyproject-toml.md:82 +#: ../../tutorials/setup-py-to-pyproject-toml.md:83 msgid "" "As you can see, the main change after running `hatch init` is the " "addition of the `pyproject.toml` file in the project directory." @@ -6729,30 +6814,30 @@ msgstr "" "ご覧のように、 `hatch init` を実行した後の主な変化は、プロジェクトディレクトリに `pyproject.toml` " "ファイルが追加されたことです。" -#: ../../tutorials/setup-py-to-pyproject-toml.md:84 +#: ../../tutorials/setup-py-to-pyproject-toml.md:85 msgid "Step-by-Step Guide" msgstr "ステップバイステップガイド" -#: ../../tutorials/setup-py-to-pyproject-toml.md:86 +#: ../../tutorials/setup-py-to-pyproject-toml.md:87 msgid "" "Now, let's walk through the steps to use Hatch to create a " "`pyproject.toml` file for your project." msgstr "では、Hatchを使ってプロジェクトの `pyproject.toml` ファイルを作成する手順を説明しましょう。" -#: ../../tutorials/setup-py-to-pyproject-toml.md:88 +#: ../../tutorials/setup-py-to-pyproject-toml.md:89 msgid "" "**Navigate to Your Project Directory**: Open your terminal or command " "prompt and navigate to the directory where your Python project is " "located." msgstr "**プロジェクトディレクトリに移動する**: ターミナルかコマンドプロンプトを開き、Pythonプロジェクトがあるディレクトリに移動します。" -#: ../../tutorials/setup-py-to-pyproject-toml.md:90 +#: ../../tutorials/setup-py-to-pyproject-toml.md:91 msgid "" "**Initialize Hatch**: Run the following command to initialize Hatch in " "your project directory:" msgstr "**Hatchの初期化**: 以下のコマンドを実行し、プロジェクトディレクトリのHatchを初期化します:" -#: ../../tutorials/setup-py-to-pyproject-toml.md:96 +#: ../../tutorials/setup-py-to-pyproject-toml.md:97 #, fuzzy msgid "" "**Review and Customize**: After running the previous command, Hatch will " @@ -6769,7 +6854,7 @@ msgstr "" "`pyproject.toml` の詳細については [pyproject.toml](pyproject-toml.md) " "チュートリアルを参照してください)。" -#: ../../tutorials/setup-py-to-pyproject-toml.md:98 +#: ../../tutorials/setup-py-to-pyproject-toml.md:99 #, fuzzy msgid "" "**Verify**: Verify that the `pyproject.toml` file accurately reflects " @@ -6779,7 +6864,7 @@ msgstr "" "**検証**: `pyproject.toml` ファイルがプロジェクト構成と依存関係を正確に反映していることを確認します。 " "必要であればファイルを手動で編集することもできますが、慎重を期して構文が正しいことを確認してください。" -#: ../../tutorials/setup-py-to-pyproject-toml.md:100 +#: ../../tutorials/setup-py-to-pyproject-toml.md:101 msgid "" "**Delete setup.py**: Since we're migrating to using `pyproject.toml` " "exclusively, the `setup.py` file becomes unnecessary. You can safely " @@ -6788,7 +6873,7 @@ msgstr "" "**setup.py を削除する**: `pyproject.toml` のみを使用するように移行するので、 `setup.py` " "ファイルは不要になります。 プロジェクトディレクトリから安全に削除できます。" -#: ../../tutorials/setup-py-to-pyproject-toml.md:102 +#: ../../tutorials/setup-py-to-pyproject-toml.md:103 msgid "" "**Test Build**: Before proceeding further, it's essential to ensure that " "your project builds successfully using only the `pyproject.toml` file. " @@ -6797,7 +6882,7 @@ msgstr "" "**テストビルド**: 先に進む前に、 `pyproject.toml` " "ファイルだけを使ってプロジェクトが正常にビルドされることを確認する必要がある。 以下のコマンドを実行してプロジェクトをビルドします:" -#: ../../tutorials/setup-py-to-pyproject-toml.md:108 +#: ../../tutorials/setup-py-to-pyproject-toml.md:109 msgid "" "This command will build your project based on the specifications in the " "`pyproject.toml` file. Make sure to check for any errors or warnings " @@ -6806,7 +6891,7 @@ msgstr "" "このコマンドは `pyproject.toml` ファイルの仕様に基づいてプロジェクトをビルドします。 " "ビルドの過程でエラーや警告がないか、必ず確認してください。" -#: ../../tutorials/setup-py-to-pyproject-toml.md:110 +#: ../../tutorials/setup-py-to-pyproject-toml.md:111 msgid "" "**Test Existing Functionality**: After successfully building your project" " with `pyproject.toml`, it's crucial to ensure that your project's " @@ -6816,6 +6901,623 @@ msgstr "" "**既存機能のテスト**: `pyproject.toml` でプロジェクトのビルドに成功したら、 " "プロジェクトの既存の機能が損なわれないようにすることが重要です。既存のテストを実行し、すべてが期待通りに動作することを確認します。" +#: ../../tutorials/trusted-publishing.md:6 +msgid "" +"Setup Trusted Publishing for secure and automated publishing via GitHub " +"Actions" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:8 +#, fuzzy +msgid "In the previous Python packaging lessons, you learned:" +msgstr "これまでのPythonパッケージングレッスンで、あなたは次のことを学びました:" + +#: ../../tutorials/trusted-publishing.md:10 +#, fuzzy +msgid "[How to create a Python package](create-python-package)" +msgstr "[コードをインストール可能にする](create-python-package)" + +#: ../../tutorials/trusted-publishing.md:11 +#, fuzzy +msgid "" +"How to publish the code to [PyPI](publish-pypi) and [Conda](publish-" +"conda-forge)" +msgstr "[パッケージをconda-forgeに公開する方法](publish-conda-forge.md)" + +#: ../../tutorials/trusted-publishing.md:16 +#, fuzzy +msgid "In this lesson, you will learn how to:" +msgstr "このレッスンで学ぶこと:" + +#: ../../tutorials/trusted-publishing.md:18 +msgid "Automate building and publishing the package on GitHub Actions" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:19 +msgid "Configure PyPI Trusted Publishing for the project" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:20 +msgid "" +"Secure your workflow using GitHub action hashes and versions in your " +"workflow file" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:22 +msgid "" +"This tutorial assumes that your project is hosted on GitHub and that you " +"want to publish a package from your project to PyPI." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:26 +msgid "Configure a release job on GitHub Actions" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:28 +msgid "" +"GitHub Actions[^gha] is an infrastructure provided by GitHub to automate " +"software workflows, straight from the GitHub repository of the project. " +"You can configure automated testing for every pull request, automate " +"publishing of documentation, automate creation of web pages for the " +"project, and even automate the release process. For this lesson, we will " +"focus on using actions to release and publish your Python package " +"securely to PyPI." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:35 +msgid "Why Trusted Publishing Matters" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:37 +msgid "" +"If you are wondering why trusted publishing is so important, [check out " +"this blog post:](https://www.pyopensci.org/blog/python-packaging-" +"security-publish-pypi.html) that dives deeper into what can happen when " +"you don't lock down your publishing workflows." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:40 +#, fuzzy +msgid "Step 0: Create a release workflow" +msgstr "ステップ0: READMEファイルの作成" + +#: ../../tutorials/trusted-publishing.md:42 +msgid "" +"To get started, create a file named `release.yaml` under the " +"`.github/workflows` directory of your project. If the `.github/workflows`" +" directory does not exist, you can create it. It is GitHub's convention " +"that all GitHub Actions are configured via YAML files in the " +"`.github/workflows` directory." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:47 +msgid "Naming your workflow file" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:50 +msgid "" +"You can name the workflow file whatever you wish. We suggest using " +"something simple and expressive like `release.yaml` so you, your future " +"self, and contributors who work on your project know exactly what the " +"workflow does." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:55 +msgid "Step 1: Name the workflow" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:57 +#, fuzzy +msgid "At the top of the `release.yaml` file, type the following:" +msgstr "`README.md` ファイルの先頭に、パッケージ名を追加します。" + +#: ../../tutorials/trusted-publishing.md:63 +msgid "" +"This provides a name to the workflow that you can use to quickly find all" +" runs of this GitHub Action on the \"Actions\" tab in the GitHub " +"repository." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:67 +msgid "" +"Graphic showing an example of a configured workflow for the release. On " +"the top, in the red box labeled \"1\" you see the \"Actions\" tab of the " +"GitHub repository. On the left, in the red box labeled \"2\" you can see " +"the name of the workflow, \"Release,\" as configured in this step. " +"Finally, in the center, in the red box labeled \"3\" you can see several " +"runs of the workflow, for the \"1.0\" and \"1.0.1\" releases of the " +"package." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:69 +msgid "" +"This image shows an example of a configured workflow for the release. On " +"the top, in the red box labeled \"1\" you see the \"Actions\" tab of the " +"GitHub repository. On the left, in the red box labeled \"2\" you can see " +"the name of the workflow, as configured in this step. Finally, in the " +"center, in the red box labeled \"3\" you can see several runs of the " +"workflow, for the \"1.0\" and \"1.0.1\" releases of the package." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:72 +msgid "Step 2: Add triggers to the workflow" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:74 +msgid "" +"Every GitHub Actions workflow runs when [certain " +"conditions](https://docs.github.com/en/actions/reference/events-that-" +"trigger-workflows) are met. In this case, we assume that a release " +"workflow should only run when the repository owner creates a new " +"[release](https://docs.github.com/en/repositories/releasing-projects-on-" +"github/managing-releases-in-a-repository) for the package. Add the " +"following to the `release.yaml` file to ensure it runs when you create " +"and publish a release:" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:86 +msgid "Step 3: Configure the jobs in the workflow" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:88 +msgid "" +"A GitHub Actions *workflow* file can contain multiple *jobs* that run " +"independently; each job can also have multiple *steps.* When triggered, " +"the GitHub Action runs all the jobs in a workflow (excluding any steps " +"that have conditional requirements)." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:92 +msgid "" +"Jobs and steps can also have [conditional " +"logic](https://docs.github.com/en/actions/reference/workflow-syntax-for-" +"github-actions#jobsjob_idif) that allows them only to run if specific " +"criteria exist. For instance, you may want only to have a job step to " +"publish to PyPI if a release was made for the package. But you might want" +" to test building the package every time you merge a new pull request." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:95 +msgid "" +"For a release job, you need to clone or check out the repository. You can" +" use the `actions/checkout` action to check out the code. You then " +"install and use `hatch` to build your package." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:98 +msgid "" +"You also need to make sure to set up Hatch on the machine GitHub is using" +" to run the workflow." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:101 +msgid "A minimal job definition would look like this:" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:121 +msgid "" +"Notice that above, you provide a version for each action step. " +"`action/checkout@v5` tells GitHub to use version 5 of the checkout " +"action. The checkout action checks out the code from your repository. In " +"this case, the code will be used to build your package." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:123 +msgid "" +"Next, you will learn about a better way to secure (or \"harden\") your " +"workflow" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:125 +msgid "Step 4: Secure the GitHub Actions workflow" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:127 +msgid "" +"There are several improvements you can make to the GitHub Actions " +"workflow you just configured to improve security and readability." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:130 +msgid "" +"First, we can give names to relevant steps in the process to increase the" +" readability of the logs generated during the workflow run. This can be " +"achieved using `name: ` lines." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:134 +msgid "" +"More importantly, each time you use an existing action (via `uses`) you " +"should pin that action to a commit hash. Pinning your action ensures that" +" if a malicious user takes over the action, they won't be able to impact " +"your repository (an example of a supply chain attack due to GitHub " +"Actions is the recent `tj-actions/changed-files` attack[^changed-files-" +"supply-chain-attack])." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:141 +msgid "" +"Enabling Dependabot[^dependabot] in the repository will ensure that your " +"actions stay up to date. The dependabot tool will open pull requests that" +" update your action versions at whatever frequency you want." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:146 +msgid "Thus, the workflow that you should use should be similar to:" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:154 +msgid "" +"Now, you can commit the `.github/workflows/release.yaml` file to the " +"repository and push to GitHub." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:156 +msgid "" +"At this point, if you create a new release for your project on GitHub, " +"the configured workflow should run and build a wheel for you. " +"Unfortunately, the wheel is only available on the runner and will be " +"deleted at the end of the workflow run." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:160 +msgid "Step 5: Upload the built artifact to GitHub Artifacts" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:162 +msgid "" +"You need to add one more step to the job definition to be able to access " +"the wheel. You will upload it to the artifacts temporary area[^github-" +"artifacts]. Add the following to the `release.yaml` file:" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:172 +msgid "Upload artifacts parameters" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:175 +msgid "" +"Above, you have configured the artifact to be deleted after 1 day. The " +"artifacts storage on GitHub actions is temporary; users should not " +"download your package from the GitHub artifacts." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:178 +msgid "" +"You have also configured the release job to error if the `dist/` " +"directory does not exist. This means that `hatch build` (from the " +"previous step) failed to build our package, so there is nothing to " +"release." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:183 +msgid "" +"At this point, if you push the `release.yaml` to GitHub and create a new " +"release, the GitHub Actions job will:" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:186 +msgid "run," +msgstr "" + +#: ../../tutorials/trusted-publishing.md:187 +msgid "clone your repository," +msgstr "" + +#: ../../tutorials/trusted-publishing.md:188 +#, fuzzy +msgid "install and set up Hatch," +msgstr "Hatchのインストール" + +#: ../../tutorials/trusted-publishing.md:189 +#, fuzzy +msgid "build your package and" +msgstr "パッケージをビルドするには `hatch build` を実行します:" + +#: ../../tutorials/trusted-publishing.md:190 +msgid "upload your package as an archive to the artifacts storage." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:193 +msgid "" +"Graphic showing an example of a release workflow that has just finished " +"running. Each step in the log is matched to one step in the workflow " +"definition." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:195 +msgid "" +"This figure shows an example of a release workflow that has just finished" +" running. Each step in the log is matched to one step in the workflow " +"definition." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:198 +msgid "" +"At the bottom of the workflow run page on GitHub, you should see a " +"section for the artifacts produced during runtime and uploaded to this " +"storage area:" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:202 +msgid "" +"Graphic showing an example of an artifact produced by the release " +"workflow." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:204 +msgid "" +"This figure shows the artifact produced by the above release workflow. It" +" is now marked as expired since the workflow ran more than a day ago." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:207 +msgid "" +"You can download the artifact (before it expires), unzip it, and install " +"the wheel contained within. However, this should only be done if you want" +" to test the built wheel. Next, you will configure uploading to PyPI " +"using trusted publishing." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:212 +msgid "Configure automatic publishing to PyPI" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:214 +msgid "" +"The job you configured above using GitHub Actions builds your package " +"using your code. You still need to upload it to PyPI. You could upload " +"the package from the same job, but it is better to create a separate one " +"to maintain a separation of tasks. This is why, in the previous section, " +"we uploaded the artifact to the temporary storage." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:220 +msgid "" +"In the new job, you will download the package from there and upload it to" +" PyPI. Since the `build` job does nothing else, there is no possibility " +"that the package could get compromised before the release." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:224 +msgid "Step 1: Add the upload job" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:226 +msgid "" +"In the `release.yaml` file, add the following new job, after the job " +"defined in the previous section:" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:235 +msgid "Make sure to change the URL" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:237 +msgid "Remember to change the `url:` value to the URL for your package on PyPI!" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:240 +msgid "This job has two steps:" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:242 +msgid "" +"It uses `download-artifact` to download the artifacts built in the " +"previous job" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:244 +msgid "It uses `gh-action-pypi-publish` to publish the package to PyPI." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:246 +msgid "" +"You are almost there!! Now, you just need to enable trusted publishing " +"for your project on PyPI. And then, your work is done!" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:249 +msgid "Step 2: Enable trusted publishing on PyPI" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:253 +msgid "" +"Diagram showing PyPI's trusted publisher workflow: Step 1 builds " +"distribution files via GitHub, Step 2 uses a trusted environment (PyPI), " +"Step 3 securely uploads to PyPI. Shows chain of trust with lock icon " +"connecting GitHub Action to Python Package Index." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:258 +msgid "" +"Before trusted publishing was created, in order to upload to PyPI from " +"GitHub actions you would have needed to add the username and password as " +"arguments to the `gh-action-pypi-publish` step. While documentation " +"recommends using the GitHub's `secrets` environment for the " +"password/token, in several cases, users were pasting the password " +"directly into the workflow file. Furthermore, accidental leakage of the " +"password or token could allow attackers to publish new packages using " +"your account, until you discover the compromise and revoke the leaked " +"credentials." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:266 +msgid "" +"To prevent these incidents and improve supply chain security, developers " +"created [Trusted Publishing](https://docs.pypi.org/trusted-publishers/). " +"Trusted publishing allows you to register a publishing workflow on PyPI " +"and then map that workflow to an automation workflow (e.g., GitHub " +"Actions) that is allowed to publish the package." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:271 +msgid "" +"You do not need to enter a token or password value in a trusted publisher" +" workflow. It's a secure connection between your" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:274 +msgid "Trusted Publishing outside of GitHub Actions" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:277 +msgid "" +"Trusted Publishing supports other automation platforms, beyond GitHub " +"Actions. It is also possible to configure a trusted publisher for " +"multiple workflows or multiple publishers for the same package. These are" +" advanced uses, out of scope for this lesson." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:283 +msgid "" +"For this lesson, we will focus on configuring a trusted publisher for a " +"project that already exists on PyPI. If you completed the [lesson about " +"PyPI publishing](create-python-package), you should have this project " +"already created." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:285 +msgid "" +"This setup step needs to be performed only once for the project. Future " +"releases will only run the GitHub Actions workflow we are configuring in " +"`release.yaml`." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:288 +msgid "" +"On the [\"Your projects\" page on " +"PyPI](https://pypi.org/manage/projects/), click \"Manage\" on any project" +" you want to configure." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:292 +msgid "" +"Graphic showing a screenshot of the \"Your projects\" page on PyPI. The " +"\"Manage\" button for one of the projects is highlighted." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:294 +msgid "" +"This image shows several projects. The \"Manage\" button is highlighted " +"for one of the projects, the one we want to configure trusted publishing " +"for." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:297 +msgid "Then click \"Publishing\" in the project's sidebar." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:300 +msgid "" +"Graphic showing the management page for one project. The \"Publishing\" " +"link in the sidebar is highlighted." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:302 +msgid "" +"Once clicking on the \"Manage\" button we got to the project's page. In " +"the sidebar, we have the \"publishing\" option, as highlighted here." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:306 +msgid "" +"This will take you to the publisher configuration page for the project. " +"Trusted publishers can be configured via the forms here. Fill in the " +"GitHub form with the following information:" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:310 +msgid "" +"Owner: the GitHub organization name for the organization that owns the " +"project. If this is your personal project, then use your GitHub username " +"here." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:312 +msgid "Repository name: the name of the repository that contains the project." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:313 +msgid "" +"Workflow name: Should be `release.yaml` if you followed this guide, it is" +" the workflow we just configured." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:315 +msgid "" +"Environment name: Should be `pypi`, as that is what we configured in " +"`release.yaml`." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:318 +msgid "" +"Once you fill in this form and click \"Add\" the publisher is configured " +"and can be used to publish new releases of your package." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:321 +msgid "Fully hardened GitHub Actions release workflow" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:323 +msgid "" +"For better security, it is also recommended to control the permissions of" +" the GitHub token used within each job of the workflow. The permissions " +"should be scoped at job level and be as minimal as possible. A workflow " +"that configures trusted publishing and also does this is the following:" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:333 +msgid "" +"You can copy the above into your `release.yaml` file. You only need to " +"update the `url:` field and configure trusted publishing on PyPI." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:337 +msgid "" +"The workflow above should be up to date with the current versions of " +"GitHub actions. However, it's good to turn on Dependabot to update the " +"action versions in the future." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:340 +msgid "You have enabled trusted publishing for your project" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:342 +msgid "" +"Congratulations!! You have now configured your project to do secure " +"releases when a new version is being tagged on GitHub. The workflow we " +"have configured builds the package from the exact version of code that we" +" are tagging. This provides a guarantee for your users that the package " +"that you have released does precisely what the code states it does. There" +" is little to no potential for supply chain related vulnerabilities " +"arising from your package! If you have a package that is ready for real-" +"world use on the real PyPI, then you can follow the same steps to publish" +" it securely." +msgstr "" + +#: ../../tutorials/trusted-publishing.md:346 +msgid "" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:347 +msgid "" +"" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:348 +msgid "" +"" +msgstr "" + +#: ../../tutorials/trusted-publishing.md:349 +msgid "" +msgstr "" + #~ msgid "Make your Python code installable" #~ msgstr "Pythonコードをインストール可能にする" @@ -7112,3 +7814,6 @@ msgstr "" #~ msgid "Renaming your project before publishing" #~ msgstr "公開前にプロジェクト名を変更する" + +#~ msgid "license and" +#~ msgstr "ライセンスと"