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 3.4.11

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 3.4.11
File Size Uploaded
lacrei_models-3.4.11.tar.gz 22.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lacrei-models 3.4.11
File Interpreter ABI Platform
lacrei_models-3.4.11-py3-none-any.whl Python 3 none any Details

Total release size: 54.0 kB

Release files / lacrei_models-3.4.11.tar.gz

Download URL lacrei_models-3.4.11.tar.gz
Size 22.9 kB
Tags Source
SHA-256 checksum
How to use checksums
ca6b9a6ed01cfce714d873672585259a7a8b51f92408771e108dc485e001101b
BLAKE2b-256 checksum
How to use checksums
2ffaad3d704b9be6b9437a30dbbfa497eaf252ce58c8f7a89e2a2f2702c64ceb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / lacrei_models-3.4.11-py3-none-any.whl

Download URL lacrei_models-3.4.11-py3-none-any.whl
Size 31.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
559a1ba47f6978d06494911e42400b379703bbc3b6835ef61f633b43097de949
BLAKE2b-256 checksum
How to use checksums
6c2fb23396c9a4ca43a75241e954d61fc099c746686f837ef676fe26bb4476fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

3.4.11 This release

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

1.0.1

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