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
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
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-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e702d53366a9f121300581711478104e5f1019054c8c81b585e09995bdfef28
|
|
| MD5 |
4e0d48441cb3f9b19881444bf7b13d19
|
|
| BLAKE2b-256 |
b80bc7f310064d41196bb49a192fdc23f0fd65a5b2292db772beec04f927e242
|
Provenance
The following attestation bundles were made for lacrei_models-1.0.0.tar.gz:
Publisher:
publish.yml on Lacrei/lacrei-models
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lacrei_models-1.0.0.tar.gz -
Subject digest:
9e702d53366a9f121300581711478104e5f1019054c8c81b585e09995bdfef28 - Sigstore transparency entry: 545568954
- Sigstore integration time:
-
Permalink:
Lacrei/lacrei-models@ca8058b053933e8466bba8cf0ca9bdc6f5413943 -
Branch / Tag:
refs/heads/develop - Owner: https://github.com/Lacrei
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
self-hosted -
Publication workflow:
publish.yml@ca8058b053933e8466bba8cf0ca9bdc6f5413943 -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1b46ab38bbf5ef70a4f680dbf5801fcd70a1f8f7e49f1e4178cef8ec2e60537
|
|
| MD5 |
1128805d7dd45b2364b1777c2f27dc15
|
|
| BLAKE2b-256 |
514201c3d477f98edfe2239d24f6f3d5b74d0fa26d7fe9c08d5618344668331c
|
Provenance
The following attestation bundles were made for lacrei_models-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on Lacrei/lacrei-models
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lacrei_models-1.0.0-py3-none-any.whl -
Subject digest:
c1b46ab38bbf5ef70a4f680dbf5801fcd70a1f8f7e49f1e4178cef8ec2e60537 - Sigstore transparency entry: 545568978
- Sigstore integration time:
-
Permalink:
Lacrei/lacrei-models@ca8058b053933e8466bba8cf0ca9bdc6f5413943 -
Branch / Tag:
refs/heads/develop - Owner: https://github.com/Lacrei
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
self-hosted -
Publication workflow:
publish.yml@ca8058b053933e8466bba8cf0ca9bdc6f5413943 -
Trigger Event:
workflow_dispatch
-
Statement type: