Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Add recommendation for "escaping" quoted inline script metadata

Ouverte
#1,835 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 2 jours

@jw9829 y travaille déjà.

Depuis le 27/9/2026.

  • #2139 par @jw9829 — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
35/100
Type d'issue
Documentation
Clarté
Clairement spécifiée
Activité
À l'abandon
Stack technique
python
Domaine
documentation

Piste de recherche

Ouvrez les recommandations relatives aux métadonnées des scripts inline sur packaging.python.org et examinez les indications concernant l’intégration de métadonnées dans des chaînes Python. Ajoutez un avertissement précisant que les chaînes multilignes entre guillemets sont détectées comme des métadonnées, incluez l’approche par concaténation de chaînes présentée dans l’issue et confirmez que la recommandation est claire et exacte.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Issue Description

As described in https://github.com/astral-sh/uv/issues/12303, inline script metadata added naively to a multi-line string will be incorrectly detected as being actual inline script metadata when parsed in accordance with PEP 723 (since the parsing rules are written to be compatible with a basic regex instead of requiring a full Python parser).

https://packaging.python.org/en/latest/specifications/inline-script-metadata/#recommendations should note the problem, and suggest ways to use Python's string quoting flexibility to avoid the misfire.

For example, replacing:

SOURCE_CODE = """
# /// script
# dependencies = ["pydantic", "email-validator"]
# ///
import pydantic

class Model(pydantic.BaseModel):
    email: pydantic.EmailStr

print(Model(email='[email protected]'))
"""

with the following compile time string concatenation:

SOURCE_CODE = ("""
"""
"# /// script"
"""
# dependencies = ["pydantic", "email-validator"]
# ///
import pydantic

class Model(pydantic.BaseModel):
    email: pydantic.EmailStr

print(Model(email='[email protected]'))
""")
Code of Conduct
  • I am aware that participants in this repository must follow the PSF Code of Conduct.
Langage dominant
Python
Étoiles
1.7k
Forks
1.7k
Merge moyen
8 j 3 h
PR mergées (30 j)
5

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de pypa/packaging.python.org

Toutes les issues de pypa/packaging.python.org

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.