[Bug]: graphify query loads every language extractor just for _file_stem (about 34 ms per call)

Abierto Apto para principiantes
#5,160 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

@rohit-jsfreaky ya está trabajando en esto.

Desde el 11/11/2026.

  • #5163 de @rohit-jsfreaky — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
python

Línea de trabajo

Empieza en graphify/build.py, en graph_has_legacy_ids, y sigue cómo importa _file_stem desde graphify.extractors.base; compara esa ruta de importación con el comportamiento de carga de extractores del paquete. Usa el comando de importación indicado para comprobar si una consulta de solo lectura sigue cargando todos los extractores de lenguaje. El objetivo se cumple cuando la carga del grafo para consultas y MCP evita esas importaciones innecesarias y conserva el comportamiento de graph_has_legacy_ids.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Pre-flight checks
  • I have checked the Troubleshooting section in the README
What happened?

graphify query (and the MCP server's graph load) imports every language extractor before answering. Both call graph_has_legacy_ids in graphify/build.py, which imports _file_stem from graphify.extractors.base. Importing that package loads all the extractors, about 55 ms, for a 3-line helper.

python -X importtime -m graphify query "..." on click: graphify.extractors costs about 34 ms of 229 ms of top-level imports. Agents call query many times per task, so this is paid on every call.

Steps to reproduce
cd click && graphify update .
python -X importtime -m graphify query "how does Context invoke a command" 2>&1 | grep graphify.extractors
Error output or graph output

graphify.extractors and the language extractor modules show up in the import trace of a read-only command.

Graphify version

0.9.106 (v8 at 35d1d203)

Operating System

Linux (measured), also Windows

Python Version

3.13

Installation Method

uv tool install (recommended)

Lenguaje dominante
Python
Estrellas
124k
Forks
11.9k
Merge medio
2 h 35 min
PR fusionados (30 d)
6

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Graphify-Labs/graphify

Todos los issues de Graphify-Labs/graphify

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.