Ariadne is a Python library for implementing GraphQL servers using a schema-first approach.
—
Quality
Pending
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Query validation tools for implementing security measures like query cost analysis and introspection control.
cost_directive: SchemaDirectiveVisitor
"""Directive for annotating field costs in schema."""
cost_validator: Callable
"""Validator function for enforcing query cost limits."""from ariadne.validation import cost_directive, cost_validator
type_defs = """
directive @cost(complexity: Int, multipliers: [String!]) on FIELD_DEFINITION
type Query {
users: [User!]! @cost(complexity: 10)
user(id: ID!): User @cost(complexity: 1)
}
"""
schema = make_executable_schema(
type_defs,
query,
directives={"cost": cost_directive}
)
# Use cost validator
result = await graphql(
schema,
query_data,
validation_rules=[cost_validator(maximum_cost=100)]
)Install with Tessl CLI
npx tessl i tessl/pypi-ariadne