Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Remove module-scope langchain imports so the package imports without the langgraph extra

Aperta
#428 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
52/100
Tipo di issue
Refactoring
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
python

Direzione di ricerca

Inizia da src/orchestrator/control_systems/research_control_system.py e src/orchestrator/tools/auto_debugger.py, quindi esamina come vengono importati questi moduli e come viene registrata l’integrazione opzionale. Esegui i controlli documentati di grep e importazione in un ambiente virtuale senza l’extra [langgraph]. Il lavoro è completo quando non rimangono import di langchain a livello di modulo e ogni modulo in orchestrator.all viene importato correttamente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

architecture bug

Verified on main today.

Evidence

src/orchestrator/tools/auto_debugger.py:29:from langchain.tools import BaseTool
src/orchestrator/control_systems/research_control_system.py:516:from langchain.agents import create_react_agent
src/orchestrator/control_systems/research_control_system.py:517:from langchain.tools import Tool
src/orchestrator/control_systems/research_control_system.py:557:from langchain.agents import initialize_agent, AgentType
src/orchestrator/control_systems/research_control_system.py:558:from langchain.tools import DuckDuckGoSearchRun, WikipediaQueryRun

Impact

langchain is behind the [langgraph] extra, not a core dependency. Any import path reaching these modules fails outright without that extra, which defeats the lazy-import work that got import orchestrator down to ~5 ms with zero heavy modules.

auto_debugger.py is the harder case: it subclasses BaseTool, so it cannot be made lazy by moving the import into a function — the class body needs the symbol at definition time.

Proposed fix

  • research_control_system.py: move the imports into the functions that use them. Mechanical.
  • auto_debugger.py: needs restructuring — either invert the dependency (compose rather than subclass BaseTool, adapting at the boundary), or move the whole module behind the extra and register it conditionally.

Recommend composition: subclassing a third-party type to satisfy an optional integration is what created the coupling.

Acceptance criteria

  • grep -rn "^from langchain\|^import langchain" src/orchestrator/ returns nothing
  • In a venv without the [langgraph] extra, importing every module in orchestrator.__all__ succeeds
Lingua principale
Python
Stelle
3
Fork
2
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ContextLab/orchestrator

Tutte le issue di ContextLab/orchestrator

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.