Exécution de code

De nombreuses tâches d'agent, telles que les calculs financiers et les workflows de data science, nécessitent qu'un agent génère et exécute du code. L'exécution de code permet à votre agent d'exécuter du code dans un environnement de bac à sable sécurisé, isolé et géré.

Voici quelques fonctionnalités de l'exécution de code :

  • Les bacs à sable peuvent être créés et exécuter du code en moins d'une seconde.

  • Les bacs à sable sont compatibles avec les entrées et sorties de fichiers jusqu'à 100 Mo pour l'ensemble de la requête ou de la réponse.

  • Les bacs à sable conservent leur état d'exécution (mémoire) pendant 14 jours maximum. Ce paramètre valeur TTL (Time To Live) est configurable.

Vous n'avez pas besoin de déployer votre agent sur Agent Platform pour utiliser l'exécution de code. Votre agent peut s'exécuter n'importe où, même en local.

L'exécution de code fonctionne avec n'importe quel framework d'agent et n'importe quel modèle génératif.

Voici les principales opérations permettant d'utiliser un bac à sable d'exécution de code :

  • Créer un bac à sable : crée un espace sécurisé et isolé pour exécuter du code non approuvé ou potentiellement dangereux. Cette isolation réduit les risques de sécurité en empêchant le code de toucher les ressources, les fichiers ou le réseau de votre système. Un bac à sable est essentiel lorsque vous devez exécuter du code en toute sécurité, par exemple pour des agents de data science, des scripts d'orchestration ou lors de tests de développement. Le bac à sable offre un système de fichiers limité et aucun accès réseau.

  • Obtenir un bac à sable : affiche la configuration et l'état d'un bac à sable d'exécution de code spécifique. Vous pouvez vérifier des détails tels que son état actuel (par exemple, en cours d'exécution ou arrêté) et sa valeur TTL (Time To Live). Cela vous permet de suivre vos bacs à sable et de vérifier leur état avant ou après l'exécution du code.

  • Répertorier les bacs à sable : répertorie tous les bacs à sable d'exécution de code de votre projet. Vous pouvez filtrer les résultats selon des critères tels que l'état ou le type de bac à sable. Cela vous permet de vérifier, de surveiller et de gérer de nombreux bacs à sable dans votre projet.

  • Exécuter du code : envoie votre code ainsi que tous les fichiers d'entrée requis au bac à sable pour une exécution sécurisée. La réponse inclut les résultats, tels que la sortie standard (stdout), l'erreur standard (stderr) et tous les fichiers générés par le code. Le bac à sable peut également conserver un état, ce qui permet aux appels ultérieurs Execute Code de s’appuyer sur les appels précédents. Cela est essentiel pour les sessions interactives ou les tâches complexes qui nécessitent que l'environnement conserve l'état sur plusieurs exécutions de code.

Bibliothèques compatibles

Le bac à sable d'exécution de code inclut les bibliothèques suivantes, classées par cas d'utilisation. Vous ne pouvez pas installer vos propres bibliothèques dans l'environnement de bac à sable.

Data science et machine learning

Cette section inclut les bibliothèques essentielles pour l'analyse de données, la manipulation, le machine learning et le calcul numérique.

Gestion des données de base et valeurs numériques

  • numpy (2.1.3) : package fondamental pour le calcul numérique en Python, qui fournit une compatibilité avec les grands tableaux et matrices multidimensionnels, ainsi qu'une vaste collection de fonctions mathématiques de haut niveau pour opérer sur ces tableaux.
  • pandas (2.2.3) : bibliothèque puissante d'analyse et de manipulation de données, qui propose des structures de données telles que DataFrame et Series pour gérer les données structurées.
  • scipy (1.15.2) : écosystème de logiciels Open Source pour les mathématiques, les sciences et l'ingénierie. Il s'appuie sur NumPy et fournit un grand nombre de routines numériques conviviales et efficaces.
  • pyarrow (18.1.0) : plate-forme de développement multilangue pour les données en mémoire. Elle est particulièrement utile pour une gestion efficace des données et l'interopérabilité entre les systèmes.
  • numexpr (2.14.1) : évaluateur d'expressions numériques rapide pour NumPy, qui optimise les opérations de tableau.
  • narwhals (2.19.0) : permet d'écrire du code qui fonctionne sur plusieurs bibliothèques DataFrame (telles que pandas et Polars).

