Skip to content

Suggest twine-check #10776

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Feb 22, 2022
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions warehouse/templates/pages/help.html
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@
{% macro file_size_limit() %}{% trans %}How do I get a file size limit exemption or increase for my project?{% endtrans %}{% endmacro %}
{% macro project_size_limit() %}{% trans %}How do I get a total project size limit exemption or increase for my project?{% endtrans %}{% endmacro %}
{% macro vulnerability_data() %}{% trans %}Where does PyPI get its data on project vulnerabilities from, and how can I correct it?{% endtrans %}{% endmacro %}

{% macro description_render_failure() %}{% trans %}Why am I getting "the description failed to render" error?{% endtrans %}{% endmacro %}

{% macro file_name_reuse() %}{% trans %}Why am I getting a "Filename or contents already exists" or "Filename has been previously used" error?{% endtrans %}{% endmacro %}
{% macro project_name() %}{% trans %}Why isn't my desired project name available?{% endtrans %}{% endmacro %}
Expand Down Expand Up @@ -165,6 +165,7 @@ <h2><a href="#administration">{% trans %}Administration of projects on PyPI{% en
<section class="faq-group faq-group--list">
<h2><a href="#troubleshooting">{% trans %}Troubleshooting{% endtrans %}</a></h2>
<ul>
<li><a href="#description-render-failure">{{ description_render_failure() }}</a></li>
<li><a href="#uploading">{{ uploading() }}</a></li>
<li><a href="#login-problem">{{ login_problem() }}</a></li>
<li><a href="#account-recovery">{{ account_recovery() }}</a></li>
Expand Down Expand Up @@ -568,7 +569,7 @@ <h3 id="request-ownership">{{ request_ownership() }}</h3>
<h3 id="description-content-type">{{ description_content_type() }}</h3>
<p>{% trans href='http://docutils.sourceforge.net/rst.html', title=gettext('External link') %}By default, an upload's description will render with <a href="{{ href }}" title="{{ title }}" target="_blank" rel="noopener">reStructuredText</a>. If the description is in an alternate format like Markdown, a package may set the <code>long_description_content_type</code> in <code>setup.py</code> to the alternate format.{% endtrans %}</p>
<p>{% trans href='https://packaging.python.org/tutorials/distributing-packages/#description', title=gettext('External link') %}Refer to the <a href="{{ href }}" title="{{ title }}" target="_blank" rel="noopener">Python Packaging User Guide</a> for details on the available formats.{% endtrans %}</p>
<p>{% trans href='https://pypi.org/project/readme_renderer/' %}PyPI will reject uploads if the description fails to render. To check a description locally for validity, you may use <a href="{{ href }}">readme_renderer</a>, which is the same description renderer used by PyPI.{% endtrans %}</p>
<p>For how to check a description for validity, see also: <a href="#description-render-failure">{{ description_render_failure() }}</a></p>

<h3 id="file-size-limit">{{ file_size_limit() }}</h3>
<p>
Expand Down Expand Up @@ -625,6 +626,13 @@ <h3 id="vulnerability-data">{{ vulnerability_data() }}</h3>
<section class="faq-group" id="troubleshooting">
<h2>{% trans %}Troubleshooting{% endtrans %}</h2>

<h3 id="description-render-failure">{{ description_render_failure() }}</h3>
<p>
{% trans trimmed readme_renderer_href='https://pypi.org/project/readme_renderer/', twine_check_href='https://twine.readthedocs.io/en/latest/#twine-check', title=gettext('External link') %}
PyPI will reject uploads if the package description fails to render. You may <a href="{{ twine_check_href }}" title="{{ title }}">use twine's check command</a> or <a href="{{ readme_renderer_href }}">readme_renderer</a>, the same description renderer used by PyPI, to locally check a description for validity.
{% endtrans %}
</p>

<h3 id="login-problem">{{ login_problem() }}</h3>
<p>{% trans %}If you've forgotten your PyPI password but you remember your email address or username, follow these steps to reset your password:{% endtrans %}</p>
<ol>
Expand Down