aws / aws/bedrock-agentcore-sdk-python

[FEATURE] Support offline custom dependencies for Code Interpreter sessions

Ouverte
#657 0 commentaires 4 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
Python
Étoiles
761
Forks
147
Merge moyen
1 j 23 h
PR mergées (30 j)
7

Description

**Is your feature request related to a problem? Please describe.**

AgentCore Code Interpreter provides a fixed set of pre-installed libraries. The
SDK's `install_packages()` helper runs a normal `pip install`, which requires
access to PyPI or another package index.

Code Interpreter sessions running in an isolated VPC without NAT cannot use
this mechanism. Enabling public internet access solely to install dependencies
increases cost and weakens the sandbox's network isolation.

Code Interpreter supports mounting S3 Files and EFS through
`filesystemConfigurations`, but there is no first-class way to declare an
offline dependency bundle or initialization step. Applications must currently:

1. Mount or upload a wheelhouse.
2. Execute `pip install --no-index` manually after every session starts.
3. Configure `sys.path` and `PYTHONPATH` separately for `executeCode` and
`executeCommand`.
4. Detect initialization failures themselves before allowing agent code to run.

This creates duplicated bootstrap logic and makes session readiness ambiguous.

**Describe the solution you'd like**

Add first-class support for application-defined, offline dependencies when
creating a Code Interpreter or starting a session.

One possible API shape would be:

```python
client.start(
identifier=interpreter_id,
filesystem_configurations=[dependency_mount],
dependency_configuration={
"python": {
"requirementsPath": "/mnt/dependencies/requirements.txt",
"wheelhousePath": "/mnt/dependencies/wheels",
"offline": True,
}
},
)

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par le chemin de création des sessions Code Interpreter et l’helper install_packages() du SDK, puis comparez la manière dont filesystemConfigurations est transmis aux sessions. Le travail est terminé lorsque les applications peuvent déclarer une configuration de dépendances hors ligne, que les sessions l’initialisent sans accès à des index de paquets publics et que les échecs d’initialisation sont signalés avant l’exécution du code de l’agent.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
backend
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.