As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Compatibilidade com o Python
CodeArtifact suporta a API PyPI Simple Repository /simple/<project>/ em, usada pip por,, twineuv, e outros clientes Python. Os clientes escolhem entre respostas HTML e JSON usando o cabeçalho da Accept solicitação.
Suporte à API Simple Repository
CodeArtifact implementa a versão 1.1 da API PyPI Simple Repository, conforme definido pelo PEP 503, PEP 691 e PEP
Os seguintes tipos de conteúdo de Accept cabeçalho são compatíveis com o /simple/<project>/ endpoint:
application/vnd.pypi.simple.v1+json: resposta JSON (PEP 691, PEP 700).application/vnd.pypi.simple.v1+html: resposta HTML (PEP 503).application/vnd.pypi.simple.latest+json: resolve para a versão mais recente compatível do JSON.application/vnd.pypi.simple.latest+html: resolve para a versão HTML compatível mais recente.text/html,*/*, ou semAcceptcabeçalho: resposta HTML (padrão para compatibilidade com versões anteriores).
Se um cliente especificar um Accept cabeçalho que não inclua nenhum dos tipos de conteúdo compatíveis, ele CodeArtifact retornará406 Not Acceptable.
As respostas JSON incluem os campos PEP 700 e versionssize, upload-time junto com os campos PEP 691. As respostas em HTML têm o mesmo tempo de upload por artefato que um data-upload-time atributo em cada link de artefato.
Os upload-time campos size e podem estar ausentes nas versões do pacote armazenadas em cache antes da ativação da captura de metadados por ativo. Quando um cliente solicita esse pacote por meio da API JSON Simple Repository, CodeArtifact busca novamente os metadados do registro upstream e preenche os campos ausentes. Nenhuma ação do cliente é necessária, e as solicitações subsequentes da mesma versão do pacote retornam os metadados completos.
pip23.0 e versões posteriores e uv envie o Accept cabeçalho JSON por padrão, para que a maioria dos clientes receba JSON sem nenhuma configuração extra.
Exemplo: solicitar JSON para um projeto
O exemplo a seguir é usado curl para buscar a resposta da API JSON Simple Repository para o projeto. requests Obtenha a URL do repositório e aws codeartifact get-repository-endpoint o token de autorização 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/"
nota
O endpoint CodeArtifact PyPI aceita a autenticação HTTP Basic (awsnome de usuário, senha definida para seu token de autorização) ou a autenticação do token do portador. As twine configurações pip e mostradas em outras partes deste guia usam HTTP Basic.
O exemplo a seguir mostra uma resposta JSON típica (truncada por questões de brevidade). Os upload-time campos versionssize, e são do PEP 700; os yanked campos hashesrequires-python, e são do 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 } ] }
APIs PyPI não suportadas
CodeArtifact não é compatível com as seguintes APIs PyPI:
A API XML-RPC PyPi
. A API JSON do PyPI Warehouse, que fornece endpoints JSON
em nível de projeto e de versão abaixo. /pypi/Essa é uma API separada da variante JSON PEP 691 da API Simple Repository, que oferece suporte. CodeArtifactO endpoint
/simple/da lista de projetos. Somente o endpoint detalhado do projeto/simple/<project>/é suportado.
Para obter mais informações sobre as APIs PyPI, consulte a referência da API Legacy no site da
Suporte para comandos pip
As seções a seguir resumem os comandos pip que são suportados pelos CodeArtifact repositórios, além dos comandos específicos que não são suportados.
Comandos compatíveis que interagem com um repositório
Esta seção lista os comandos pip em que o cliente pip faz uma ou mais solicitações ao registro com o qual foi configurado. Verificou-se que esses comandos funcionam corretamente quando invocados em um CodeArtifact repositório.
CodeArtifact não implementapip search. Se você configurou pip com um CodeArtifact repositório, a execução pip search pesquisará e mostrará pacotes do PyPI
Comandos do lado do cliente compatíveis
Esses comandos não exigem nenhuma interação direta com um repositório, portanto, CodeArtifact não é necessário fazer nada para suportá-los.
| Command | Description |
|---|---|
|
Desinstalar pacotes. |
|
|
Emita pacotes instalados no formato de requisitos. |
|
|
Listar pacotes instalados. |
|
|
Mostre informações sobre os pacotes instalados. |
|
|
Verifique se os pacotes instalados têm dependências compatíveis. |
|
|
Gerencie a configuração local e global. |
|
|
Construa rodas conforme suas necessidades. |
|
|
Calcule hashes de arquivos de pacotes. |
|
|
Ajuda na conclusão do comando. |
|
|
Mostre informações úteis para depuração. |
|
|
help |
Mostre ajuda para comandos. |