Modelos de domínio do projeto Lacrei.
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lacrei_models-3.4.3.tar.gz.
File metadata
- Download URL: lacrei_models-3.4.3.tar.gz
- Upload date:
- Size: 22.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fc32a6262a35b375503fe7433365fcdef267d83a509cdf35eb2259484a5771c
|
|
| MD5 |
d17913d5eb3f947c8de0b902d8e11461
|
|
| BLAKE2b-256 |
b43e9d62e125eba945605376dfca85c3a5589c7f1de322707d0e34f6bc76f634
|
File details
Details for the file lacrei_models-3.4.3-py3-none-any.whl.
File metadata
- Download URL: lacrei_models-3.4.3-py3-none-any.whl
- Upload date:
- Size: 30.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5a464c02a96ad70e824edd4a54080c9f0426f7aa2f33a6541f7e443c81822c7
|
|
| MD5 |
da7b6472f176f5d6489765728972595b
|
|
| BLAKE2b-256 |
e9e0a1b81c5f6d7ab14c539a492553c4eaa800fea41f13668861b64b5ad463f7
|