Lacrei Models
Pacote centralizado para os modelos de domínio (models.py) do ecossistema Lacrei.
🎯 Objetivo
Centralizar todos os modelos do Django utilizados pelas aplicações Lacrei, permitindo:
- Modularidade: Desacoplar a camada de dados da lógica de aplicação.
- Reuso: Serviços diferentes podem consumir os mesmos modelos de forma consistente.
- Governança e Consistência: Ponto único de verdade para estrutura de dados.
É uma dependência interna, destinada a ser usada por aplicações como lacrei-api.
Configurações Iniciais
- Clone o Repositório, na mesmo local onde se encontra a lacrei-api e a lacrei-migrations:
git clone https://github.com/Lacrei/lacrei-models.git
cd lacrei-models
- Instale as Dependências:
make install
poetry add lacrei-models
⚙️ Uso
Para testar localmente as mudanças na models antes de pubicar no PyPI:
poetry add --editable C:/local onde se encontra o lacrei-models
Importe os modelos no código:
from lacrei_models.address.models import Address
from lacrei_models.client.models import User
from lacrei_models.appointments.models import Appointment
from lacrei_models.professional.models import Professional
from lacrei_models.notification.models import Notification
from lacrei_models.payment.models import Payment
from lacrei_models.sync.models import GoogleAccount
Comandos principais:
make test # Rodar testes
make format # Formatar código
make lint # Verificar estilo e erros
make quality # Rodar todas as verificações
� Pre-commit Hooks
O projeto utiliza pre-commit hooks para garantir qualidade do código automaticamente antes de cada commit.
Como funciona
- Execução automática: Os hooks rodam antes de cada commit
- Validação: Se algum check falhar, o commit é bloqueado
- Correção automática: Black e isort corrigem o código automaticamente
- Re-commit necessário: Após correções, adicione as mudanças e tente commitar novamente
Os hooks são instalados automaticamente ao executar make install.
Comandos Individuais
Você também pode executar as ferramentas de lint individualmente:
# Black - Formatar código automaticamente
poetry run black .
# isort - Ordenar e agrupar imports
poetry run isort .
# Flake8 - Verificar estilo e erros (sem alteração automática)
poetry run flake8 .
Bypass de Hooks (Uso Excepcional)
Em casos específicos, você pode pular os hooks:
git commit --no-verify -m "mensagem"
# ou
git commit -n -m "mensagem"
⚠️ Atenção: Use apenas em situações excepcionais. O bypass não é recomendado pois os checks do CI continuarão validando o código.
�🚀 Publicação no PyPI
Enviar atualizações para o github em uma nova branch e criar o PR
git push origin branch
1- Ir até o actions dentro do repositório lacrei-models 2- Clicar em publish package 3- e depois ir em run workflow e selecionar a sua branch 4- A versão to publish deve ser uma versão acima da atual. Verificar no PyPI a ultima versão para evitar conflitos.
Metadata
Release files for lacrei-models 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lacrei_models-1.0.1.tar.gz | 22.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lacrei_models-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.6 kB
Release files / lacrei_models-1.0.1.tar.gz
| Download URL | lacrei_models-1.0.1.tar.gz |
|---|---|
| Size | 22.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
abdc7f1a1a8b13bcec0e9127908d5980cde603d096dfd45415492611e5d69410
|
|
BLAKE2b-256 checksum How to use checksums |
c5b9f7d16835b6e698b23ec59339806bc47806f53caec205a7609fc3b0529896
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Release files / lacrei_models-1.0.1-py3-none-any.whl
| Download URL | lacrei_models-1.0.1-py3-none-any.whl |
|---|---|
| Size | 30.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1c595d2a5687b0c5cf58cbb3a3fc300e50db02ceeeffc89f286bc86ef4b340dd
|
|
BLAKE2b-256 checksum How to use checksums |
4ac6f8ef2c273bd2595a890b6b445d3aa2e40ead4b6cdc7d4abc25df4adad639
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|