Add a `Distribution.editable` property

Abierto
#510 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

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

Línea de trabajo

Comienza rastreando la Distribution API y sus datos de origen; después, revisa las reglas de PEP 610 para direct_url.json sobre dir_info y editable. Se considera terminado cuando la nueva propiedad expone un booleano y devuelve false cuando falta la información de origen o editable.

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

Descripción

enhancement feature help wanted

Recently, when trying to check if a distribution is editable, I noticed doing so using the current API is very un-ergonomic. This information is available via the direct_url.json file of PEP 610, which is exposed in Distribution.origin.

When url refers to a local directory, the dir_info key MUST be present as a dictionary with the following key:

editable (type: boolean): true if the distribution was installed in editable mode, false otherwise. If absent, default to false.

So, to check if the distribution is editable, we can check Distribution.origin.dir_info.editable, however, Distribution.origin might be None (no direct_url.json), and Distribution.origin.dir_info might not be set (url in direct_url.json in not a local directory), which.

is_editable = distribution.origin and distribution.origin.dir_info and distribution.origin.dir_info.editable
try:
    is_editable = distribution.origin.dir_info.editable
except AttributeError:
    is_editable = False

It would be helpful to have this information available via a more ergonomic API.

Lenguaje dominante
Python
Estrellas
142
Forks
97
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

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 python/importlib_metadata

Todos los issues de python/importlib_metadata

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.