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.1.tar.gz (5.5 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.1-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for iagro_sdk-1.1.1.tar.gz
Algorithm Hash digest
SHA256 5c6f5f952f6e6e52a6f82d4ef4d31ddaa4fba1f21f67cec86451fd71e2e661d5
MD5 a21ef1d36be0ae06a03e4b506d13a480
BLAKE2b-256 2e3f8cb9327bd6c5f74068c892571319163433b382bcd9c03c34189a4a311b47

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for iagro_sdk-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 15048b72a259e4912971cad9c8e1d1fc268b3dac9577aebff1e7322d33bd0fb0
MD5 eb83c7c2fe231b5e1db5497eec9fd8dd
BLAKE2b-256 5ad93b41a5e9ab000137f86292d5f466435d27f25d119138b71c865aad108fba

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