View a markdown version of this page

Kompatibilitas Python - CodeArtifact

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kompatibilitas Python

CodeArtifact mendukung PyPI Simple Repository API di/simple/<project>/, digunakan oleh,, piptwine, uv dan klien Python lainnya. Klien memilih antara respons HTML dan JSON menggunakan header Accept permintaan.

Dukungan API Repositori Sederhana

CodeArtifact mengimplementasikan versi 1.1 dari PyPI Simple Repository API seperti yang didefinisikan oleh PEP 503, PEP 691, dan PEP 700.

Jenis konten Accept header berikut didukung pada /simple/<project>/ titik akhir:

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

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

  • application/vnd.pypi.simple.latest+json: menyelesaikan ke versi JSON terbaru yang didukung.

  • application/vnd.pypi.simple.latest+html: menyelesaikan ke versi HTML terbaru yang didukung.

  • text/html,*/*, atau tidak ada Accept header: Respons HTML (default untuk kompatibilitas mundur).

Jika klien menentukan Accept header yang tidak menyertakan salah satu jenis konten yang didukung, CodeArtifact kembali406 Not Acceptable.

Tanggapan JSON mencakup bidang PEP 700versions,size, dan upload-time bersama dengan bidang PEP 691. Respons HTML membawa waktu unggah per artefak yang sama dengan data-upload-time atribut pada setiap tautan artefak.

upload-timeBidang size and mungkin hilang untuk versi paket yang di-cache sebelum pengambilan metadata per aset diaktifkan. Ketika klien meminta paket seperti itu melalui JSON Simple Repository API, CodeArtifact mengambil kembali metadata dari registri upstream dan mengisi bidang yang hilang. Tidak diperlukan tindakan pelanggan, dan permintaan berikutnya untuk versi paket yang sama mengembalikan metadata lengkap.

pip23.0 dan yang lebih baru dan uv kirim Accept header JSON secara default, sehingga sebagian besar klien menerima JSON tanpa konfigurasi tambahan.

Contoh: meminta JSON untuk sebuah proyek

Contoh berikut digunakan curl untuk mengambil respons JSON Simple Repository API untuk proyek. requests Dapatkan URL repositori dariaws codeartifact get-repository-endpoint, dan token otorisasi dari. 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/"
catatan

Titik akhir CodeArtifact PyPI menerima otentikasi HTTP Basic (nama penggunaaws, kata sandi yang disetel ke token otorisasi Anda) atau otentikasi token Pembawa. twineKonfigurasi pip dan yang ditampilkan di tempat lain dalam panduan ini menggunakan HTTP Basic.

Contoh berikut menunjukkan respons JSON yang khas (terpotong untuk singkatnya). upload-timeBidang versionssize,, dan berasal dari PEP 700;hashes,requires-python, dan yanked bidang berasal dari 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 yang tidak didukung

CodeArtifact tidak mendukung API PyPI berikut:

  • API PyPIXML-RPC .

  • PyPI Warehouse JSON API, yang menyediakan titik akhir JSON tingkat proyek dan tingkat rilis di bawah. /pypi/ Ini adalah API terpisah dari varian PEP 691 JSON dari Simple Repository API, yang mendukung. CodeArtifact

  • Endpoint /simple/ daftar proyek. Hanya titik akhir detail proyek yang /simple/<project>/ didukung.

Untuk informasi selengkapnya tentang PyPI API, lihat referensi Legacy API di situs web Python Packaging Authority. GitHub

dukungan perintah pip

Bagian berikut merangkum perintah pip yang didukung, oleh CodeArtifact repositori, selain perintah tertentu yang tidak didukung.

Perintah yang didukung yang berinteraksi dengan repositori

Bagian ini berisi daftar pip tempat klien pip membuat satu atau beberapa permintaan ke registri yang telah dikonfigurasi. Perintah-perintah ini telah diverifikasi untuk berfungsi dengan benar ketika dipanggil terhadap CodeArtifact repositori.

Perintah Deskripsi

menginstal

Menginstal paket.

Unduh

Mengunduh paket.

CodeArtifact tidak mengimplementasikanpip search. Jika Anda telah mengonfigurasi pip dengan CodeArtifact repositori, menjalankan pip search akan mencari dan menampilkan paket dari PyPI.

Perintah sisi klien yang didukung

Perintah ini tidak memerlukan interaksi langsung dengan repositori, jadi CodeArtifact tidak perlu melakukan apa pun untuk mendukungnya.

Perintah Deskripsi

hapus instalan

Meng-uninstall paket.

membekukan

Output paket terinstal dalam format persyaratan.

daftar

Daftar paket terinstal.

menunjukkan

Menampilkan informasi tentang paket terinstal.

periksa

Memverifikasi apakah paket terinstal memiliki dependensi yang kompatibel.

konfigurasi

Mengelola konfigurasi lokal dan global.

roda

Membangun wheel dari kebutuhan Anda.

hash

Menghitung hash dari arsip paket.

penyelesaian

Membantu penyelesaian perintah.

debug

Menampilkan informasi yang berguna untuk debugging.

help

Menampilkan bantuan untuk perintah.