Automatically infer Type of Queries
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
Empieza rastreando los puntos de entrada .select(), DSLQuery y dsl_gql indicados para entender cómo se gestionan actualmente los tipos de retorno del esquema. Compara los ejemplos solicitados de countries/name y continent/name anidado con el comportamiento de selección existente, y luego define y prueba la GraphQL generada esperada para selecciones escalares y de objetos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
For the following query on https://countries.trevorblades.com/
query GetCountries {
countries {
name
}
}
The snippet to generate this dynamically using gql is:
dsl_gql(
GetCountries=DSLQuery(
ds.Query.countries.select(ds.Country.name)
)
)
Notice that in the raw graphql I just mentioned name instead of Country.name. As the schema already lays out the return types of all queries, graphql is able to figure it out automatically.
""" schema.graphql """
type Query {
...
countries(filter: CountryFilterInput): [Country!]!
...
}
type Country {
...
name: String!
...
}
Would it be possible to modify .select() to auto-select objects of the query type by their name?
Maybe something like:
dsl_gql(
GetCountries=DSLQuery(
ds.Query.countries.select("name", DSLAutoSelectable("continent").select("name"))
)
)
Resulting graphql
query GetCountries {
countries {
name
continent {
name
}
}
}
Note: The sgqlc library has a __fields__() method which can get the immediate scalars by name: https://github.com/profusion/sgqlc/blob/465a5e800f8b408ceafe25cde45ee0bde4912482/sgqlc/operation/__init__.py#L390
- Lenguaje dominante
- Python
- Estrellas
- 1.7k
- Forks
- 195
- Merge medio
- 14 min
- PR fusionados (30 d)
- 1
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 graphql-python/gql
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
graphql-python/gql#613 · 2 comentarios ·
-
type: feature
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
graphql-python/gql#434 ·
-
type: feature
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
graphql-python/gql#355 · 1 comentario ·
-
type: feature
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
graphql-python/gql#316 · 5 comentarios · 3 reacciones ·
Todos los issues de graphql-python/gql
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
anthropics/skills#1811 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
speaches-ai/speaches#678 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
datalayer/mcp-compose#42 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
conda-forge/spacy-feedstock#177 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
UKGovernmentBEIS/inspect_evals#2523 ·