Espelhar uma imagem com a biblioteca Pillow (PIL)

A biblioteca Pillow, conhecida como PIL (Python Imaging Library) acrescenta capacidade de processamento de imagens ao Python.

A PIL fornece suporte a alguns formatos de arquivos baseados em pixels e com um rápido poder de processamento.

Vamos a um exemplo.

Objetivo: Espelhar a imagem na horizontal

Imagem Original
Imagem Espelhada

Photo de Jonathan Borba no Unsplash

Veremos o código fonte.

# Carrega o módulo Image da biblioteca PIL (para tratamento de imagens)

from PIL import Image

# Atribui a imagem original à variável img.
# Coloque a imagem na mesma pasta que esse programa estará rodando)
# Photo by Jonathan Borba on Unsplash

img = Image.open('teste.jpg')

# Inverte a imagem no sentido horizontal

espelha_imagem = img.transpose(Image.FLIP_LEFT_RIGHT)

# Grava a imagem espelhada na mesma pasta e com outro nome
# para não sobrepor a original

espelha_imagem.save(r'teste_espelhado.jpg')

# Sua imagem espelhada estará na mesma pasta da imagem original,
# porém com  outro nome


Python 3.11 ganha maior desempenho em troca de ‘um pouco mais de memória’

Claylson Martins – Published 01/06/2022

Uma nova versão do Python deve sair até o mês de outubro com muitos novos recursos aguardados. Sendo assim, o próximo Python 3.11 terá como principal destaque o melhor desempenho. “O Python 3.11 é até 10-60 por cento mais rápido que o Python 3.10”, afirmam as notas de lançamento. Porém, ao mesmo tempo em que o Python 3.11 ganha maior desempenho, ele passa a consumir também ‘um pouco mais de memória’.

Como isso está sendo feito? Python 3.11 é a primeira versão a se beneficiar de um projeto chamado Faster CPython. Já o CPython é a versão padrão do interpretador.

Faster CPython é um projeto financiado pela Microsoft, cujos membros incluem o inventor do Python Guido van Rossum, o engenheiro de software sênior da Microsoft Eric Snow e Mark Shannon – que está sob contrato com a Microsoft como líder de tecnologia para o projeto.

Uma sessão agendada para o evento EuroPython a ser realizado em Dublin em julho centra-se em algumas das mudanças que permitem a aceleração. Shannon descreverá o “intérprete especializado adaptativo” no Python 3.11, que é o PEP (Python Enhancement Proposal) 659. Isso descreve uma técnica chamada especialização que, explica Shannon, “normalmente é feita no contexto de um compilador JIT [just in time], mas pesquisas mostram que a especialização em um interpretador pode aumentar significativamente o desempenho”.

O interpretador identifica o código que pode se beneficiar da especialização e “uma vez que uma instrução em um objeto de código tenha executado o suficiente, essa instrução será “especializada” substituindo-a por uma nova instrução que deverá ser executada mais rapidamente para essa operação”, afirma o PEP. A aceleração pode ser de “até 50 por cento”.

Shannon também identifica quadros de execução alocados consecutivamente, try-except de custo zero, layout de objeto mais regular e dicionários de objetos criados preguiçosamente em sua prévia da palestra.

Python 3.11 ganha maior desempenho em troca de ‘um pouco mais de memória’

Quando Devclass conversou com o membro do Python Steering Council e desenvolvedor principal Pablo Galindo sobre o novo criador de perfil de memória Memray, ele descreveu como a equipe Python está usando o trabalho da Microsoft na versão 3.11.

“Uma das coisas que estamos fazendo é tornar o interpretador mais rápido”, disse ele, “mas também usará um pouco mais de memória, só um pouco, porque a maioria dessas otimizações tem algum tipo de custo na memória , porque precisamos armazenar algumas coisas para usar mais tarde, ou porque temos uma versão otimizada, mas às vezes alguém precisa solicitar uma versão não otimizada para depuração, então precisamos armazenar ambas.”

Como ocorrerá esse maior desempenho?

Galindo explicou como o gerenciamento de memória é fundamental para o desempenho. O Python “tem seu próprio alocador de memória que não é o alocador do sistema”, disse ele. Não é porque “sabemos melhor como alocar a memória”, disse ele. Em vez disso, é porque o alocador do sistema precisa ser genérico, enquanto o interpretador Python sabe que usará a memória.

Um dos truques é reduzir o número de chamadas para o alocador do sistema em favor de alocar um pedaço maior. “Deixe-me ter um grande pedaço de memória, vou usar as diferentes partes dele e liberá-lo de uma só vez quando terminar, porque senão será muito lento”, disse ele.

Respondendo aos recentes testes de velocidade do Python 3.11, um desenvolvedor disse que “este pode ser o primeiro Python 3 que será realmente mais rápido (cerca de 5%) que o Python 2.7. Esperamos 12 anos por isso.”

Link do artigo: SempreUpdate

Open Data Day 2022 – Explorar os dados de monitoramento da pandemia o Estado de São Paulo

No Open Data Day 2022, João Carlos Santos e Lucas Ribeiro realizaram a análise dos dados de contaminação do vírus SARS-COV 2 (Coronavírus) que gerou a pandemia que iniciou em 2020.

Eles apresentaram como montar um Heat Map e também como colorir mapas para demonstrar dados.

Open Data Day 2022 – Explorar os dados de monitoramento da pandemia o Estado de São Paulo

Python pode ficar mais rápido em breve!