Frameworks de machine learning

  • scikit-learn (1.6.1) : outils simples et efficaces pour l'exploration et l'analyse de données, basés sur NumPy, SciPy et matplotlib.
  • tensorflow (2.20.0) : plate-forme Open Source de bout en bout pour le machine learning.
  • keras (3.14.0) : API de réseaux de neurones de haut niveau, écrite en Python et capable de s'exécuter sur TensorFlow, CNTK ou Theano.
  • xgboost (3.2.0) : bibliothèque d'optimisation de gradient distribuée optimisée pour être hautement efficace, flexible et portable.
  • thinc (8.3.13) : bibliothèque de deep learning légère qui propose une API de programmation fonctionnelle élégante, vérifiée par type, pour composer des modèles.

Traitement du langage naturel (TLN)

  • nltk (3.9.1) : plate-forme de pointe pour la création de programmes Python permettant d'utiliser des données de langage humain.
  • spacy (3.8.14) : bibliothèque pour le traitement avancé du langage naturel en Python et Cython.
  • spacy-legacy (3.0.12) : composants hérités pour spaCy.
  • spacy-loggers (1.0.5) : utilitaires de journalisation pour les projets spaCy.
  • textblob (0.19.0) : bibliothèque de traitement de texte simplifiée, qui fournit une API simple pour les tâches courantes de TLN.
  • catalogue (2.0.10) : petite bibliothèque pour les registres de fonctions, souvent utilisée dans les pipelines de TLN.
  • confection (1.3.3) : système de configuration, souvent utilisé avec spaCy.
  • cymem (2.0.13) : gestion de la mémoire pour Cython, utilisée par spaCy.
  • murmurhash (1.0.15) : liaisons Cython pour MurmurHash, utilisées par spaCy.
  • preshed (3.0.13) : tables de hachage et filtres de Bloom Cython, utilisés par spaCy.
  • srsly (2.5.3) : utilitaires de sérialisation modernes hautes performances pour Python.
  • wasabi (1.1.3) : utilitaires légers d'impression et de mise en forme de la console.
  • weasel (1.0.0) : interface de ligne de commande pour les projets spaCy.

Calcul scientifique et symbolique

  • mpmath (1.3.0) : bibliothèque Python pour l'arithmétique à virgule flottante réelle et complexe avec une précision arbitraire.
  • sympy (1.13.3) : bibliothèque Python pour les mathématiques symboliques.
  • networkx (3.6.1) : package pour la création, la manipulation et l'étude de la structure, de la dynamique et des fonctions des réseaux complexes.

Performances et optimisation

  • numba (0.64.0) : compilateur juste-à-temps pour Python qui traduit un sous-ensemble de code Python et NumPy en code machine rapide.
  • llvmlite (0.46.0) : liaisons Python LLVM légères à utiliser avec Numba.
  • blis (1.3.3) : bibliothèque d'algèbre linéaire de type BLAS, souvent une dépendance pour les packages numériques.
  • opt_einsum (3.4.0) : optimisation des expressions einsum dans NumPy, TensorFlow et d'autres bibliothèques de tableaux.
  • optree (0.19.0) : manipulation optimisée de PyTree dans JAX.
  • nvidia-nccl-cu12 (2.29.7) : bibliothèque de communication collective NVIDIA pour la communication multi-GPU.

Modélisation statistique

  • statsmodels (0.14.6) : fournit des classes et des fonctions pour l'estimation de nombreux modèles statistiques différents, ainsi que pour la réalisation de tests statistiques et l'exploration de données statistiques.
  • patsy (1.0.2) : bibliothèque Python pour la description de modèles statistiques et la création de matrices de conception.

