Guia de Início Rápido - Backend Python¶
Instalação¶
Uso Básico¶
Serialização Simples¶
import b_fast
# Criar encoder
encoder = b_fast.BFast()
# Seus dados
data = [{"id": i, "name": f"User {i}"} for i in range(1000)]
# Serializar
encoded = encoder.encode_packed(data, compress=True)
print(f"Tamanho: {len(encoded)} bytes")
# Deserializar
decoded = encoder.decode_packed(encoded)
Compressão¶
# Com compressão (recomendado para > 1KB)
compressed_data = encoder.encode_packed(data, compress=True)
Integração com FastAPI ⭐ Recomendado¶
O B-FAST disponibiliza classes nativas de Response e StreamingResponse para FastAPI e Starlette.
Resposta Padrão¶
from fastapi import FastAPI
from pydantic import BaseModel
from b_fast import BFastResponse
app = FastAPI()
class User(BaseModel):
id: int
name: str
email: str
@app.get("/users", response_class=BFastResponse)
async def get_users():
return [User(id=i, name=f"User {i}", email=f"user{i}@example.com") for i in range(1000)]
Resposta Streamable HTTP (Streaming Contínuo) 🌊¶
Transmita frames binários em tempo real sobre HTTP/1.1 (Chunked), HTTP/2 ou HTTP/3:
import asyncio
from fastapi import FastAPI
from b_fast import BFastStreamingResponse
app = FastAPI()
@app.get("/stream-users", response_class=BFastStreamingResponse)
async def stream_users():
async def user_generator():
for i in range(100):
yield {"id": i, "name": f"User {i}", "status": "active"}
await asyncio.sleep(0.05)
return user_generator()
Integração com FastMCP 2.0 🤖¶
Transmita grandes massas de dados de ferramentas de IA utilizando decoradores B-FAST, reduzindo o consumo de tokens em até 85%:
from b_fast.fastmcp import FastMCPBFast, bfast_tool
mcp = FastMCPBFast("Servidor de Analytics")
@mcp.tool()
@bfast_tool(compress=True)
def consulta_dataset(limite: int = 1000) -> list[dict]:
return [{"id": i, "valor": i * 1.5} for i in range(limite)]
Próximos Passos¶
- Guia de Integrações - Django Ninja, Django, Polars e Pandas
- Integração Frontend - Cliente TypeScript, TanStack Query e Zod
- Guia para IAs & LLMs (
llms.txt) - Instruções para OpenCode, Cursor e Claude Code - Performance & Benchmarks - Benchmarks técnicos vs orjson e JSON
- Solução de Problemas - Resolução de dúvidas frequentes