Skip to main content

Modelos de domínio do projeto Lacrei.

Project description

Lacrei Models

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

Python Version Code style: black Linter: flake8 Built with: Poetry


🎯 Objetivo

Este repositório centraliza todos os modelos (models.py) do Django utilizados pelas aplicações do ecossistema Lacrei. A criação deste pacote visa atingir os seguintes objetivos:

  • Modularidade: Desacoplar a camada de dados da lógica de aplicação, facilitando a manutenção.
  • Reuso: Permitir que diferentes serviços consumam os mesmos modelos de forma consistente.
  • Governança: Ter um ponto único de verdade para a estrutura de dados, controlando alterações de forma centralizada.
  • Consistência: Garantir que a definição dos dados seja a mesma em todo o ecossistema.

Este pacote é uma dependência interna e privada, destinado a ser consumido por outras aplicações da Lacrei, como a lacrei-api.

⚙️ Instalação e Uso (Para Consumidores)

Para utilizar este pacote em outro projeto (como a lacrei-api), adicione-o como uma dependência usando Poetry.

1. Configuração do Repositório Privado: Lembre-se que seu Poetry precisa estar configurado para acessar nosso repositório de pacotes privado (ex: GitHub Packages).

2. Adicionando a Dependência:

poetry add lacrei-models

3. Exemplo de Uso no Código:

Após a instalação, você pode importar os modelos usando o caminho absoluto do pacote:

from lacrei_models.address.models import Address
from lacrei_models.lacreiid.models import User

🛠️ Ambiente de Desenvolvimento (Para Contribuidores)

Para trabalhar no desenvolvimento do lacrei-models, siga os passos abaixo. O projeto utiliza um Makefile para padronizar os comandos.

1. Clone o Repositório:

git clone git@github.com:Lacrei/lacrei-models.git
cd lacrei-models

2. Instale as Dependências: O comando make install cuidará de tudo: instalar o Poetry, as dependências do projeto e os hooks de pre-commit.

make install

3. Ative o Ambiente Virtual: Para rodar comandos diretamente, ative o shell do Poetry:

poetry shell

✅ Qualidade de Código e Testes

Utilizamos black para formatação, flake8 para linting e pre-commit para garantir a qualidade antes de cada commit. O Makefile fornece atalhos para todas as tarefas de qualidade.

Rodar os testes de importação:

make test

Formatar o código:

make format

Verificar erros e estilo:

make lint

Rodar todas as verificações em sequência (ideal antes de um PR):

make quality

🚀 Publicando uma Nova Versão

O processo de lançamento de uma nova versão deve ser feito a partir da branch main, após o merge de um Pull Request.

1. Atualize a Versão: Altere o número da versão no arquivo pyproject.toml (ex: de 0.1.0 para 0.1.1).

2. Faça o Commit da Mudança:

git add pyproject.toml
git commit -m "chore: bump version to 0.1.1"
git push

3. Crie a Tag Git: A tag deve corresponder à versão do pacote.

git tag v0.1.1
git push origin v0.1.1

4. Publique o Pacote: Use o comando do Makefile para construir e publicar no nosso repositório privado.

make publish

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lacrei_models-1.0.0.tar.gz (37.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lacrei_models-1.0.0-py3-none-any.whl (54.3 kB view details)

Uploaded Python 3

File details

Details for the file lacrei_models-1.0.0.tar.gz.

File metadata

  • Download URL: lacrei_models-1.0.0.tar.gz
  • Upload date:
  • Size: 37.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lacrei_models-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9e702d53366a9f121300581711478104e5f1019054c8c81b585e09995bdfef28
MD5 4e0d48441cb3f9b19881444bf7b13d19
BLAKE2b-256 b80bc7f310064d41196bb49a192fdc23f0fd65a5b2292db772beec04f927e242

See more details on using hashes here.

Provenance

The following attestation bundles were made for lacrei_models-1.0.0.tar.gz:

Publisher: publish.yml on Lacrei/lacrei-models

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lacrei_models-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: lacrei_models-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 54.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lacrei_models-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c1b46ab38bbf5ef70a4f680dbf5801fcd70a1f8f7e49f1e4178cef8ec2e60537
MD5 1128805d7dd45b2364b1777c2f27dc15
BLAKE2b-256 514201c3d477f98edfe2239d24f6f3d5b74d0fa26d7fe9c08d5618344668331c

See more details on using hashes here.

Provenance

The following attestation bundles were made for lacrei_models-1.0.0-py3-none-any.whl:

Publisher: publish.yml on Lacrei/lacrei-models

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page