Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Compatibilité Python
CodeArtifact prend en charge l'API PyPI Simple Repository /simple/<project>/ sur, utilisée pip par, twineuv, et d'autres clients Python. Les clients choisissent entre les réponses HTML et JSON à l'aide de l'en-tête de Accept demande.
Support de l'API Simple Repository
CodeArtifact implémente la version 1.1 de l'API PyPI Simple Repository telle que définie par PEP 503, PEP 691
Les types de contenu Accept d'en-tête suivants sont pris en charge sur le /simple/<project>/ point de terminaison :
application/vnd.pypi.simple.v1+json: réponse JSON (PEP 691, PEP 700).application/vnd.pypi.simple.v1+html: réponse HTML (PEP 503).application/vnd.pypi.simple.latest+json: correspond à la dernière version JSON prise en charge.application/vnd.pypi.simple.latest+html: renvoie à la dernière version HTML prise en charge.text/html*/*, ou aucunAccepten-tête : réponse HTML (par défaut pour la rétrocompatibilité).
Si un client spécifie un Accept en-tête qui n'inclut aucun des types de contenu pris en charge, CodeArtifact renvoie406 Not Acceptable.
Les réponses JSON incluent les champs PEP 700 versionssize, upload-time ainsi que les champs PEP 691. Les réponses HTML ont le même temps de chargement par artefact que celui d'un data-upload-time attribut sur chaque lien d'artefact.
Les upload-time champs size et peuvent être absents pour les versions de package mises en cache avant l'activation de la capture des métadonnées par ressource. Lorsqu'un client demande un tel package via l'API JSON Simple Repository, il CodeArtifact récupère les métadonnées du registre en amont et remplit les champs manquants. Aucune action du client n'est requise, et les demandes ultérieures pour la même version de package renvoient les métadonnées complètes.
pip23.0 et versions ultérieures et uv envoyez l'Accepten-tête JSON par défaut, de sorte que la plupart des clients reçoivent du JSON sans aucune configuration supplémentaire.
Exemple : demande de code JSON pour un projet
L'exemple suivant permet curl de récupérer la réponse de l'API JSON Simple Repository pour le requests projet. Obtenez l'URL du référentiel et aws codeartifact get-repository-endpoint le jeton d'autorisation auprès deaws codeartifact get-authorization-token.
curl --header "Accept: application/vnd.pypi.simple.v1+json" \ --header "Authorization: Bearer $CODEARTIFACT_AUTH_TOKEN" \ "https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/pypi/my_repo/simple/requests/"
Note
Le point de terminaison CodeArtifact PyPI accepte soit l'authentification HTTP Basic (awsnom d'utilisateur, mot de passe défini pour votre jeton d'autorisation), soit l'authentification par jeton Bearer. Les twine configurations pip et présentées ailleurs dans ce guide utilisent le protocole HTTP Basic.
L'exemple suivant montre une réponse JSON typique (tronquée pour des raisons de concision). Les upload-time champs versionssize, et proviennent du PEP 700 ; les yanked champs hashesrequires-python, et proviennent du PEP 691.
{ "meta": { "api-version": "1.1" }, "name": "requests", "versions": [ "2.31.0", "2.32.0", "2.32.3" ], "files": [ { "filename": "requests-2.32.3-py3-none-any.whl", "url": "2.32.3/requests-2.32.3-py3-none-any.whl", "hashes": { "sha256": "70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", "md5": "df6df19f49fc7ae54ee5ff2dd3d22d2c" }, "requires-python": ">=3.8", "size": 64928, "upload-time": "2024-05-29T15:37:49.123456Z", "yanked": false } ] }
API PyPI non prises en charge
CodeArtifact ne prend pas en charge les API PyPI suivantes :
L'API XML-RPC PyPI
. L'API JSON PyPI Warehouse, qui fournit des points de terminaison JSON
au niveau du projet et au niveau de la version sous. /pypi/Il s'agit d'une API distincte de la variante JSON PEP 691 de l'API Simple Repository, qui est prise en charge CodeArtifact .Le point de terminaison de la liste des projets
/simple/. Seul le point de terminaison détaillé du projet/simple/<project>/est pris en charge.
Pour plus d'informations sur les API PyPI, consultez la référence des API Legacy sur le site Web
support de la commande pip
Les sections suivantes résument les commandes pip prises en charge par les CodeArtifact référentiels, en plus des commandes spécifiques qui ne sont pas prises en charge.
Rubriques
Commandes prises en charge qui interagissent avec un référentiel
Cette section répertorie pip les commandes dans lesquelles le pip client envoie une ou plusieurs requêtes au registre avec lequel il a été configuré. Il a été vérifié que ces commandes fonctionnent correctement lorsqu'elles sont invoquées dans un CodeArtifact dépôt.
| Commande | Description |
|---|---|
|
Installez les packages. |
|
|
Téléchargez les packages. |
CodeArtifact ne met pas en œuvrepip search. Si vous avez configuré pip avec un CodeArtifact référentiel, l'exécution pip search recherchera et affichera les packages depuis PyPI
Commandes côté client prises en charge
Ces commandes ne nécessitent aucune interaction directe avec un dépôt, il n'est donc CodeArtifact pas nécessaire de faire quoi que ce soit pour les prendre en charge.
| Commande | Description |
|---|---|
|
Désinstallez les packages. |
|
|
Afficher les packages installés au format des exigences. |
|
|
Répertoriez les packages installés. |
|
|
sh |
Afficher les informations sur les packages installés. |
|
Vérifiez que les packages installés ont des dépendances compatibles. |
|
|
Gérez la configuration locale et globale. |
|
|
Construisez des roues selon vos besoins. |
|
|
Calculez les hachages des archives de packages. |
|
|
Aide à terminer les commandes. |
|
|
Afficher les informations utiles pour le débogage. |
|
|
help |
Afficher l'aide pour les commandes. |