Codex Python
Exemples d'intégration de bibliothèques Python dans Catnip. Python dans Catnip, sans friction.
Principe
Catnip charge des modules Python via import("module") ou l'option CLI -m module. Les objets et fonctions du module
deviennent accessibles directement dans le code Catnip.
numpy = import("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, selectolax |
| images-media/ | Images et multimédia | pillow |
| geospatial/ | Géospatial | haversine, rasterio, sentinel-2 (STAC) |
| geometry/ | Géométrie | enveloppe convexe (Graham, Quickhull) |
Exemples de base
Les exemples minimalistes de chargement de modules sont dans
/examples/module-loading/.
Modes de chargement
Namespace (défaut)
catnip -m numpy script.cat
Le module est accessible via son nom : numpy.array(...).
Alias dans le code
np = import("numpy")
arr = np.array(list(1, 2, 3))
Pour un alias, utiliser import() dans le code Catnip.
Fichier local
catnip -m ./mon_module.py script.cat
Charge un fichier Python local.
Documentation
- EXTENDING_CONTEXT - Guide complet d'extension du contexte