Quais são os módulos Python mais interessantes?
Neste artigo, aprenderemos os módulos mais interessantes em python. algumas das bibliotecas interessantes em python.
HTTPX
HTTPX foi desenvolvido por Tom Christine, um desenvolvedor de software com foco em design de API e o desenvolvimento.
Os aplicativos atuais de alto desempenho estão usando cada vez mais o paradigma assíncrono, mas embora fazendo isso, a biblioteca Requests se esforça para fazer seu trabalho de maneira eficaz.
Assim, o HTTPX é proposto para superar este problema. Com base no renomado usabilidade, HTTPX é um cliente HTTP assíncrono que suporta HTTP/2 e HTTP/1.1. Isto tem controle rígido sobre os tempos limite e oferece uma API semelhante ao Requests biblioteca possível. Com o protocolo ASGI, HTTPX, que possui um tipo completo anotação, também pode fazer uma chamada direta para um aplicativo da web Python. Todos os comuns Recursos de solicitações, incluindo domínios e URLs internacionais, keep-alive e conexão pooling, sessões com persistência de cookies, entre outros, também estão incluídos na biblioteca.
Além disso, com estruturas web assíncronas de alto desempenho, você pode usar tanto asyncio ou trio para HTTPX. Por causa disso, o HTTPX pode lidar com muitas consultas.
Seta
Os métodos inadequados de data, hora e fuso horário na biblioteca padrão do Python e alguns outros módulos de baixo nível oferecem uma maneira de interagir com os objetos de data e hora, como muitos desenvolvedores Python sabem. Contudo, ficam aquém em termos de desempenho e usabilidade; por exemplo, eles contêm um número excessivo de módulos e categorias, o que torna difícil para os usuários lembrar e diferenciar entre elas. Também existem conversões demoradas entre fusos horários e carimbos de data/hora.
Felizmente, os usuários podem criar, manipular, formatar e converter datas com a ajuda de o módulo Python lógico e acessível chamado Arrow. Seu principal objetivo é reduzir a quantidade de código que você importa para lidar com datas e horas.
Arrow funciona com ISO 8301 e Python versões 2.7, 3.5, 3.6, 3.7 e 3.8. Fuso horário a conversão é simples, pois o carimbo de data/hora em si é uma propriedade.
As capacidades do Arrow podem ser obtidas a partir de alguns de seus aspectos. A data e hora a substituição no Arrow leva automaticamente em consideração o fuso horário do usuário. Os usuários irão ter acesso a alternativas de design rápidas e fáceis para uma variedade de entradas de dados comuns cenários. Para compensações relativas, como compensações semanais, a abordagem de turno funciona bem. Cordas pode ser formatado e analisado automaticamente, o que economiza muito tempo. A habilidade de definir períodos, intervalos, pisos e tetos para qualquer intervalo de tempo de microssegundos a anos é outro ponto forte de Arrow.
API rápida
Como o próprio nome sugere, FastAPI é uma estrutura Python muito rápida e forte para desenvolvimento de interfaces de programação de aplicativos. É uma aplicação web completa estrutura. Você pode economizar de 200 a 300 por cento do tempo de desenvolvimento com FastAPI. Com com mais de 200 colaboradores e 28,6 mil inicializações, FastAPI está se tornando cada vez mais popular no Comunidade Python.
FastAPI é uma estrutura de aplicativo da web assíncrona baseada no ASGI especificação. Algumas de suas características são as seguintes.
OpenAPI, formato JSON e criação automática de código de cliente - tudo baseado em padrões abertos.
Uma interface de usuário arrogante que permite chamar e testar APIs a partir de um navegador.
Documentação interativa da API
-
Reduz em 40% o número de bugs causados por erros do desenvolvedor no código.
A duplicação de código é minimizada.
Suporte intuitivo ao editor (VSCode/PyCharm) com preenchimento automático.
Possui segurança e autenticação integradas.
Um sistema de injeção de dependência para gerenciar todas as dependências automaticamente.
Fornece suporte ilimitado para plug-ins.
Totalmente compatível com Starlette e Pydantic.
PyTest é usado para testar aplicativos.
Bancos de dados SQL, bancos de dados NoSQL e GraphQL são suportados.
Fogo Píton
Python Fire tem a capacidade de gerar CLIs automaticamente para qualquer projeto. O biblioteca melhora a criação de CLIs. A CLI desejada pode ser obtida criando primeiro o funcionalidade necessária como uma função, módulo ou classe na linha de comando e, em seguida, usando Fogo.
Ao criar uma biblioteca Python, os testes devem começar o mais rápido possível. Um teste primário O método deve ser definido sem Python Fire para obter a funcionalidade necessária. Embora esta abordagem dê conta do recado, ela requer a mudança para um novo método primário sempre que novos recursos precisam ser testados, o que é complicado e desperdiça tempo. Se você está usando o Fire para testar sua linha de comando, não precisará atualizar constantemente seu principal método de teste.
Se uma função foi construída por outra pessoa, pode ser difícil compreendê-la apenas olhando para o seu código. Em vez disso, você deve invocar Fire no módulo. Ao usar esta função, testar cada método e função em um módulo são simples.
Estrela
Quando se trata de desenvolver serviços assíncronos poderosos, Starlette é um ASGI leve estrutura ou kit de ferramentas com o qual você pode contar.
Esta biblioteca é adequada para uso em produção e inclui muitos recursos úteis, como Integração WebSocket e GraphQL. Starlette oferece suporte a tarefas em segundo plano em processo, Compartilhamento de recursos entre origens, GZip, arquivos estáticos e respostas de streaming. Há testes extensivos de todos esses recursos, bem como uma base de código totalmente anotada e sem dependências difíceis.
Starlette pode ser aplicado integralmente como uma estrutura ou sozinho como um conjunto de ferramentas ASGI. Além disso, os componentes podem ser reutilizados em todas as estruturas ASGI, resultando em um comunidade de middleware compatível e aplicativos montáveis.
Mypy
O objetivo do "Mypy", um verificador de tipo estático escrito em Python, é reunir o melhor recursos de digitação dinâmica (ou "pato") e verificação estática. Mypy incorpora um poderoso sistema de tipos e verificação de tipos em tempo de compilação no já impressionante Python conjunto de capacidades expressivas e facilidade de uso.
Ao usar o Mypy, os programadores têm a liberdade de criar seus próprios processos. Com Mypy, esperamos reunir os melhores recursos de digitação dinâmica e estática para uso no desenvolvimento de software. Assim, os usuários podem contar com a digitação dinâmica em situações em que a digitação estática falha, como acontece com o código legado. O relatório de erros do Mypy é estruturado após um compilador, tornando-o ideal para uso como linter. Com o Mypy, os desenvolvedores têm uma solução confiável e ferramenta consistente para testar seus projetos e suas dependências.
Imutáveis
O módulo Immutables do Python adiciona um tipo de mapeamento imutável à linguagem. Um hash Array Mapped Trie (HAMT), popular em linguagens funcionais como Clojure, Scala e Haskel. Operações como set() e get() em mapeamentos imutáveis baseados em HAMT são virtualmente O(1) eficiente (O(log N)) para mapeamentos razoavelmente pequenos.
Expirando ditado
Expiring Dict do Python é um módulo de cache poderoso. Um dicionário com classificação e valores com expiração automática são fornecidos para uso no cache. Cada pesquisa de dicionário inclui um verifique o TTL (idade máxima) e o comprimento máximo do elemento.
Conclusão
Neste artigo, aprendemos sobre oito módulos Python intrigantes diferentes para executar tarefas de maneira simples, direta e eficiente