Chargement de Modules Python

Exemples d'intégration de bibliothèques Python dans Catnip.

Principe

Catnip charge des modules Python via pragma("feature", "module") ou l'option CLI -f module. Les objets et fonctions du module deviennent accessibles directement dans le code Catnip.

pragma("feature", "numpy")
arr = numpy.array(list(1, 2, 3))
print(arr.mean())

Pas de wrapper, pas de FFI : l'interopérabilité est native.

Organisation

Dossier Domaine Exemples
files-formats/ Fichiers et formats de données pathlib, regex, yaml, json, xml, jmespath, parquet
data-analytics/ Analyse de données numpy, duckdb, sqlalchemy, polars
web/ HTTP et APIs httpx
images-media/ Images et multimédia pillow

Exemples de base

Les exemples minimalistes de chargement de modules sont dans docs/examples/module-loading/.

Modes de chargement

Namespace (défaut)

catnip -f numpy script.cat

Le module est accessible via son nom : numpy.array(...).

Injection directe

catnip -f numpy:! script.cat

Les fonctions sont injectées dans les globals : array(...) directement.

Fichier local

catnip -f ./mon_module.py:alias script.cat

Charge un fichier Python local avec un alias.

Documentation