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.1a3.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.1a3-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: iagro_sdk-0.3.1a3.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.1a3.tar.gz
Algorithm Hash digest
SHA256 2c1cf0026ad9586a346ae5828574089c47873e7687877cddff398252ae2bb5df
MD5 27bbf328b2f9bb8359a2dae0f8620c76
BLAKE2b-256 fca75ab0243495da5e7d9055ee7a209ebfb4025d3f39eb1483f3bcfda991457e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: iagro_sdk-0.3.1a3-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.1a3-py3-none-any.whl
Algorithm Hash digest
SHA256 00c10af9e696ce6755c43493c26226d71d36f51a2f89f0f9fed85fbde67a7560
MD5 82d7e76e6ca8c29b45bb032a95dab805
BLAKE2b-256 b474f3dada1fd67a86530fa43f905f7d77a45836e35fc572b3e79eae2d5e16ec

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