Jardeson Márcio – Published 19/05/2022

Python é uma linguagem de programação muito popular e conta com algumas vantagens que a colocam nesse lugar. Estamos falando de uma linguagem de programação fácil de aprender, versátil e que possui milhares de bibliotecas úteis para ciência de dados. No entanto, mesmo com todas essas vantagens, uma desvantagem é suficiente para render muitas críticas: a lentidão de Python. Mas, isso deve mudar em breve, já que ela pode ficar mais rápida.

Python mais rápido

Na conferência PyCon US 2021, o pai do Python garantiu que, no Python 3.11 em 2022, a velocidade do Python seria aumentada em 2 vezes e, em 4 anos, a velocidade será aumentada em 5 vezes, para resolver o problema problema de comparar Python com outras linguagens de programação, como C++.

O Python 3.11 está atualmente na primeira fase beta de sua versão de visualização (versão 3.11.0b1) antes de uma versão estável ainda este ano. O CPython 3.11 é 1,25 vezes mais rápido que 3.10, o que já é um avanço.

Na recente conferência PyCon US 2022, o desenvolvedor do Core Python (CPython) Mark Shannon compartilhou detalhes sobre a aceleração de projetos Python, e os desenvolvedores também mostraram progresso em direção ao objetivo de executar o código Python no navegador.

No ano passado, a Microsoft financiou um projeto Python Software Foundation (PSF), o “Shannon Plan”, liderado pelos criadores do Python Guido van Rossum e Mark Shannon, que prometeram torná-lo 2x mais rápido no Python 3.11 deste ano. Sua visão é empurrar o Python para o desempenho do C.

O projeto Faster CPython fornece algumas atualizações de desempenho sobre o CPython 3.11 no ano passado. Antes da conferência PyCon US 2022, o projeto anunciou mais resultados: uma comparação da versão beta 3.11 e 3.10 em dezenas de métricas de desempenho mostrou que 3.11.0b1 foi 1,25 vezes mais rápido que 3.10 em geral.

Novo interpretador de bytecode torna o tratamento de erros mais eficiente

Infelizmente, a otimização de máquinas virtuais é “cara” e geralmente requer um longo tempo de “aquecimento”. Para evitar essa sobrecarga de tempo, a máquina virtual deve especular que “a especialização é razoável mesmo depois de uma função ter sido executada várias vezes”. Portanto, o intérprete precisa ser otimizado e desotimizado continuamente e de forma muito barata.

Isso deve resultar em um interpretador CPython mais rápido que pode rastrear bytecodes individuais durante a execução do programa. De acordo com a Python Software Foundation (PSF) , o trabalho no novo interpretador está quase completo, mas a especialização dinâmica de loops e operações binárias ainda precisa ser feita.

Esperamos que Python saia desse campo de lentidão atual, receba as “atualizações” necessárias e se torne mais rádo para os usuários.

Link da notícia: SempreUpdate

Stone lança curso gratuito de Python para formar futuros programadores para o mercado de fintech

Desenvolvida em parceria com a How Botcamps, a iniciativa vai atender a 200 participantes, que terão a chance de ingressar no time de tecnologia da principal parceira do empreendedor brasileiro

Por Stone – 13/01/2022 11h16 

Criar sites e aplicações para a internet, ou algoritmos de aplicativos de smartphone. Criar jogos e automatizar tarefas para áreas como análise de dados, machine learning e Inteligência Artificial. Essas são algumas aplicações de uma das linguagens de programação mais populares do mundo, o Python.

Idealizado no início dos anos 90 pelo matemático holandês Guido Van Rossum, o Python apresenta uma série de vantagens. Ele atua em plataforma aberta, o que significa que seu uso é gratuito e acessível a partir de qualquer computador de mesa ou laptop. Além disso, os usuários criaram e disponibilizaram uma biblioteca vasta, que contribui para facilitar o desenvolvimento de aplicações.

É uma linguagem de compreensão relativamente simples, que pode ser utilizada não só por programadores, como também por matemáticos, engenheiros, cientistas de dados e pesquisadores. Trata-se de uma linguagem portátil, de forma que um programa desenvolvido em Python pode ser utilizado em diferentes sistemas operacionais.

Novo curso

Comprometida com a educação e dedicada a garantir que, cada vez mais, as pessoas aprimorem seus conhecimentos ou aprendam novos temas, a Stone está lançando o /código[s], um curso gratuito de Python.

Desenvolvido em parceria com a edtech brasileira How Botcamps, o curso terá quatro meses de duração. É voltado para quem quer mergulhar no universo tech e conhecer mais sobre a linguagem de programação Python.

Para fazer parte, basta se inscrever no processo seletivo, que termina dia 16 de janeiro. São 200 vagas para quem quer aprender do zero ou se aperfeiçoar. Além de toda a formação gratuita, os participantes que se destacarem ainda têm a chance de ingressar no time Stone.

A Stone é uma empresa de tecnologia financeira do Brasil, que reconhece o potencial empreendedor de cada brasileiro. Desenvolve diariamente as melhores soluções que permitem aos parceiros mudar o país. Junto dos donos de pequenos e médios negócios, cria produtos e serviços de venda e gestão que aumentam a eficiência e proporcionam a melhor experiência, permitindo que suas operações sejam cada vez mais integradas, de maneira segura e confiável, por um preço justo.

Para saber mais, acesse: stone.com.br/tech.

Link original do artigo: TechTudo