mapfarm

iaos-sdk (0.1.0)

Published 2026-10-04 05:53:05 +00:00 by xavier

Installation

pip install --index-url https://git.it.iaos.cc/api/packages/mapfarm/pypi/simple/ --extra-index-url https://pypi.org/simple iaos-sdk

About this package

SDK Python des produits pour le noyau iaos — connecteurs et notifier (ADR-078 §11 P2.16).

iaos-sdk — SDK Python des produits pour le noyau iaos

ADR-078 §11 P2.16 (« SDK publiés sur la forge ») : une source au lieu de copies vendorées produit par produit. Version 0.1.0 :

Module Ce qu'il fait Remplace
iaos_sdk.connecteurs appels de connecteurs par le noyau (POST /api/connectors/<nom>/call : DataForSEO, Keepa, Google Trends, Arctic Shift), run courant transmis, erreurs claires (NoyauConnecteurError) graphs/common/core/iaos_gateway.py de harvest et fdm
iaos_sdk.notifier courriel et Slack d'exploitation par la capacité « notifier » (POST /api/iaos/v1/notifier), une seule fois (cle_idempotence), categorie transactionnel / diffusion graphs/common/core/iaos_notifier.py de harvest et fdm

Pas encore dans le SDK : le client corpus (les copies de harvest, fdm et de la factory divergent et dépendent de modules du produit — entities, node_events_client) ; le client de lecture de la factory (iaos_read_client.py) ; les clients de mapbox et d'iaos-apps. Ils rejoindront le SDK une fois leurs dépendances au produit rendues injectables.

Installation — référence directe, jamais par nom

Le registre PyPI de la forge publie le paquet (.gitea/workflows/publish-iaos-sdk.yml, déclenchement manuel). On l'installe par URL + empreinte, jamais par nom avec --extra-index-url (dependency confusion : un tiers pourrait publier iaos-sdk sur pypi.org) :

iaos-sdk @ https://git.it.iaos.cc/api/packages/mapfarm/pypi/files/iaos-sdk/0.1.0/iaos_sdk-0.1.0-py3-none-any.whl#sha256=<empreinte de la page simple/iaos-sdk/>

Monter de version = changer l'URL ET l'empreinte (outil : ~/.cache/iaos-outils/epingler_forge.py).

Adoption dans un produit sans toucher aux appelants

L'ancien module devient un ALIAS du module du SDK ; les imports existants et les monkeypatch des tests visent le même objet module :

# graphs/common/core/iaos_gateway.py — désormais fourni par iaos-sdk
import sys

import iaos_sdk.connecteurs as _sdk

sys.modules[__name__] = _sdk

Configuration (environnement)

IAOS_API_URL (défaut http://iaos-api:8000), IAOS_PROJECT_KEY (clé projet, X-Iaos-Key), IAOS_CONNECTOR_TENANT (défaut historique harvest), CONNECTEURS_VIA_NOYAU, IAOS_NOTIFIER_COMPANY (défaut hold), MESSAGES_VIA_NOYAU — voir l'en-tête de chaque module.

Développement

pip install -e ".[test]" ruff
ruff check src tests && ruff format --check src tests && pytest -q

Requirements

Requires Python: >=3.11
Details
PyPI
2026-10-04 05:53:05 +00:00
20
Holding MAPFARM
Proprietary
15 KiB
Assets (2)
Versions (4) View all
0.3.2 2026-10-14
0.3.0 2026-10-04
0.2.0 2026-10-04
0.1.0 2026-10-04