{"id":34324,"date":"2019-10-31T21:57:38","date_gmt":"2019-10-31T18:57:38","guid":{"rendered":"https:\/\/prohoster.info\/blog\/namechena-bolshaya-chistka-standartnoj-biblioteki-python\/"},"modified":"2019-10-31T21:57:38","modified_gmt":"2019-10-31T18:57:38","slug":"namechena-bolshaya-chistka-standartnoj-biblioteki-python","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/namechena-bolshaya-chistka-standartnoj-biblioteki-python","title":{"rendered":"Uma grande limpeza da biblioteca padr\u00e3o do Python est\u00e1 programada","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Desenvolvedores do projeto Python <noindex><a rel=\"nofollow\" href=\"https:\/\/www.python.org\/dev\/peps\/pep-0594\/\">publicaram<\/a><\/noindex> proposta (PEP 594) para realizar uma limpeza significativa na biblioteca padr\u00e3o. A remo\u00e7\u00e3o da biblioteca padr\u00e3o do Python prop\u00f5e tanto funcionalidades consideradas obsoletas e de nicho quanto componentes que apresentam problemas arquitet\u00f4nicos e que n\u00e3o podem ser unificados para todas as plataformas. <\/p>\n<p>Por exemplo, a proposta sugere a exclus\u00e3o de m\u00f3dulos como crypt (indispon\u00edvel para Windows e a depend\u00eancia da disponibilidade de algoritmos de hashing em bibliotecas do sistema), cgi (arquitetura sub\u00f3tima, requer a execu\u00e7\u00e3o de um novo processo para cada solicita\u00e7\u00e3o), imp (recomendado usar importlib), pipes (recomendado usar o m\u00f3dulo subprocess), nis (recomendado usar NSS, LDAP ou Kerberos\/GSSAPI), spwd (n\u00e3o recomendado trabalhar diretamente com o banco de dados de contas). Os m\u00f3dulos binhex, uu, xdrlib tamb\u00e9m est\u00e3o marcados para remo\u00e7\u00e3o,<br \/>\n    aifc,<br \/>\n    audioop,<br \/>\n    chunk,<br \/>\n    imghdr,<br \/>\n    ossaudiodev,<br \/>\n    sndhdr,<br \/>\n    sunau,<br \/>\n    asynchat,<br \/>\n    asyncore,<br \/>\n    cgitb,<br \/>\n    smtpd,<br \/>\n    nntplib, macpath,<br \/>\n    formatter, msilib e parser.<\/p>\n<p>De acordo com o plano proposto, no Python 3.8 os m\u00f3dulos acima mencionados est\u00e3o programados para serem marcados como obsoletos, no Python 3.8 come\u00e7am a gerar avisos e no Python 3.10 ser\u00e3o removidos dos reposit\u00f3rios CPython.<br \/>\n O m\u00f3dulo parser est\u00e1 programado para ser removido na vers\u00e3o 3.9, uma vez que foi marcado como obsoleto j\u00e1 na vers\u00e3o Python 2.5, enquanto o m\u00f3dulo macpath ser\u00e1 removido na vers\u00e3o 3.8. Ap\u00f3s a remo\u00e7\u00e3o da composi\u00e7\u00e3o principal, o c\u00f3digo ser\u00e1 transferido para um reposit\u00f3rio separado legacylib e seu destino depender\u00e1 do interesse da comunidade. Espera-se que a vers\u00e3o Python 3.9 seja mantida at\u00e9 2026, dando assim tempo suficiente para a migra\u00e7\u00e3o dos projetos para alternativas externas.<\/p>\n<p>Inicialmente, tamb\u00e9m foram propostos para remo\u00e7\u00e3o os m\u00f3dulos ftplib, optparse, getopt, colorsys, fileinput, lib2to3 e wave, mas decidiu-se mant\u00ea-los na biblioteca padr\u00e3o, pois s\u00e3o amplamente utilizados e continuam relevantes, apesar da exist\u00eancia de alternativas mais avan\u00e7adas ou da liga\u00e7\u00e3o a funcionalidades espec\u00edficas dos sistemas operacionais.<\/p>\n<p>Lembramos que, inicialmente, o projeto Python adota a abordagem de 'baterias inclusas', na qual a biblioteca padr\u00e3o oferece um conjunto abrangente de fun\u00e7\u00f5es para diversas \u00e1reas de aplica\u00e7\u00e3o. Entre as vantagens dessa abordagem est\u00e1 a simplifica\u00e7\u00e3o da manuten\u00e7\u00e3o de projetos em Python e o acompanhamento da seguran\u00e7a dos m\u00f3dulos utilizados nos projetos. Vulnerabilidades em m\u00f3dulos frequentemente se tornam fontes de vulnerabilidades em aplica\u00e7\u00f5es que os usam. No caso de fun\u00e7\u00f5es inclusas na biblioteca padr\u00e3o, basta verificar o estado do projeto principal. Ao desmembrar a biblioteca padr\u00e3o, os desenvolvedores precisam usar m\u00f3dulos de terceiros, cujas vulnerabilidades devem ser monitoradas separadamente. Com um alto grau de fragmenta\u00e7\u00e3o e um grande n\u00famero de depend\u00eancias, surge a amea\u00e7a de ataques por meio da comprometimento da infraestrutura dos desenvolvedores de m\u00f3dulos.<\/p>\n<p>Por outro lado, cada m\u00f3dulo adicional na biblioteca padr\u00e3o exige recursos da equipe de desenvolvedores do Python para manuten\u00e7\u00e3o. A biblioteca acumulou um grande n\u00famero de fun\u00e7\u00f5es duplicadas e desnecess\u00e1rias, que, se exclu\u00eddas, podem reduzir os custos de manuten\u00e7\u00e3o. \u00c0 medida que o cat\u00e1logo evolui <noindex><a rel=\"nofollow\" href=\"https:\/\/pypi.org\/\">PyPI<\/a><\/noindex> e o processo de instala\u00e7\u00e3o e download de pacotes adicionais se torna mais simples, o uso de m\u00f3dulos externos hoje \u00e9 t\u00e3o comum quanto o de fun\u00e7\u00f5es embutidas. <\/p>\n<p>Cada vez mais, os desenvolvedores utilizam substitui\u00e7\u00f5es externas mais funcionais para os m\u00f3dulos padr\u00e3o, como usar o m\u00f3dulo lxml em vez de xml. A remo\u00e7\u00e3o de m\u00f3dulos abandonados da biblioteca padr\u00e3o pode aumentar a popularidade de alternativas ativamente desenvolvidas pela comunidade. Al\u00e9m disso, a redu\u00e7\u00e3o da biblioteca padr\u00e3o resultar\u00e1 em uma diminui\u00e7\u00e3o do tamanho do pacote b\u00e1sico, o que \u00e9 relevante ao utilizar Python em plataformas embarcadas com espa\u00e7o de armazenamento limitado.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50726\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Python \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 (PEP 594) \u043f\u043e \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044e \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0447\u0438\u0441\u0442\u043a\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u041a \u0432\u044b\u043d\u043e\u0441\u0443 \u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Python \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u044f\u0432\u043d\u043e \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435 \u0438 \u0443\u0437\u043a\u043e\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u0442\u0430\u043a \u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044f \u0443\u043d\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0437 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0438, \u043a\u0430\u043a crypt (\u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0434\u043b\u044f Windows [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-34324","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Python \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 (PEP 594) \u043f\u043e \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044e \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0447\u0438\u0441\u0442\u043a\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/news\/namechena-bolshaya-chistka-standartnoj-biblioteki-python\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041d\u0430\u043c\u0435\u0447\u0435\u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0438\u0441\u0442\u043a\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Python | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Python \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 (PEP 594) \u043f\u043e \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044e \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0447\u0438\u0441\u0442\u043a\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/namechena-bolshaya-chistka-standartnoj-biblioteki-python\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:57:38+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:57:38+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Uma grande limpeza da biblioteca padr\u00e3o do Python est\u00e1 planejada | ProHoster","description":"Os desenvolvedores do projeto Python publicaram uma proposta (PEP 594) para realizar uma limpeza significativa na biblioteca padr\u00e3o.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/namechena-bolshaya-chistka-standartnoj-biblioteki-python","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041d\u0430\u043c\u0435\u0447\u0435\u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0438\u0441\u0442\u043a\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Python | ProHoster","og:description":"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Python \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 (PEP 594) \u043f\u043e \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044e \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0447\u0438\u0441\u0442\u043a\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438.","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/namechena-bolshaya-chistka-standartnoj-biblioteki-python","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:57:38+00:00","article:modified_time":"2019-10-31T18:57:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34324","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 18:45:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:24:25","updated":"2026-01-21 18:45:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/34324","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=34324"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/34324\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=34324"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=34324"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=34324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}