Pitch: PIX-Utils, minha primeira biblioteca para Python
Oi, olá. tudo bom?
A 2 anos atrás, durante a pandemia, eu começei a aprender a minha primeira linguagem de programação, que era o Python. Até hoje uso muito o Python para fazer os meus projetos pessoais e como forma de trabalho. Só que até então, todos os meus códigos eram privados (e boa parte ainda é), pois tinha e ainda tenho um pouco de medo de mostrar os meus códigos, pois a maioria eu tenho sincera vergonha. Mas pelo menos, de 2 anos para cá, eu acho que melhorei muito a minha forma de programar.
Eu gosto muito do mundo e da comunidade Open Source, até porque, aprendi muito olhando os códigos e contribuições das pessoas que também amam Open Source. E por algum motivo, essa semana eu me senti muito motivado a também contrinuir nesta comunidade e abrir e melhorar mais os meus códigos. Uma das ideias que tive era de lançar a minha primeira biblioteca, que é uma série de recursos para validação e geração de códigos e chaves PIX.
Eu fiz a publicação da biblioteca no Pypi, que você pode instalar com o comando:
pip install pix-utils
Você também pode ver e contribuir com o repositório público, aqui.
Recursos
Resolvi adicionar na biblioteca, os principais recursos que pelo menos eu uso nos meus projetos e que eu acho que seriam úteis, como:
Validação de chaves PIX.
Valida o tipo de chave chamando o método validate
.
from pix_utils import CPF, CNPJ, Email, Phone, Random
print(Phone().validate('11991234567')) # True
print(Email().validate('example@example.com')) # True
print(CPF().validate('12345678901')) # False
print(CNPJ().validate('06.990.590/0001-23')) # True
print(Random().validate('12345678-1234-1234-1234-123456789012')) # True
Formatação de chaves PIX para CPF, CNPJ e telefone.
Máscara chaves PIX de CPF, CNPJ e telefone chamando o método mask
.
from pix_utils import CPF, CNPJ, Phone
print(CPF().mask('11438374798')) # 114.383.747-98
print(Phone().mask('11991234567')) # (11) 99123-4567
print(CNPJ().mask('06990590000123')) # 06.990.590/0001-23
Geração de códigos para pagamento PIX estático.
Gera códigos de pagamento estáticos de PIX copia-e-cola.
from pix_utils import Code
KEY = '11438374798' # Chave PIX.
NAME = 'John Doe' # Nome do dono do PIX.
CITY = 'Sao Paulo' # Cidade do dono do PIX. Lembre-se de não usar acentos.
VALUE = 10.00 # Valor da transação.
INDENTIFY = '12345678' # Indentificador da transação (opcional).
print(Code(key=KEY, name=NAME, city=CITY, value=VALUE, identifier=INDENTIFY))
# 00020126330014BR.GOV.BCB.PIX011111438374798520400005303986540510.005802BR5908John Doe6009Sao Paulo621205081234567863046A00
Indentificar e formatar chave PIX
Automáticamente Indentifica o tipo de chave PIX e a formata.
from pix_utils import Type
print(Type('11438374798')) # (CPF, '114.383.749-98')
print(Type('11991234567')) # (Phone, '(11) 99123-4567')
print(Type('06990590000123')) # (CNPJ, '06.990.590/0001-23')
print(Type('12345678-1234-1234-1234-123456789012')) # (Random, '12345678-1234-1234-1234-123456789012')
print(Type('example@example.com')) # (Email, example@example.com')
Caso você tenha uma ideia para o repositório, você também pode deixar nos comentários, caso queira.
Pretendo trazer mais coisas que fiz que quero deixar Open Source, se tudo der certo :)
Também concordo com o pessoal sobre ir deixando os projetos públicos e ir lapidando eles com o retorno da comunidade! Ainda mais agora que tem um lugar com pessoas boas como o TabNews para você expor esses repositórios 🤝
Em paralelo, a função Type
ficou sensacional! Que delícia de abstração!
Muito legal o projeto, estava procurando exatamente isso pra desenvolver um projeto pessoal meu, valeu por compartilhar!
E lengo
, deixa seus projetos públicos sim, mesmo que incompletos ou feitos correndo, minha experiência 100% das vezes até hoje com esses projetos foi que ou ficaram lá só por arquivo, ou que alguém precisando de algo parecido encontrou e adaptou pro uso próprio, ou me ajudou a melhorar o original.
Cara, muito bacana o seu toolkit. Eu acredito que vai ajudar muito a comunidade. Continue o seus estudos em programação e você vai muito longe. Sim, disponibilize seus códigos. Eu sei que vc pode ter vergonha mas na comunidade OpenSource ninguém vai fazer você se sentir mal. Todos nos ajudamos e vc vai ganhar muito aprendizado com isso.