15 bibliotecas Python modernas que você precisa conhecer em 2025

Published on: 2025-10-23
Post image
pt python-2025 bibliotecas-modernas-python desenvolvimento-web-com-python frameworks-python-rapidos inteligencia-artificial-com-python manipulacao-de-dados-com-polars fastapi-e-django validacao-de-dados-pydantic-pandera interfaces-graficas-em-python

O ecossistema Python está em constante evolução, e novas bibliotecas vêm transformando a forma como dados, inteligência artificial e aplicações são desenvolvidos. Em 2025, algumas ferramentas se destacam por sua velocidade, simplicidade e integração com tecnologias modernas.

Estas bibliotecas cobrem áreas que vão desde o processamento de dados e criação de interfaces gráficas até o desenvolvimento web e validação de dados. A seguir, são apresentadas quinze bibliotecas modernas que representam avanços notáveis no uso do Python contemporâneo.

Polars — Manipulação ultrarrápida de dados

Polars é uma biblioteca para manipulação de dados estruturados, semelhante ao Pandas, mas escrita em Rust, uma linguagem de alto desempenho. Ela utiliza execução preguiçosa, o que permite lidar eficientemente com grandes volumes de dados. Por ser compatível com o formato Apache Arrow, também otimiza operações em memória e integra-se bem com outros sistemas de dados.

O exemplo abaixo mostra a criação de um DataFrame simples com Polars:

import polars as pl
import datetime as dt

df = pl.DataFrame({
    "nome": ["Alice", "Bruno", "Carla", "Daniel"],
    "nascimento": [
        dt.date(1997, 1, 10),
        dt.date(1985, 2, 15),
        dt.date(1983, 3, 22),
        dt.date(1981, 4, 30),
    ],
    "peso": [57.9, 72.5, 53.6, 83.1],
    "altura": [1.56, 1.77, 1.65, 1.75],
})
print(df)

Ruff — Formatação e validação de código ultrarrápidas

Desenvolvido em Rust, Ruff combina funções de diversas ferramentas como Flake8, Black e isort em um único utilitário. Atua tanto como formatador quanto como verificador de erros, destacando-se pela velocidade e automação de correções. Essa abordagem torna o código mais limpo e padronizado.

O trecho seguinte demonstra sua aplicação para detectar e corrigir avisos de código não utilizado:

from typing import Iterable
import os

def soma_pares(numeros: Iterable[int]) -> int:
    return sum(num for num in numeros if num % 2 == 0)
# Ruff identificará que 'os' não é usado e sugerirá a remoção automática

PyScript — Execução de Python no navegador

PyScript permite escrever e executar código Python diretamente em navegadores web, sem necessidade de backend. Ele utiliza marcações HTML para integrar o código de forma natural em páginas da web. Assim, torna-se possível criar aplicações interativas usando apenas Python.

Um exemplo básico mostra a exibição da versão do Python no navegador:

<py-script>
import sys
from pyscript import display
display(sys.version)
</py-script>

Pandera — Validação de dados em DataFrames

Pandera fornece uma forma de verificar a integridade de dados em estruturas do Pandas, usando esquemas declarativos. Essa verificação previne erros antes do processamento, assegurando que os tipos e restrições estejam corretos. A biblioteca é especialmente útil em fluxos de ciência de dados e testes automatizados.

O exemplo abaixo define um esquema para validar um conjunto de dados simples:

import pandas as pd
import pandera as pa

df = pd.DataFrame({
    "coluna1": [1, 4, 0, 10],
    "coluna2": [-1.3, -1.4, -2.9, -10.1],
})

schema = pa.DataFrameSchema({
    "coluna1": pa.Column(int, checks=pa.Check.le(10)),
    "coluna2": pa.Column(float, checks=pa.Check.lt(-1.2)),
})
schema(df)

Textual — Interfaces de terminal modernas

Textual transforma o terminal em um ambiente interativo e estilizado, permitindo construir interfaces de usuário sem recorrer à web. A biblioteca usa o pacote Rich para formatação de texto, cores e widgets, oferecendo uma experiência visualmente agradável dentro da linha de comando.

Segue um exemplo de aplicação interativa com botões:

from textual.app import App, ComposeResult
from textual.widgets import Label, Button

class PerguntaApp(App[str]):
    def compose(self) -> ComposeResult:
        yield Label("Gostou do Textual?")
        yield Button("Sim", id="sim")
        yield Button("Não", id="nao")

    def on_button_pressed(self, event: Button.Pressed) -> None:
        self.exit(event.button.id)

PerguntaApp().run()

LlamaIndex — Indexação para aplicações com IA

LlamaIndex foi desenvolvida para auxiliar aplicações baseadas em modelos de linguagem extensos, simplificando a indexação e a busca em conjuntos de dados. Suporta RAG (*Retrieval-Augmented Generation*), permitindo que modelos como GPT obtenham informações de fontes externas. Essa capacidade amplia a precisão e contextualização das respostas.

O exemplo a seguir mostra um agente simples que executa uma multiplicação com auxílio de um modelo:

from llama_index.core.agent.workflow import AgentWorkflow
from llama_index.llms.openai import OpenAI

def multiplicar(a, b):
    return a * b

agente = AgentWorkflow.from_tools_or_functions(
    [multiplicar],
    llm=OpenAI(model="gpt-4o-mini"),
)

Robyn — Framework web escalável e veloz

