Python · SDK · 27 capitais
Gerador de CEP em Python
SDK fakeforge-br gera CEP no formato dos Correios (5 dígitos + hífen + 3). Cobre todas as 27 capitais brasileiras.
pip install fakeforge-br
from fakeforge import FakeForge
ceps = FakeForge().cep(100)SDK oficial
from fakeforge import FakeForge
ff = FakeForge()
# 100 CEPs no formato oficial
ceps = ff.cep(100)
for c in ceps[:5]:
print(c) # "01310-100"
# Sem formatação (só dígitos)
ceps_puros = ff.cep(50, formatted=False)
# ["01310100", "22440000", ...]
# Endereço completo com CEP incluso
enderecos = ff.address(10)
for e in enderecos:
print(f"{e['cep']} — {e['cidade']}/{e['estado']}")Django — model com validator de CEP
# myapp/management/commands/seed_ceps.py
from django.core.management.base import BaseCommand
from fakeforge import FakeForge
from myapp.models import EnderecoEntrega
class Command(BaseCommand):
def handle(self, *args, **options):
ff = FakeForge()
enderecos = ff.address(1000)
EnderecoEntrega.objects.bulk_create([
EnderecoEntrega(
cep=e["cep"],
logradouro=e["logradouro"],
cidade=e["cidade"],
uf=e["estado"],
)
for e in enderecos
])pytest — validador CEP
# tests/test_cep_validator.py
import pytest
from fakeforge import FakeForge
from myapp.validators import validar_cep
@pytest.fixture(scope="session")
def ceps(ff):
return ff.cep(100)
class TestValidadorCep:
@pytest.mark.parametrize("indice", range(30))
def test_valida_cep_formatado(self, ceps, indice):
assert validar_cep(ceps[indice])
def test_rejeita_cep_invalido(self):
assert not validar_cep("00000-000")
assert not validar_cep("abc")
assert not validar_cep("1234")