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.2a7.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-0.3.2a7-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file iagro_sdk-0.3.2a7.tar.gz.

File metadata

  • Download URL: iagro_sdk-0.3.2a7.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-14-generic

File hashes

Hashes for iagro_sdk-0.3.2a7.tar.gz
Algorithm Hash digest
SHA256 7ac2828ba57ff7b231bcc9ffa1e26543312ef0705144ce6ed110939e2cce546b
MD5 f9c37ec3f0332aac84464efdb06011af
BLAKE2b-256 107840ad63dbda55ba87cd82cd049a474e1153069650d149f03c8a68672ff959

See more details on using hashes here.

File details

Details for the file iagro_sdk-0.3.2a7-py3-none-any.whl.

File metadata

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

File hashes

Hashes for iagro_sdk-0.3.2a7-py3-none-any.whl
Algorithm Hash digest
SHA256 ee2137e4515d54cb75f4bf13fe689661452af321bd44f3befde5f00938ab8b27
MD5 7e28ca5439669262ce8ac806256bd8d2
BLAKE2b-256 7ecf6b1d9355e5285e8b3fe62d9766be17002ba6d0807fa9f775b9ee016784b3

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