Idea: warn on unsupported keywords (e.g. "const" in draft-04 schemas)
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- python
- Área
- backend-api-design
Línea de trabajo
Comienza con el ejemplo validate y las implementaciones de DraftXValidator. Revisa cómo gestiona cada draft las palabras clave del esquema y, después, define el comportamiento de las advertencias para las palabras clave nuevas o renombradas que se indican, manteniendo el tratamiento existente de los valores de formato desconocidos; verifica las advertencias en los validadores de draft afectados.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I just spent a few minutes digging into a test failure which boiled down to the following:
from jsonschema import validate
schema = {
"$schema": "http://json-schema.org/draft-04/schema#",
"const": None,
}
validate("literally anything validates", schema)
which is of course because the const keyword was added in draft-06! Since I've seen analogous problems several times now, I wonder if we should make the earlier DraftXValidators emit a warning when they see a keyword which was added in a later draft. That would be:
- <= draft04, warn on
propertyNames,contains, andconst(added in draft06) - <= draft06, warn on
if,then, andelse(added in draft07) - In draft07, the
mediakeyword was replaced withcontentMediaTypeandcontentEncoding, so warnings on both sides could help - <= draft07... there are lots
I've ignored the string format values, because they explictly permit ignoring unknown values and it's reasonable to think that users might have backported a check - whereas the too-new keywords are almost certainly a programmer error.
- Lenguaje dominante
- Python
- Estrellas
- 5k
- Forks
- 671
- Merge medio
- 1 d 1 h
- PR fusionados (30 d)
- 10
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de python-jsonschema/jsonschema
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
python-jsonschema/jsonschema#1538 ·
-
Needs Test Upstream
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
python-jsonschema/jsonschema#1511 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
python-jsonschema/jsonschema#1558 · 2 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
python-jsonschema/jsonschema#1547 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
python-jsonschema/jsonschema#1536 · 1 comentario ·
Todos los issues de python-jsonschema/jsonschema
Issues similares
-
agent-ready documentation needs-triage
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
-
documentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 91/100
-
workflow-status page template still says reusable workflows are "triggered only by workflow_call:" Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
-
Add https://search.jeremyh.xyz/ Abiertoinstance instance add
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
searxng/searx-instances#939 · 1 comentario ·
-
area-deployment area-integrations triage:bot-seen
Dificultad 2/5 Medio día Aptitud para principiantes 86/100