Comparação de ferramentas
FakeForge vs. python-brasilidades
As duas bibliotecas geram documentos brasileiros válidos em Python. python-brasilidades é a alternativa mais próxima do FakeForge no ecossistema Python. As diferenças importam quando você precisa de CNPJ alfanumérico 2026, presets correlacionados ou stack polyglot.
TL;DR
- python-brasilidades: lib Python madura com CPF, CNPJ, RG, CNH válidos. Cobre básico e funciona offline (sem chamar API). Zero deps runtime.
- FakeForge: tem SDK Python (`pip install fakeforge-br`) + presets correlacionados + CNPJ alfanumérico 2026 + API HTTP pra polyglot.
- Quando python-brasilidades chega: use ela. Mais simples, offline, menor superfície.
- Quando FakeForge chega: presets, novo formato CNPJ, CI em múltiplas linguagens, seed de banco em volume alto.
Comparação lado a lado
| Recurso | FakeForge | python-brasilidades |
|---|---|---|
| CPF com mod-11 | ✅ | ✅ |
| CNPJ com mod-11 | ✅ | ✅ |
| CNPJ alfanumérico 2026 | ✅ | ❌ |
| Cartão com Luhn | ✅ | ❌ |
| Chave PIX BACEN (4 formatos) | ✅ | ❌ |
| RG por estado | ✅ | ✅ |
| CNH DENATRAN | ✅ | ✅ |
| Correlação nome ↔ email ↔ DDD | ✅ | ❌ |
| Presets bundle (customer, employee) | ✅ | ❌ |
| 17 bancos com DV | ✅ | ❌ |
| Offline (sem chamar API) | ❌ (chama api.fakeforge.com.br) | ✅ |
| SDK Python oficial | ✅ (pip install fakeforge-br) | ✅ (pip install brasilidades) |
| Zero deps runtime | ✅ | ✅ |
| Uso via API HTTP (polyglot) | ✅ | ❌ |
Código lado a lado
python-brasilidades
from brasilidades.documentos import cpf, cnpj
# Gera 1 CPF
c = cpf.gerar() # "123.456.789-09"
# Gera 1 CNPJ
n = cnpj.gerar() # "12.345.678/0001-90"
# Loop pra volume
cpfs = [cpf.gerar() for _ in range(1000)]FakeForge SDK
from fakeforge import FakeForge
ff = FakeForge()
# Gera 1000 CPFs em 1 chamada
cpfs = ff.cpf(1000)
# Gera 100 pessoas correlacionadas
customers = ff.preset("customer", 100)
# Cada customer tem CPF + email deriva
# do nome + DDD × UF coerente
# CNPJ alfanumérico 2026
cnpjs = ff.cnpj_alfa(50)Quando escolher cada
Use python-brasilidades se:
- Você quer geração 100% offline sem dependência de API externa
- Só precisa dos tipos básicos: CPF, CNPJ, CNH, RG
- Não precisa de correlação entre campos (email deriva do nome, DDD × UF)
- Prefere lib madura com anos de mercado
- Não usa outras linguagens no CI (só Python)
Use FakeForge se:
- Precisa de CNPJ alfanumérico 2026 (IN RFB 2.229) - único que cobre
- Quer presets correlacionados (customer com CPF + email + endereço + PIX)
- Precisa gerar chave PIX BACEN, cartão com Luhn, ou conta bancária com DV real
- Tem stack polyglot (Python + Node + Go) - API HTTP evita instalar dep em cada linguagem
- Precisa de volume alto (10.000+ items por chamada no plano Dev)
Use as duas se:
- Testes unitários offline com python-brasilidades + testes E2E com FakeForge preset customer
- Django app + microserviços em Node: python-brasilidades no Django + FakeForge no Node
Django seed side-by-side
Exemplo prático: popular tabela Customer com 1000 registros usando cada biblioteca.
python-brasilidades
from brasilidades.documentos import cpf
from faker import Faker
fake = Faker("pt_BR")
for _ in range(1000):
Customer.objects.create(
cpf=cpf.gerar(),
name=fake.name(),
email=fake.email(),
phone=fake.phone_number(),
# Note: campos NÃO correlacionados
# email não deriva do name
)FakeForge SDK
from fakeforge import FakeForge
ff = FakeForge(api_key="sua_key")
customers = ff.preset("customer", 1000)
Customer.objects.bulk_create([
Customer(
cpf=c["cpf"],
name=c["name"],
email=c["email"], # deriva do nome
phone=c["phone"], # DDD bate com UF
address=c["address"], # coerente
)
for c in customers
])A diferença é que FakeForge devolve dados coerentes entre si - útil pra teste de sistemas de antifraude, KYC, ou cross-check de dados. python-brasilidades entrega campos independentes válidos, o que basta pra maioria dos testes.