Acesso a pacotes PyPI no Snowpark por meio de UDFs e procedimentos armazenados

OBS.: este artigo foi originalmente publicado em abril de 2025. Foi atualizado para refletir os produtos, os recursos e a funcionalidade atualmente disponíveis.
Para desenvolvedores, engenheiros e cientistas de dados que usam o Snowpark, um dos maiores desafios tem sido acessar os pacotes Python de que eles precisam, bem como gerenciar as dependências dos pacotes carregados on stage. Embora o Snowpark Python já ofereça suporte a pacotes Anaconda e pacotes personalizados, a falta de acesso direto ao amplo ecossistema do Python Package Index (PyPI) exigia etapas adicionais para gerenciar dependências e lidar com as limitações.
Mas, hoje isso mudou. Temos novidades para melhorar ainda mais o desenvolvimento em Snowpark Python! Por isso, é com satisfação que anunciamos o acesso direto ao vasto Python Package Index (PyPI), agora disponível ao público, que revoluciona o fluxo de trabalho, oferecendo flexibilidade sem precedentes. Imagine poder integrar com facilidade qualquer pacote Python de que você precisa diretamente às funções definidas pelo usuário (user-defined functions, UDFs) do Snowpark Python e aos procedimentos armazenados, sem tempo de espera. Sim, você ouviu direito! O confiável canal Snowflake Anaconda continua disponível e agora você tem a liberdade de acessar todo o ecossistema PyPI, que hospeda mais de 600.000 pacotes Python.
Essa nova função simplifica muito os fluxos de trabalho de desenvolvimento, mais do que nunca, facilitando a criação e o dimensionamento em escala de aplicações que usam tecnologia Python no Snowflake.
Como isso funciona
O Snowflake conta com um Artifact Repository padrão que permite aos usuários conectar e instalar pacotes PyPI dentro dos procedimentos armazenados e das UDFs do Snowpark. Basta dar acesso a um repositório PyPI integrado e instalar o pacote dentro de uma UDF ou de um procedimento (obtenha mais detalhes sobre o processo em nossa documentação).

"A CARTO, uma plataforma líder de inteligência de localização nativa da nuvem, está colaborando no projeto EMERALDS, financiado pela UE, para trazer recursos avançados de análise de dados de mobilidade de trajetória para a nuvem. Os atuais métodos que usam bibliotecas como PyMEOS e MovingPandas oferecem uma análise avançada de trajetória, mas não têm escalabilidade para grandes conjuntos de dados ou aplicativos em tempo real. Agora, com o Snowflake Artifact Repository, podemos integrar esses métodos como UDFs Python, tornando-os facilmente acessíveis e dimensionáveis no Snowflake sem pipelines de dados complexos. Para os usuários, isso facilita a resolução de problemas de mobilidade, como melhorar a tecnologia de assistência ao motorista, analisando trajetórias de carros autônomos, otimizando modelos de seguro por meio da análise do comportamento do motorista e melhorando o planejamento da rede, mapeando os padrões de movimento do usuário.”
Giulia Carella
Vantagens
O suporte aprimorado do Snowflake para pacotes PyPI em procedimentos e UDFs do Snowpark traz muitas vantagens:
Acesso instantâneo, sem esforço: agora, qualquer pacote PyPI (whl) está ao seu alcance.
Oferece possibilidades ilimitadas: use qualquer pacote `.whl` do PyPI e até o Snowpark Optimized Warehouse para pacotes específicos de arquitetura de CPU x86. Para opções personalizadas, os usuários podem enviar esses pacotes para uma área de teste (stage) e importá-los para uma UDF ou procedimento armazenado.
Desenvolvimento simplificado: simplifique bastante o processo de desenvolvimento, tornando a criação e o dimensionamento em escala de aplicações com tecnologia Python no Snowflake mais rápido e fácil do que nunca.
Isso garante uma experiência contínua e segura para as organizações. Os usuários não precisam instalar pacotes o tempo todo para realizar um trabalho de análise ou engenharia de dados. Em vez disso, eles só precisam especificar o nome do pacote como parte do ARTIFACT_REPOSITORY_PACKAGES. O pacote é instalado, em segundo plano, no ambiente de sandbox associado ao armazenamento virtual. Para simplificar, o Snowflake fornece um Artifact Repository padrão chamado SNOWFLAKE.SNOWPARK.PYPI_SHARED_REPOSITORY, utilizado para conectar e instalar pacotes PyPI. É necessário que um ACCOUTADMIN conceda acesso a uma função (ROLE) para habilitar o uso. Em segundo plano, também armazenamos os pacotes em cache para evitar o acesso constante ao PyPI, pois isso ajuda a melhorar o desempenho.
"Na Tacoma Public Utilities, hospedamos nossos pipelines de dados em procedimentos armazenados Snowflake Python, sendo que alguns deles exigem bibliotecas Python não incluídas no canal Anaconda. Por exemplo, usamos o PGPy para criptografar dados compartilhados com parceiros, que os analisam para identificar oportunidades de eficiência energética para nossos clientes. Em nosso processo anterior, a incorporação de bibliotecas não Anaconda era complicada, exigindo downloads manuais, uploads para um Snowflake stage e manutenção contínua de versões estáticas da biblioteca. Agora, com o novo recurso Artifact Repository, podemos nos integrar perfeitamente ao PyPI, simplificando a configuração e eliminando a necessidade de gerenciamento manual de versões. Isso garante acesso contínuo de nossos pipelines aos pacotes de manutenção mais recentes, aumentando a eficiência e a confiabilidade."
Nicole Edwards
Por que isso é importante
Os desenvolvedores podem criar aplicações de dados mais avançadas com uma variedade mais ampla de bibliotecas Python.
Os engenheiros de dados podem desenvolver pipelines e usar pacotes (como asyncmy, bitstruct, stumpy, sparse, etc.) do PyPI em vários casos de uso, desde enriquecimento de dados, ingestão, transformação, validação e muito mais.
Os cientistas de dados podem executar continuamente fluxos de trabalho de aprendizado de máquina usando pacotes já conhecidos, como TensorFlow ou scikit-learn com as versões mais recentes do PyPI.
Como começar
Ter acesso a recursos PyPI traduz-se em mais capacidade, maior flexibilidade e menos atrito. Aproveite um mundo de possibilidades infinitas em Python e melhore o nível de seus projetos Snowpark.
Pronto para o futuro do desenvolvimento no Snowpark Python? Comece a usar o acesso direto ao PyPI hoje mesmo e comprove a diferença! Consulte a documentação de recursos aqui. Além disso, neste artigo, você encontrará um exemplo completo de como usar pacotes PyPI para processamento de dados não estruturados com o Snowpark.