python / python/cpython

Provide a simple function interface for topological sort in graphlib

Abierto
#125,181 2 comentarios 2 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

stdlib type-feature
Lenguaje dominante
Python
Estrellas
77.2k
Forks
35.9k
Métricas de merge de PR
Métricas de PR pendientes

Descripción

Feature or enhancement

Proposal:

The graphlib interface requires 5 function calls in order to get the result of a topological sort.

I believe that the most common user will most likely only need a single function call, i.e.

def topological_sort(graph: dict) -> Iterable[set]: ...

I propose adding this small utility function to graphlib.

Note: there is static_order(), which reduces it to 2 function calls, but it flattens the result, which is a bad default.

Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Guía de contribución

Abrir la guía de contribución

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.

Línea de trabajo

El issue concierne a graphlib y a su interfaz static_order() existente; empieza localizando esa implementación y las pruebas de graphlib que la rodean. El trabajo estará terminado cuando se haya añadido la interfaz propuesta topological_sort(graph) de una sola llamada, con salida en conjuntos agrupados, y se haya cubierto su comportamiento.

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

Evaluación

Stack tecnológico
python
Área
developer-experience
Tipo de issue
Nueva funcionalidad
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
52/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.