stringtranslate.com

Индекс пакетов Python

Python Package Index , сокращенно PyPI ( / ˌ p p i ˈ / ), также известный как Cheese Shop (отсылка к скетчу «Летающий цирк Монти Пайтона» « Cheese Shop »), [2] : 8  [3] : 742  является официальным сторонним репозиторием программного обеспечения для Python . [4] Он аналогичен репозиторию CPAN для Perl [5] : 36  и репозиторию CRAN для R. PyPI управляется благотворительной организацией Python Software Foundation . Некоторые менеджеры пакетов , включая pip , используют PyPI в качестве источника по умолчанию для пакетов и их зависимостей. [6] [7]

По состоянию на 6 мая 2024 года доступно более 530 000 пакетов Python.

PyPI в основном размещает пакеты Python в форме исходных архивов, называемых «sdists» или «wheels» [8] , которые могут содержать двоичные модули из скомпилированного языка.

PyPI как индекс позволяет пользователям искать пакеты по ключевым словам или фильтрам по их метаданным , таким как лицензия на свободное программное обеспечение или совместимость с POSIX . [9] Одна запись в PyPI может хранить, помимо пакета и его метаданных, предыдущие выпуски пакета, предварительно скомпилированные диски (например, содержащие библиотеки DLL в Windows), а также различные формы для различных операционных систем и версий Python.

История

Модуль Python Distribution Utilities ( distutils ) был впервые добавлен в стандартную библиотеку Python в версии 1.6.1 в сентябре 2000 года и в версии 2.0 в октябре 2000 года, через девять лет после первого выпуска Python в феврале 1991 года, с целью упрощения процесса установки сторонних пакетов Python. [10] [11]

Однако distutils предоставлял только инструменты для упаковки кода Python и не более того. Он мог собирать и распространять метаданные , но не использовал их для других целей. [12] У Python по-прежнему не было централизованного каталога для пакетов в Интернете. PEP 241, предложение по стандартизации метаданных для индексов, было завершено в марте 2001 года. [13] Предложение о создании всеобъемлющего централизованного каталога, размещенного в домене python.org, было позднее завершено в ноябре 2002 года. [4] [12]

16 апреля 2018 года весь трафик PyPI начал обслуживаться более современной платформой веб-сайта: Warehouse. Старый веб-сайт был отключен в конце того же месяца. [14] [15] Все существующие пакеты были перенесены на новую платформу с сохранением их истории. [16]

В мае 2023 года Python Software Foundation сообщила, что Министерство юстиции США запросило в суде данные пользователей пяти участников PyPI. [17] [18] Представитель организации также пояснил, что они ожидают конфиденциальности от участников, но они также соблюдают закон и постановления суда, и по этой причине передали данные, запрошенные правительством. [17]

Примечания

Ссылки

  1. ^ "История упаковки". Python Packaging Authority — документация PyPA .
  2. ^ Лутц, Марк (2006). Программирование Python . Том 10 (3-е изд.). O'Reilly Media, Inc. ISBN 9780596009250.
  3. ^ Рамальо, Лучано (2015). Свободный Python . O'Reilly Media, Inc. ISBN 9781491946268.
  4. ^ ab Hylton, Jeremy (24 сентября 2003 г.). "Python Package Index Tutorial". Jeremy Hylton. Архивировано из оригинала 21 мая 2012 г. Получено 22 апреля 2012 г.
  5. ^ Барри, Пол (2010). Head First Python . O'Reilly Media, Inc. ISBN 978-1-4493-8267-4.
  6. ^ "Использование". Документация pip 1.1.post1 . Разработчики pip. Архивировано из оригинала 2 мая 2012 г.
  7. ^ "PyPI mirrors". Python Package Index . Python Software Foundation . Архивировано из оригинала 3 мая 2012 г. Получено 22 апреля 2012 г.
  8. ^ "PEP 427 -- The Wheel Binary Package Format 1.0". Python Software Foundation . 15 февраля 2013 г. Получено 28 октября 2017 г.
  9. ^ "Обзор: Python Package Index". Python Software Foundation . Получено 2 августа 2016 г.
  10. ^ "Python 1.6.1". Python Software Foundation . Получено 24 апреля 2012 г.
  11. ^ "Что нового в Python 2.0". Python Software Foundation . Получено 2 августа 2016 г.
  12. ^ ab "PEP 301 — Индекс пакетов и метаданные для Distutils". Python Software Foundation . 24 октября 2002 г. Получено 3 июня 2012 г.
  13. ^ "PEP 241 — Метаданные для пакетов программного обеспечения Python". Python Software Foundation . 19 октября 2001 г. Получено 18 августа 2016 г.
  14. ^ «Добро пожаловать в документацию Warehouse!».
  15. ^ "Python Insider: запущен новый PyPI, устаревший PyPI закрывается 30 апреля". Python Software Foundation . 16 апреля 2018 г. Получено 1 июня 2018 г.
  16. ^ "Новый индекс пакетов для Python". LWN.net . Получено 1 июня 2018 г.
  17. ^ ab Durbin, Ee (24 мая 2023 г.). «PyPI вызвали в суд — The Python Package Index». blog.pypi.org .
  18. ^ Рудра, Соурав (25 мая 2023 г.). «Python Software Foundation выполняет требования PyPI о предоставлении некоторых пользовательских данных». Это новости FOSS .