O Python Package Index, abreviado como PyPI e também conhecido como Cheese Shop (uma referência ao esboço "Cheese Shop" do Monty Python's Flying Circus),[1][2] é o repositório de software oficial de terceiros para Python.[3] É análogo ao CPAN, o repositório para Perl.[4] Alguns gerenciadores de pacotes, incluindo o pip, usam o PyPI como a fonte padrão para os pacotes e suas dependências.[5][6] Mais de 113.000 pacotes Python podem ser acessados por meio do PyPI.[7]

O PyPI, primariamente, hospeda pacotes Python na forma de arquivos chamados sdists (source distributions, em português, distribuições de fonte) ou "wheels" (rodas) pré-compiladas.[8]

O PyPI, como um índice, permite que os usuários pesquisem pacotes por palavras-chave ou por filtros em seus metadados, como licença de software livre ou compatibilidade com o POSIX.[9] Uma única entrada no PyPI é capaz de armazenar, além de apenas um pacote e seus metadados, versões anteriores do pacote, rodas pré-compiladas (por exemplo, contendo DLLs no Windows), bem como diferentes formas para diferentes sistemas operacionais e versões do Python.

História

editar

O módulo Python Python Distribution Utilities (distutils), em portuguÊs Utilitários de Distribuição do Python, foi adicionado pela primeira vez à biblioteca padrão do Python na versão 1.6.1, em setembro de 2000, e na versão 2.0, em outubro de 2000, nove anos após a primeira versão em fevereiro de 1991, com o comando objetivo de simplificar o processo de instalação de pacotes Python de terceiros.[10][11]

No entanto, o distutils forneceu apenas as ferramentas para empacotar o código Python, e nada mais. Ele foi capaz de coletar e distribuir metadados, mas não os utilizou para outros fins.[12] O Python ainda não possuía um catálogo centralizado de pacotes na Internet. A PEP 241, uma proposta para padronizar metadados para índices, foi finalizado em março de 2001.[13] Uma proposta para criar um catálogo centralizado abrangente, hospedado no domínio python.org, foi finalizada posteriormente em novembro de 2002.[3][12]

Em 16 de abril de 2018, todo o tráfego do PyPI começou a ser atendido por uma plataforma de site mais moderna: Warehouse. O site herdado foi desativado no final daquele mês.[14][15] Todos os pacotes existentes foram migrados para a nova plataforma e seus históricos preservados.[16]

Referências

editar
  1. Lutz 2006, p. 8.
  2. Ramalho 2015, p. 742.
  3. a b Hylton, Jeremy (24 de setembro de 2003). «Python Package Index Tutorial». Jeremy Hylton. Consultado em 22 de abril de 2012. Arquivado do original em 23 de abril de 2012 
  4. Barry 2010, p. 36.
  5. «Usage». pip 1.1.post1 documentation. The pip developers. Arquivado do original em 23 de abril de 2012 
  6. «PyPI mirrors». Python Package Index. Python Software Foundation. Consultado em 22 de abril de 2012. Arquivado do original em 23 de abril de 2012 
  7. «PyPI - the Python Package Index». Python Package Index. Python Software Foundation. Consultado em 18 de agosto de 2016 
  8. «PEP 427 -- The Wheel Binary Package Format 1.0». Python Software Foundation. 15 de fevereiro de 2013. Consultado em 28 de outubro de 2017 
  9. «Browse : Python Package Index». Python Software Foundation. Consultado em 2 de agosto de 2016 
  10. «Python 1.6.1». Python Software Foundation. Consultado em 24 de abril de 2012 
  11. «What's New in Python 2.0». Python Software Foundation. Consultado em 2 de agosto de 2016 
  12. a b «PEP 301 -- Package Index and Metadata for Distutils». Python Software Foundation. 24 de outubro de 2002. Consultado em 3 de junho de 2012 
  13. «PEP 241 -- Metadata for Python Software Packages». Python Software Foundation. 19 de outubro de 2001. Consultado em 18 de agosto de 2016 
  14. «Welcome to Warehouse's documentation!» 
  15. «Python Insider: New PyPI launched, legacy PyPI shutting down April 30». Python Software Foundation. 16 de abril de 2018. Consultado em 1º de junho de 2018 
  16. «A new package index for Python». LWN.net. Consultado em 1º de junho de 2018 

Bibliografia

editar
  • Barry, Paul (2010). Head First Python. [S.l.]: O'Reilly Media, Inc. ISBN 978-1-4493-8267-4 
  • Alchin, Marty (2010). Pro Python. [S.l.]: Apress. ISBN 978-1-4302-2757-1 
  • Hussain, Zahid (2011). «Proceedings of the Fall 2010 Future SOC Lab Day». Universitätsverlag Potsdam. Technische Berichte des Hasso-Plattner-Instituts für Softwaresystemtechnik an der Universität Potsdam (42). ISBN 978-3-86956-114-1 
  • Martelli, Alex (2006). Python in a Nutshell. [S.l.]: O'Reilly Media, Inc. ISBN 9780596100469 
  • Lutz, Mark (2006). Programming Python. 10 3 ed. [S.l.]: O'Reilly Media, Inc. ISBN 9780596009250 
  • Ramalho, Luciano (2015). Fluent Python. [S.l.]: O'Reilly Media, Inc. ISBN 9781491946268 

Ligações externas

editar
Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.

📚 Artikel Terkait di Wikipedia

Python

System» (em inglês). Python Software Foundation. Consultado em 11 de junho de 2008  «8 PEP 282: The logging Package» (em inglês). Python Software Foundation

Xgboost

«Python Package Index PYPI: xgboost». Consultado em 1 de agosto de 2016  «CRAN package xgboost». Consultado em 1 de agosto de 2016  «Julia package listing

Pip (gerenciador de pacotes)

software escritos em Python. Muitos pacotes podem ser encontrados na fonte padrão para pacotes e suas dependências - Python Package Index (PyPI). A maioria

Repositório

inglês). Consultado em 14 de Agosto de 2017  «PyPI - The Python Package Index» (em inglês). Python Foundation. Consultado em 14 de Agosto de 2017  «Rubygems

Buildout

sempre instaladas como eggs do Python e podem ser baixadas de um servidor de pacotes, tais como o Python Package Index (PyPI), ou podem ser desenvolvidas

Easy Install

programação Ruby. Por padrão, o EasyInstall busca os pacotes desejados no Python Package Index (PyPI) e utiliza seus metadados para baixar e instalar os pacotes

Setuptools

desenvolvimento do EasyInstall. Por padrão, o EasyInstall procura no Python Package Index (PyPI) os pacotes desejados e usa os metadados para baixar e instalar

Código escape ANSI

decimal, 1B em hexadecimal) seguido do caráter [. «colorama 0.2.5 :». Python Package Index. Consultado em 17 de agosto de 2013  Standard ECMA-48, Control Functions