Recherche opérationnelle

  • ortools (9.14.6206) : Google Optimization Tools, une suite d'outils d'optimisation combinatoire.

Visualisation

Bibliothèques permettant de créer des visualisations statiques, animées et interactives.

  • matplotlib (3.10.1) : bibliothèque complète permettant de créer des visualisations statiques, animées et interactives en Python.
  • matplotlib-inline (0.2.1) : backend permettant d'intégrer des tracés matplotlib dans des notebooks Jupyter.
  • matplotlib-venn (1.1.2) : bibliothèque permettant de tracer des diagrammes de Venn.
  • seaborn (0.13.2) : bibliothèque de visualisation de données statistiques basée sur matplotlib. Elle fournit une interface de haut niveau pour dessiner des graphiques statistiques attrayants et informatifs.
  • plotly (6.1.2) : bibliothèque de graphiques interactifs qui facilite la création de graphiques de qualité professionnelle en ligne et hors connexion.
  • bokeh (3.8.2) : bibliothèque de visualisation interactive ciblant les navigateurs Web modernes pour la présentation.
  • mizani (0.13.5) : échelles pour les graphiques Python, inspirées de ggplot2.
  • contourpy (1.3.1) : fournit des algorithmes de génération de courbes de niveau.
  • cycler (0.12.1) : cycles de style composables pour matplotlib.
  • fonttools (4.62.1) : bibliothèque permettant de manipuler des polices.
  • kiwisolver (1.5.0) : implémentation C++ efficace de l'algorithme de résolution de contraintes Cassowary.

Traitement d'images et de vidéos

Bibliothèques permettant d'utiliser des données d'image et vidéo.

  • opencv-python (4.11.0.86) : liaisons Python pour OpenCV, une bibliothèque de fonctions de programmation principalement destinée à la vision par ordinateur en temps réel.
  • pillow (11.1.0) : fork convivial de la bibliothèque de traitement d'images Python (PIL), qui ajoute la compatibilité avec l'ouverture, la manipulation et l'enregistrement de nombreux formats de fichiers image différents.
  • imageio (2.37.0) : bibliothèque permettant de lire et d'écrire un large éventail de données d'image, y compris des images animées, des vidéos et des données volumétriques.
  • scikit-image (0.25.2) : collection d'algorithmes pour le traitement d'images.
  • tifffile (2026.4.11) : permet de lire et d'écrire des fichiers TIFF.

Gestion des fichiers et E/S

Bibliothèques permettant de lire, d'écrire et de manipuler différents formats de fichiers.

Excel

  • openpyxl (3.1.5) : bibliothèque permettant de lire/écrire des fichiers Excel 2010 xlsx/xlsm/xltx/xltm.
  • xlrd (2.0.1) : bibliothèque permettant aux développeurs d'extraire des données à partir de fichiers de feuilles de calcul Microsoft Excel (tm).
  • XlsxWriter (3.2.0) : module permettant de créer des fichiers Excel au format XSLX.

PDF

  • PyPDF2 (3.0.1) : bibliothèque PDF purement Python capable de diviser, de fusionner, de rogner et de transformer les pages de fichiers PDF.
  • fpdf (1.7.2) : bibliothèque simple pour la génération de PDF.
  • reportlab (4.3.1) : bibliothèque puissante permettant de créer des PDF.
  • PyLaTeX (1.4.2) : bibliothèque permettant de créer et de compiler des fichiers LaTeX.

Word

  • python-docx (1.1.2) : bibliothèque permettant de créer et de mettre à jour des fichiers Microsoft Word (.docx).

PowerPoint

  • python-pptx (1.0.2) : bibliothèque permettant de créer et de mettre à jour des fichiers PowerPoint (.pptx).

XML/HTML

  • lxml (5.3.1) : bibliothèque riche en fonctionnalités et facile à utiliser pour le traitement de XML et HTML.
  • et_xmlfile (2.0.0) : bibliothèque à faible mémoire permettant de créer des fichiers XML volumineux.

