Skip to main content

Lacrei Models

Pacote centralizado para os modelos de domínio (models.py) do ecossistema Lacrei.

Python Version


🎯 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

  1. 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
  1. 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)

Source distribution for lacrei-models 1.0.1
File Size Uploaded
lacrei_models-1.0.1.tar.gz 22.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lacrei-models 1.0.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

3.4.11

2 release files

3.4.9

2 release files

3.4.8

2 release files

3.4.7

2 release files

3.4.6

2 release files

3.4.5

2 release files

3.4.4

2 release files

3.4.3

2 release files

3.4.2

2 release files

3.4.1

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.9.0

2 release files

2.8.0

2 release files

2.7.0

2 release files

2.6.0

2 release files

2.5.0

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page