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
- EXTENDING_CONTEXT.md - Guide complet d'extension du contexte