Markdown

  • Markdown (3.10.2) : implémentation Python de Markdown de John Gruber.
  • markdown-it-py (4.0.0) : analyseur Markdown, bien fait. Compatibilité 100% CommonMark.
  • mdurl (0.1.2) : utilitaires d'URL pour Markdown.

YAML

  • PyYAML (6.0.3) : analyseur et émetteur YAML pour Python.

RTF

  • striprtf (0.0.28) : bibliothèque permettant d'extraire du texte brut à partir de documents RTF.

E/S de fichiers générales

  • h5py (3.16.0) : interface Python pour le format de données binaires HDF5.
  • smart_open (7.6.0) : utilitaires pour la diffusion de fichiers volumineux (S3, HDFS, GCS, etc.).
  • cloudpathlib (0.23.0) : classes de style Pathlib pour le stockage cloud.

Web et mise en réseau

Bibliothèques pour les requêtes Web, le développement de serveurs et la communication réseau.

  • requests (2.33.1) : bibliothèque HTTP élégante et simple pour Python, conçue pour les humains.
  • httpx (0.28.1) : client HTTP complet pour Python, compatible avec HTTP/1.1 et HTTP/2, et avec des fonctionnalités asynchrones.
  • httpcore (1.0.9) : client HTTP de bas niveau, qui constitue le cœur de HTTPX.
  • urllib3 (2.6.3) : client HTTP puissant et convivial pour Python.
  • grpcio (1.80.0) : bibliothèque Python gRPC (appel de procédure à distance Google).
  • h11 (0.16.0) : implémentation HTTP/1.1 purement Python, apportez votre propre E/S.
  • idna (3.11) : compatibilité avec les noms de domaine internationalisés dans les applications (IDNA) 2008.
  • certifi (2026.2.25) : fournit la collection de certificats racine de Mozilla, soigneusement organisée, pour valider la fiabilité des certificats SSL.
  • tornado (6.5.5) : framework Web et bibliothèque de mise en réseau asynchrone.
  • Werkzeug (3.1.8) : bibliothèque complète d'applications Web WSGI.
  • Jinja2 (3.1.6) : langage de modèle moderne et convivial pour les concepteurs pour Python.
  • MarkupSafe (3.0.3) : permet d'ajouter en toute sécurité des chaînes non approuvées au balisage HTML/XML.

Outils et utilitaires de développement

Utilitaires généraux, outils de création d'applications et aides au développement.

Packaging et distribution

  • pip (24.2) : programme d'installation de packages pour Python.
  • setuptools (82.0.1) : bibliothèque permettant de packager des projets Python.
  • wheel (0.46.3) : format de package intégré pour Python.
  • packaging (24.0) : utilitaires de base pour les packages Python.

Interfaces de ligne de commande (CLI)

  • click (8.3.2) : kit d'outils composables pour la création d'interfaces de ligne de commande.
  • typer (0.24.1) : bibliothèque permettant de créer des applications CLI avec des indications de type.
  • rich (15.0.0) : bibliothèque permettant de mettre en forme du texte enrichi dans le terminal.
  • termcolor (3.3.0) : mise en forme des couleurs ANSII pour la sortie dans le terminal.
  • tqdm (4.67.3) : barre de progression rapide et extensible pour Python et la CLI.
  • shellingham (1.5.4) : outil permettant de détecter le shell d'un utilisateur.

Validation des données et schémas

  • pydantic (2.13.1) : validation des données et gestion des paramètres à l'aide d'annotations de type Python.
  • pydantic_core (2.46.1) : logique de validation de base pour Pydantic.
  • annotated-types (0.7.0) : types de contraintes réutilisables pour les arguments de fonction, les variables et les champs de classe de données.
  • jsonschema (4.23.0) : implémentation de JSON Schema pour Python.
  • jsonschema-specifications (2024.10.1) : méta-schémas et vocabulaires JSON Schema.
  • referencing (0.37.0) : résolution de référence JSON.

