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