Skip to main content

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


Download files

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

Source Distribution

iagro_sdk-0.3.1a4.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

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

iagro_sdk-0.3.1a4-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file iagro_sdk-0.3.1a4.tar.gz.

File metadata

  • Download URL: iagro_sdk-0.3.1a4.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

Hashes for iagro_sdk-0.3.1a4.tar.gz
Algorithm Hash digest
SHA256 3931d04dccabd752ad508d1e76325bd5cdc586add2d5367f27337bba4709f107
MD5 eed9e59eddc79322ba6f064d96a414a0
BLAKE2b-256 bff953f3f6a4ef11c4e7e92b9968caf5ae2ca9284d7a608a7649a89b3d052acf

See more details on using hashes here.

File details

Details for the file iagro_sdk-0.3.1a4-py3-none-any.whl.

File metadata

  • Download URL: iagro_sdk-0.3.1a4-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

Hashes for iagro_sdk-0.3.1a4-py3-none-any.whl
Algorithm Hash digest
SHA256 9504a904fd703ecc2b63358e33a2f8f271afeb97a23b92c0d3108fc458eb0cde
MD5 827f8324f6b917f5490511a23541dcb0
BLAKE2b-256 267e78319cd2c75b5ca357d64d6e7e95a4e6db1646f17b4a4999e0beeb7ef2c4

See more details on using hashes here.

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