Sérialisation

  • protobuf (6.31.1) : Protocol Buffers de Google.
  • flatbuffers (25.12.19) : bibliothèque de sérialisation multiplate-forme efficace.

Simultanéité et parallélisme

  • anyio (4.13.0) : couche de compatibilité asynchrone qui vous permet d'écrire du code asynchrone fonctionnant sur différentes boucles d'événements asynchrones.
  • joblib (1.4.2) : pipeline léger : outils permettant d'exécuter des fonctions Python en tant que pipeline.
  • threadpoolctl (3.6.0) : interface Python permettant de contrôler le nombre de threads utilisés dans les pools de threads des bibliothèques courantes.

Analyse

  • pyparsing (3.2.1) : approche alternative pour créer et exécuter des grammaires simples, par rapport à l'approche lex/yacc standard.
  • astunparse (1.6.3) : désanalyseur pour les arbres de syntaxe abstraite Python.

Interface de fonction étrangère (FFI) et de bas niveau

  • libclang (18.1.1) : liaisons Python Clang.

Date et heure

  • python-dateutil (2.9.0.post0) : extensions du module datetime standard.
  • pytz (2025.2) : définitions de fuseaux horaires du monde, modernes et historiques.
  • tzdata (2025.3) : données de fuseaux horaires.

Utilitaires généraux

  • attrs (25.3.0) : classes sans code récurrent.
  • toolz (1.0.0) : bibliothèque standard fonctionnelle pour Python.
  • six (1.17.0) : utilitaires de compatibilité Python 2 et 3.
  • wrapt (2.1.2) : module pour les décorateurs, les wrappers et le monkey patching.
  • immutabledict (4.3.1) : dictionnaire immuable.
  • ordered-set (4.1.0) : structure de données mutable qui est un hybride d'une liste et d'un ensemble.
  • lazy-loader (0.5) : importe des modules Python de manière différée.
  • google-pasta (0.2.0) : bibliothèque permettant de refactoriser du code Python.
  • traitlets (5.14.3) : système de configuration pour les applications Python.
  • regex (2026.4.4) : module d'expression régulière alternatif, pour remplacer le module re de Python.
  • chardet (7.4.3) : détecteur d'encodage de caractères universel.
  • charset-normalizer (3.4.7) : le premier détecteur de jeu de caractères universel.
  • typing_extensions (4.15.0) : indications de type rétroportées et expérimentales pour Python 3.7 et versions ultérieures.
  • typing-inspection (0.4.2) : inspection au moment de l'exécution des types dans Python.
  • Pygments (2.20.0) : surligneur de syntaxe Python.
  • ml_dtypes (0.5.4) : dtypes pour le machine learning.
  • rpds-py (0.30.0) : structures de données persistantes Rust pour Python.
  • annotated-doc (0.0.4) : bibliothèque pour l'annotation de documents.
  • namex (0.1.0) : bibliothèque d'utilitaires.

Débogage et profilage

  • tensorboard (2.20.0) : kit de visualisation de TensorFlow.
  • tensorboard-data-server (0.7.2) : serveur de données pour TensorBoard.

Géomatique

Bibliothèques spécialement conçues pour la gestion des données géospatiales.

  • geopandas (1.0.1) : étend les types de données utilisés par pandas pour autoriser les opérations spatiales sur les types géométriques.
  • pyogrio (0.12.1) : E/S vectorisées pour les formats de fichiers vectoriels géospatiaux.
  • pyproj (3.7.2) : interface Python pour PROJ (bibliothèque de projections cartographiques et de transformations de coordonnées).
  • shapely (2.1.2) : package permettant de manipuler et d'analyser des objets géométriques plans.
  • xyzservices (2026.3.0) : source de fournisseurs de tuiles XYZ.

Autres

  • chess (1.11.2) : bibliothèque d'échecs purement Python avec génération et validation de mouvements, analyse et écriture PGN, et plus encore.
  • gast (0.7.0) : convertisseur AST vers AST générique.

Étape suivante