Pacote de códigos que serão reutilizados nnos projetos da IAgro
Project description
IAgro SDK
O IAgro SDK é um pacote Python que fornece componentes reutilizáveis para projetos da IAgro, incluindo modelos base, repositórios, schemas e tratamento de exceções personalizadas.
Descrição
O IAgro SDK fornece componentes base comuns para aplicações Python da IAgro, incluindo:
- Modelos Base: Classes base para entidades de banco de dados com campos automáticos (ID, timestamps)
- Repository Pattern: Implementação genérica do padrão Repository com operações CRUD
- Schemas: Schemas base para serialização/deserialização usando Pydantic
- Tratamento de Exceções: Exceções personalizadas para diferentes cenários de erro
Instalação
Via PyPI
pip install iagro-sdk
Para desenvolvimento local
git clone <repositorio-url>
cd iagro-sdk
poetry install
Uso Rápido
from iagro_sdk.model import BaseModelMixin
from iagro_sdk.repository import BaseRepository
# Definir modelo
class User(BaseModelMixin, table=True):
name: str
email: str
# Definir repository
class Repository(BaseRepository[User]):
def __init__(self):
super().__init__(User)
# Usar repository
repository = Repository()
users = await repository.list(session)
Documentação
Para documentação completa da API, consulte: docs/api-reference.md
Dependências
- Python: >= 3.12
- SQLAlchemy: >= 2.0.43, < 3.0.0
- SQLModel: >= 0.0.24, < 0.0.25
- Pydantic: >= 2.11.9, < 3.0.0
Desenvolvimento
Configuração do ambiente
# Clonar repositório
git clone https://github.com/IAgro-Solutions/iagro-sdk.git
cd iagro-sdk
# Instalar dependências
poetry install
# Ativar ambiente virtual
poetry env activate
Scripts de Build e Publicação
O projeto utiliza um Makefile com comandos para facilitar o processo de versionamento e publicação.
Comandos de Versionamento
# Versão de pré-lançamento (ex: 0.2.1 -> 0.2.2-alpha.0)
make pre-release
# Versão patch (correções de bugs: 0.2.1 -> 0.2.2)
make release-patch
# Versão minor (novas funcionalidades compatíveis: 0.2.1 -> 0.3.0)
make release-minor
# Versão major (mudanças incompatíveis: 0.2.1 -> 1.0.0)
make release-major
Build do Pacote
# Construir o pacote (gera arquivos em dist/)
make build
Publicação no PyPI
Requisitos:
- Token de acesso
# Configurar token PyPI como variável de ambiente
export PYPI_TOKEN="seu-token-aqui"
# Publicar (executa build automaticamente)
make publish
Ou
make publish PYPI_TOKEN="seu-token-aqui"
Versionamento Semântico
O projeto segue o padrão SemVer:
- PATCH (x.x.X): Correções de bugs compatíveis
- MINOR (x.X.x): Novas funcionalidades compatíveis
- MAJOR (X.x.x): Mudanças incompatíveis na API
Estrutura do Projeto
iagro-sdk/
├── iagro_sdk/
│ ├── __init__.py
│ ├── exceptions.py # Exceções personalizadas
│ ├── model.py # Modelo base com campos automáticos
│ ├── repository.py # Repository pattern genérico
│ └── schemas.py # Schemas base para serialização
├── docs/
│ └── api-reference.md # Documentação da API
├── pyproject.toml # Configuração do projeto
├── Makefile # Scripts de build e publicação
└── README.md
Licença
Este projeto é propriedade da IAgro.
Autor
Armando Luz - armandoari.288@gmail.com
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 iagro_sdk-0.3.1.tar.gz.
File metadata
- Download URL: iagro_sdk-0.3.1.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.1 CPython/3.12.3 Linux/6.14.0-29-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52e71ac8be76db584d2f46b504828ce0e940a5dbf2a1145b402b9c2918fe47ea
|
|
| MD5 |
00636df067c67f3fd816c5e228ab61a8
|
|
| BLAKE2b-256 |
e518891d03312ff29d84b77a4708bad12ad0ac2c8c8a40d276ccc36f050d9775
|
File details
Details for the file iagro_sdk-0.3.1-py3-none-any.whl.
File metadata
- Download URL: iagro_sdk-0.3.1-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.1 CPython/3.12.3 Linux/6.14.0-29-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4794283507076e33dcc8b77037689c24c7b21f1223fdaf65c1b78e960e449374
|
|
| MD5 |
5e72cfc0eaa444209a30cbee2e26a89f
|
|
| BLAKE2b-256 |
70fb40c9fba6d98dd314ec25eb6920ba1a79267e734d18a82dd87e8c581cc6db
|