View a markdown version of this page

Compatibilità con Python - CodeArtifact

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Compatibilità con Python

CodeArtifact supporta l'API PyPI Simple Repository su/simple/<project>/, utilizzata da pip twineuv, e altri client Python. I client scelgono tra le risposte HTML e JSON utilizzando l'intestazione della richiesta. Accept

Supporto dell'API Simple Repository

CodeArtifact implementa la versione 1.1 dell'API PyPI Simple Repository come definita da PEP 503, PEP 691e PEP 700.

I seguenti tipi di contenuto dell'Acceptintestazione sono supportati sull'endpoint: /simple/<project>/

  • application/vnd.pypi.simple.v1+json: risposta JSON (PEP 691, PEP 700).

  • application/vnd.pypi.simple.v1+html: risposta HTML (PEP 503).

  • application/vnd.pypi.simple.latest+json: passa all'ultima versione JSON supportata.

  • application/vnd.pypi.simple.latest+html: passa all'ultima versione HTML supportata.

  • text/html*/*, o nessuna Accept intestazione: risposta HTML (impostazione predefinita per la compatibilità con le versioni precedenti).

Se un client specifica un'Acceptintestazione che non include nessuno dei tipi di contenuto supportati, restituisce. CodeArtifact 406 Not Acceptable

Le risposte JSON includono i campi PEP 700 e versions size i campi PEP upload-time 691. Le risposte HTML hanno lo stesso tempo di caricamento per artefatto di un attributo su ciascun collegamento dell'artefatto. data-upload-time

I upload-time campi size and potrebbero mancare per le versioni dei pacchetti memorizzate nella cache prima dell'attivazione dell'acquisizione dei metadati per asset. Quando un client richiede un pacchetto di questo tipo tramite l'API JSON Simple Repository, CodeArtifact recupera nuovamente i metadati dal registro upstream e compila i campi mancanti. Non è richiesta alcuna azione da parte del cliente e le richieste successive per la stessa versione del pacchetto restituiscono i metadati completi.

pip23.0 e versioni successive e uv invia l'Acceptintestazione JSON per impostazione predefinita, in modo che la maggior parte dei client riceva JSON senza alcuna configurazione aggiuntiva.

Esempio: richiedere JSON per un progetto

L'esempio seguente utilizza curl per recuperare la risposta dell'API JSON Simple Repository per il progetto. requests Ottieni l'URL del repository da e il token aws codeartifact get-repository-endpoint di autorizzazione da. aws 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/"
Nota

L'endpoint CodeArtifact PyPI accetta l'autenticazione HTTP Basic (nome utenteaws, password impostati sul token di autorizzazione) o l'autenticazione tramite token Bearer. Le configurazioni pip e twine le configurazioni mostrate altrove in questa guida utilizzano HTTP Basic.

L'esempio seguente mostra una tipica risposta JSON (troncata per brevità). I upload-time campi versionssize, e provengono da PEP 700; i campi hashesrequires-python, e yanked provengono da 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 supportate

CodeArtifact non supporta le seguenti API PyPI:

Per ulteriori informazioni sulle API PyPI, consulta il riferimento alle API Legacy sul sito Web della Python Packaging Authority. GitHub

supporto per i comandi pip

Le sezioni seguenti riepilogano i comandi pip supportati dai CodeArtifact repository, oltre ai comandi specifici che non sono supportati.

Comandi supportati che interagiscono con un repository

Questa sezione elenca pip i comandi in cui il pip client effettua una o più richieste al registro con cui è stato configurato. È stato verificato che questi comandi funzionino correttamente quando vengono richiamati su un CodeArtifact repository.

Comando Description

installare

Installa pacchetti.

scaricare

Scarica i pacchetti.

CodeArtifact non implementapip search. Se hai configurato pip con un CodeArtifact repository, l'esecuzione pip search cercherà e mostrerà i pacchetti da PyPI.

Comandi lato client supportati

Questi comandi non richiedono alcuna interazione diretta con un repository, quindi CodeArtifact non è necessario fare nulla per supportarli.

Comando Description

disinstallare

Disinstalla i pacchetti.

congelare

Visualizza i pacchetti installati nel formato dei requisiti.

elenco

Elenca i pacchetti installati.

show

Mostra informazioni sui pacchetti installati.

controlla

Verifica che i pacchetti installati abbiano dipendenze compatibili.

configurazione

Gestisci la configurazione locale e globale.

ruota

Costruisci ruote in base alle tue esigenze.

cancelletto

Calcola gli hash degli archivi dei pacchetti.

completamento

Aiuta a completare i comandi.

debug

Mostra informazioni utili per il debug.

aiuto

Mostra l'aiuto per i comandi.