Subimission / submission /tools /interfaces /interface_code_excutor.py
TPey
Add application file
b156b8a
Raw
History Blame Contribute Delete
1.25 kB
from abc import ABC, abstractmethod
class CodeExecutorInterface(ABC):
"""
Interface pour l'exécution de code avec un fichier externe (local ou distant).
Cette interface définit un contrat pour exécuter du code dans un langage donné,
en lui fournissant un fichier d'entrée via :
- file_path=<chemin_local>
- file_name=<nom_distant> (téléchargé depuis un service comme HuggingFace)
La classe implémentant cette interface doit :
- Extraire le code et le nom/chemin du fichier
- Résoudre le fichier localement (ou le télécharger)
- Injecter le chemin dans l'environnement d'exécution (variable 'file_path')
- Retourner la sortie du code exécuté
"""
@abstractmethod
def run_code_with_file(self, code_and_file: str) -> str:
"""
Exécute du code avec un fichier fourni soit localement soit à télécharger.
L'entrée doit contenir :
- du code (par exemple en Python)
- et une ligne : file_path=<chemin> OU file_name=<nom_distant>
Args:
code_and_file (str): Le code source + l'indication du fichier
Returns:
str: La sortie du code exécuté, ou un message d'erreur
"""
pass