Robyn é um framework de alto desempenho, projetado para aproveitar múltiplos núcleos de CPU e oferecer respostas mais rápidas do que soluções tradicionais como Flask ou FastAPI. Ele é totalmente assíncrono e construído com partes em Rust, potencializando a execução de aplicações web de grande escala.

Um pequeno servidor pode ser criado da seguinte forma:

from robyn import Robyn, Request

app = Robyn(__name__)

@app.get("/")
async def ola(request: Request):
    return "Olá, mundo!"

app.start(port=8080)

DuckDB — Banco de dados analítico em memória

DuckDB é um mecanismo SQL embutido e rápido, ideal para tarefas analíticas. Ele roda diretamente na memória do processo Python e pode ser conectado a DataFrames do Pandas ou Polars. Isso permite consultas de alto desempenho sem precisar de um servidor de banco de dados tradicional.

Um exemplo simples demonstra a execução de consultas sobre um DataFrame:

import duckdb
import pandas as pd

df = pd.DataFrame({"x": [42]})
resultado = duckdb.sql("SELECT * FROM df").fetchdf()
print(resultado)

Django — Framework completo para aplicações web

Django é um framework robusto e maduro que fornece recursos de autenticação, painel administrativo e mapeamento objeto-relacional integrados. Seu foco em segurança e escalabilidade faz dele uma escolha sólida para projetos empresariais. Ele mantém uma arquitetura organizada por meio do padrão MTV (Model-Template-View).

Um novo projeto pode ser iniciado rapidamente usando o comando incorporado do Django:

django-admin startproject meu_projeto
cd meu_projeto
python manage.py runserver

FastAPI — Criação de APIs rápidas e assíncronas

FastAPI oferece uma maneira moderna e eficiente de desenvolver APIs RESTful em Python. Ele utiliza tipagem para validação automática de dados e gera documentação interativa. Sua execução assíncrona o torna adequado para sistemas que exigem alto desempenho.

O código a seguir demonstra uma API básica:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def raiz():
    return {"mensagem": "Olá, FastAPI!"}

LangChain — Integração com modelos de linguagem

LangChain simplifica a criação de fluxos e aplicações baseadas em modelos de linguagem como o GPT. Ele permite encadear múltiplas chamadas a modelos e integrar recursos de memória e busca. Essa estrutura facilita o desenvolvimento de agentes e assistentes virtuais personalizados.

Um exemplo demonstra a inicialização de um modelo conversacional:

from langchain.chat_models import init_chat_model

modelo = init_chat_model("gpt-4o-mini", model_provider="openai")
resposta = modelo.invoke("Olá, mundo!")
print(resposta)

Pydantic — Validação de dados com anotações de tipo

Pydantic utiliza as anotações de tipo do Python para criar modelos de dados robustos e validados automaticamente. É amplamente adotado em frameworks como FastAPI, reduzindo o risco de erros de tipo e formato. Essa validação automática garante consistência e confiabilidade nos dados manipulados.

O trecho a seguir mostra sua utilização em um modelo de usuário:

from pydantic import BaseModel

class Usuario(BaseModel):
    nome: str
    idade: int

pessoa = Usuario(nome="Ana", idade=25)
print(pessoa)

Flet — Interfaces gráficas multiplataforma

Flet permite criar interfaces gráficas de usuário usando apenas Python, sem necessidade de HTML, CSS ou JavaScript. Ele produz aplicações para navegador, desktop e dispositivos móveis com o mesmo código. O sistema é reativo, atualizando a interface automaticamente quando os dados mudam.

Um exemplo prático mostra um simples contador interativo:

import flet
from flet import IconButton, Page, Row, TextField, icons

def principal(pagina: Page):
    numero = TextField(value="0", width=80)
    def soma(e):
        numero.value = str(int(numero.value) + 1)
        pagina.update()
    def subtrai(e):
        numero.value = str(int(numero.value) - 1)
        pagina.update()
    pagina.add(Row([
        IconButton(icons.REMOVE, on_click=subtrai),
        numero,
        IconButton(icons.ADD, on_click=soma)
    ]))

flet.app(target=principal)

Weaviate — Banco de dados vetorial para IA

Weaviate é um banco de dados especializado em armazenar vetores, utilizados em aplicações de busca semântica e inteligência artificial. Ele combina armazenamento estruturado com embeddings, possibilitando consultas mais próximas do significado dos dados em vez de simples igualdade textual.

Um exemplo cria uma conexão local e verifica sua disponibilidade:

import weaviate

cliente = weaviate.connect_to_local()
print(cliente.is_ready())

Reflex — Framework Python para web completo

Reflex une frontend e backend em um único ambiente Python. Inspirado em frameworks reativos, ele permite construir interfaces semelhantes ao React sem sair do ecossistema da linguagem. Com gerenciamento de estado integrado, facilita o desenvolvimento de aplicações dinâmicas e complexas.

O exemplo a seguir define um aplicativo simples com interação de estado:

import reflex as rx

class Estado(rx.State):
    contador = 0
    def incrementar(self):
        self.contador += 1

def interface():
    return rx.vstack(
        rx.text(f"Contagem: {Estado.contador}"),
        rx.button("Aumentar", on_click=Estado.incrementar)
    )

app = rx.App()
app.add_page(interface)

Essas 15 bibliotecas representam um panorama moderno do desenvolvimento em Python em 2025. Elas evidenciam um movimento em direção à performance, integração com IA e acessibilidade de interfaces, consolidando o Python como uma das linguagens mais versáteis da atualidade.