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-1.1.3.tar.gz (5.6 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-1.1.3-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file iagro_sdk-1.1.3.tar.gz.

File metadata

  • Download URL: iagro_sdk-1.1.3.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.3 Linux/6.17.0-29-generic

File hashes

Hashes for iagro_sdk-1.1.3.tar.gz
Algorithm Hash digest
SHA256 2c440661989737596c2779816ffc1eb736fa2a9f89a6c6ddfea0be2c154c03a7
MD5 28c7a03d4154c16523b9327d7a37752e
BLAKE2b-256 24443444617364fab5465674b07791f644eb54691c168594de17596188974a69

See more details on using hashes here.

File details

Details for the file iagro_sdk-1.1.3-py3-none-any.whl.

File metadata

  • Download URL: iagro_sdk-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.3 Linux/6.17.0-29-generic

File hashes

Hashes for iagro_sdk-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e18d1f9df32dbf86ef4e0cec007896f28fa1230a7ce119c921c095e7bf1d6490
MD5 90b1193398e8ceab352fee48ca77952a
BLAKE2b-256 43ff0405a455ae774ae7d1a036b8e5e4b57036cedab698cfef1643b24c8bf58d

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