Recent Releases of ariadne
ariadne - 0.26.2
What's Changed
- Fix convertcamelcasetosnake by @A-Dudek in https://github.com/mirumee/ariadne/pull/1235
- docs(README.md): Add versioning policy by @KarolJagodzinski in https://github.com/mirumee/ariadne/pull/1238
- check for async callable object and function for relay resolver by @reallistic in https://github.com/mirumee/ariadne/pull/1244
Full Changelog: https://github.com/mirumee/ariadne/compare/0.26.1...0.26.2
- Python
Published by github-actions[bot] about 1 year ago
ariadne - Ariadne 0.26.1
What's Changed
- Fix python_multipart deprecation warning by @A-Dudek in https://github.com/mirumee/ariadne/pull/1230
- chore: clean
pyproject.tomlupdate README.MD by @KarolJagodzinski in https://github.com/mirumee/ariadne/pull/1231 - fix: websocket connection init timeout set to 0 by @mgradalska in https://github.com/mirumee/ariadne/pull/1232
- chore(pyproject.toml): restore optional dependencies by @KarolJagodzinski in https://github.com/mirumee/ariadne/pull/1233
New Contributors
- @A-Dudek made their first contribution in https://github.com/mirumee/ariadne/pull/1230
- @mgradalska made their first contribution in https://github.com/mirumee/ariadne/pull/1232
Full Changelog: https://github.com/mirumee/ariadne/compare/0.26.0...0.26.1
- Python
Published by github-actions[bot] over 1 year ago
ariadne - Ariadne 0.26.0
What's Changed
chore: DROP 3.8, leverage hatch to run tests and static analisys by @KarolJagodzinski in https://github.com/mirumee/ariadne/pull/1221
chore: rename tests.yml to test.yml by @KarolJagodzinski in (https://github.com/mirumee/ariadne/commit/d76605337a52d0eca7136e7758f997c89c8fc0af)
Full Changelog: https://github.com/mirumee/ariadne/compare/0.25.2...0.26.0
- Python
Published by github-actions[bot] over 1 year ago
ariadne - Ariadne 0.26.0.dev1
What's Changed
- chore: DROP 3.8, leverage hatch to run tests and static analisys by @KarolJagodzinski in https://github.com/mirumee/ariadne/pull/1221
Full Changelog: https://github.com/mirumee/ariadne/compare/0.25.2...0.26.0.dev1
- Python
Published by github-actions[bot] over 1 year ago
ariadne - 0.25.2
What's Changed
- use graphql core extensions field to store contrib resolvers by @reallistic in https://github.com/mirumee/ariadne/pull/1228
- feat!: add a default global ID encoder, add a id_field on the query type by @pkucmus in https://github.com/mirumee/ariadne/pull/1227
Full Changelog: https://github.com/mirumee/ariadne/compare/0.25.1...0.25.2
Breaking Change: in the ariadne.contrib.relay module a change was introduced, the global ID decoder now takes a string, not the query kwargs like in 0.25.1
- Python
Published by pkucmus over 1 year ago
ariadne - Ariadne 0.25.1
What's Changed
- fix(relay): add missing key in return RelayObjectType.resolve_wrapper by @KarolJagodzinski in https://github.com/mirumee/ariadne/pull/1224
New Contributors
- @KarolJagodzinski made their first contribution in https://github.com/mirumee/ariadne/pull/1224
Full Changelog: https://github.com/mirumee/ariadne/compare/0.25.0...0.25.1
- Python
Published by KarolJagodzinski over 1 year ago
ariadne - Ariadne 0.25.0
What's Changed
- Subscriptions: SSE distinct connection support by @danplischke in https://github.com/mirumee/ariadne/pull/1195
- Skip websocket init timeout test by @Kwaidan00 in https://github.com/mirumee/ariadne/pull/1219
- Pin graphql-core <3.2.6 by @Kwaidan00 in https://github.com/mirumee/ariadne/pull/1218
- Adding contrib for GraphQL Relay by @pkucmus in https://github.com/mirumee/ariadne/pull/1214
New Contributors
- @danplischke made their first contribution in https://github.com/mirumee/ariadne/pull/1195
Full Changelog: https://github.com/mirumee/ariadne/compare/0.24...0.25.0
- Python
Published by pkucmus over 1 year ago
ariadne - Ariadne 0.24
Changelog
- Added validation for directive declarations in
make_executable_schemato prevent schema creation with undeclared directives. - Replaced hardcoded HTTP statuses with
HTTPStatusfrom thehttpstdlib module. - Added
include_cookiesoption to theExplorerApollo. - Fixed typing on
extract_data_from_requestmethod. - Fixed tests websockets after starlette update.
- Added
share_enabledparam toExplorerPlaygroundto enable share playground feature. - Added support for nested attribute resolution in alias resolvers.
- Replaced regexes in the Apollo Federation implementation with cleaner approach using GraphQL AST.
- Python
Published by rafalp over 1 year ago
ariadne - Ariadne 0.23
CHANGELOG
- Added
execute_get_queriessetting to theGraphQLapps that controls execution of the GraphQL "query" operations made with GET requests. Defaults toFalse. - Added support for the Apollo Federation versions up to 2.6.
- Fixed deprecation warnings in Apollo Tracing extension.
- Added a check to prevent
subscriptionoperation execution when query is made with POST request.
- Python
Published by rafalp about 2 years ago
ariadne - Ariadne 0.23.0 beta 1
Changelog
- Added
execute_get_queriessetting to theGraphQLapps that controls execution of the GraphQL "query" operations made with GET requests. Defaults toFalse. - Added support for the Apollo Federation versions up to 2.6.
- Fixed deprecation warnings in Apollo Tracing extension.
- Added a check to prevent
subscriptionoperation execution when query is made with POST request.
- Python
Published by rafalp over 2 years ago
ariadne - Ariadne 0.22
Changelog
- Deprecated
EnumType.bind_to_default_valuesmethod. It will be removed in a future release. - Added
repair_schema_default_enum_valuesto public API. - Removed
validate_schema_enum_valuesand introducedvalidate_schema_default_enum_valuesin its place. This is a breaking change. - Fixed an invalid error message returned by the
GraphQLTransportWSHandlerforqueryandmutationoperations.
- Python
Published by rafalp over 2 years ago
ariadne - Ariadne 0.22 beta 1
Changelog
- Deprecated
EnumType.bind_to_default_valuesmethod. It will be removed in a future release. - Added
repair_schema_default_enum_valuesto public API. - Removed
validate_schema_enum_valuesand introducedvalidate_schema_default_enum_valuesin its place. This is a breaking change. - Fixed an invalid error message returned by the
GraphQLTransportWSHandlerforqueryandmutationoperations.
- Python
Published by rafalp over 2 years ago
ariadne - Ariadne 0.21
Changelog
- Added Python 3.12 to tested versions.
- Updated integration tests to run against FastAPI 0.104, Flask 3.0 and Starlette 0.32.
- Updated GraphiQL explorer to initialize with support for subscriptions.
- Python
Published by rafalp over 2 years ago
ariadne - Ariadne 0.20
Changelog
- Dropped support for Python 3.7.
- Added
OpenTelemetryandopentelemetry_extensionextension, importable formariadne.tracing.opentelemetry. - Added
query_validatoroption to ASGI and WSGIGraphQLapplications that enables customization of query validation step. - Fixed
ERRORmessage in GraphQL-WS protocol having invalid payload type. - Fixed query cost validator incorrect handling of inline fragments.
- Fixed
make_executable_schemaerror whennullis used as default value forinputtyped field argument. - Updated default GraphiQL2 template to use production build of React.js.
- Removed
ExtensionSync.Extensionnow supports both async and sync contexts. - Removed
OpenTracingSyncandopentracing_extension_sync.OpenTracingandopentracing_extensionnow support both async and sync contexts. - Removed
ApolloTracingSync.ApolloTracingnow supports both async and sync contexts.
- Python
Published by rafalp almost 3 years ago
ariadne - Ariadne 0.19.1
CHANGELOG
- Fixed
.graphqldefinitions files not being included in the dist files
- Python
Published by rafalp about 3 years ago
ariadne - Ariadne 0.19
CHANGELOG
- Added
InputTypefor setting Python representations of GraphQL Input types - Added support for passing
Enumtypes directly tomake_executable_schema - Added
convert_names_caseoption tomake_federated_schema. - Added support for the
@interfaceObjectdirective in Apollo Federation. - Fixed federation support for directives without surrounding whitespace.
- Python
Published by rafalp about 3 years ago
ariadne - Ariadne 0.18.1
CHANGELOG
- Fixed type annotations on
EnumType.
- Python
Published by rafalp over 3 years ago
ariadne - Ariadne 0.18.0
CHANGELOG
- GraphiQL2 is now default API explorer.
- Added
exploreroption to ASGI and WSGIGraphQLapplications that enables API explorer customization. - Added
ExplorerHttp405API explorer that returns405 Method Not Allowedfor GET HTTP requests. - Added implementations for GraphiQL2, GraphQL-Playground and Apollo Sandbox explorers.
- Added
convert_names_caseoption tomake_executable_schemato convert all names in schema to Python case using default or custom strategy. - Added support for
Path-like objects toload_schema_from_path. - Changed
loggeroption to also supportLoggerandLoggerAdapterinstance in addition tostrwith logger name. - Added support for
@tagdirective used by Apollo Federation. - Moved project configuration from
setup.pytopyproject.toml. - Changed
context_valueoption in ASGI and WSGI applications for callables to take query data as second argument. - Changed
root_valueoption in ASGI and WSGI applications for callables to take operation and and variables in addition to context and parsed query. - Added
execution_context_classoption to ASGI and WSGI applications. - Added
query_parseroption to ASGI and WSGIGraphQLapplications that enables query parsing customization. - Changed
middlewareoption to work with callable or list of middlewares instead ofMiddlewareManagerinstance. - Added
middleware_manager_classoption to ASGI and WSGI applications. - Added
handle_requestandhandle_websocketmethods toASGIapplication that takes Starlette/FastAPIRequestandWebsocketobjects. - Fixed type annotations for middlewares.
- Added docstrings to members of public API.
- Python
Published by rafalp over 3 years ago
ariadne - Ariadne 0.18 RC 2
Changelog
Adds backwards-compatilibity to context_value callables.
- Python
Published by rafalp over 3 years ago
ariadne - Ariadne 0.18 RC 1
CHANGELOG
- GraphiQL2 is now default API explorer.
- Added
exploreroption to ASGI and WSGIGraphQLapplications that enables API explorer customization. - Added
ExplorerHttp405API explorer that returns405 Method Not Allowedfor GET HTTP requests. - Added implementations for GraphiQL2, GraphQL-Playground and Apollo Sandbox explorers.
- Added
convert_names_caseoption tomake_executable_schemato convert all names in schema to Python case using default or custom strategy. - Added support for
Path-like objects toload_schema_from_path. - Changed
loggeroption to also supportLoggerandLoggerAdapterinstance in addition tostrwith logger name. - Added support for
@tagdirective used by Apollo Federation. - Moved project configuration from
setup.pytopyproject.toml. - Changed
context_valueoption in ASGI and WSGI applications for callables to take query data as second argument. - Changed
root_valueoption in ASGI and WSGI applications for callables to take operation and and variables in addition to context and parsed query. - Added
execution_context_classoption to ASGI and WSGI applications. - Added
query_parseroption to ASGI and WSGIGraphQLapplications that enables query parsing customization. - Changed
middlewareoption to work with callable or list of middlewares instead ofMiddlewareManagerinstance. - Added
middleware_manager_classoption to ASGI and WSGI applications. - Added
handle_requestandhandle_websocketmethods toASGIapplication that takes Starlette/FastAPIRequestandWebsocketobjects. - Fixed type annotations for middlewares.
- Added docstrings to members of public API.
- Python
Published by rafalp over 3 years ago
ariadne - Ariadne 0.17.1
CHANGELOG
- Fixed an error when schema that defines an interface type with fields having enum arguments with default values (eg.
field(arg: Enum = ENUM_MEMBER)) is introspected.
- Python
Published by rafalp over 3 years ago
ariadne - Ariadne 0.17.1.b1
CHANGELOG
- Fixed an error when schema that defines an interface type with fields having enum arguments with default values (eg.
field(arg: Enum = ENUM_MEMBER)) is introspected.
- Python
Published by rafalp over 3 years ago
ariadne - Ariadne 0.17.0
CHANGELOG
- Bumped starlette dependency in setup.py to
<1.0. - Added Python 3.11 to test matrix.
- Removed usage of deprecated
cgimodule. - Renamed
asgi-file-uploadsoptional dependency tofile-uploads.
- Python
Published by rafalp over 3 years ago
ariadne - Ariadne 0.17.0.b2
CHANGELOG
- Bumped starlette dependency in setup.py to
<1.0. - Added support for Python 3.11.
- Removed usage of deprecated
cgimodule.
- Python
Published by rafalp over 3 years ago
ariadne - Ariadne 0.17.0.b1
Changelog
- Bumped starlette dependency in setup.py to
<1.0. - Added support for Python 3.11.
- Removed usage of deprecated
cgimodule.
- Python
Published by rafalp over 3 years ago
ariadne - Ariadne 0.17.0.dev1
CHANGELOG
- GraphiQL2 is now default API explorer.
- Added
exploreroption to ASGI and WSGIGraphQLapplications that enables API explorer customization. - Added
ExplorerHttp405API explorer that returns405 Method Not Allowedfor GET HTTP requests. - Added implementations for GraphiQL2, GraphQL-Playground and Apollo Sandbox explorers.
- Changed
loggeroption to also supportLoggerandLoggerAdapterinstance in addition tostrwith logger name. - Added support for
@tagdirective used by Apollo Federation. - Updated
starlettedependency in setup.py to<1.0. - Moved project configuration from
setup.pytopyproject.toml.
- Python
Published by rafalp over 3 years ago
ariadne - Ariadne 0.16.1
Changelog
- Fixed GraphQLTransportWSHandler implementation to handle multiple connections.
- Python
Published by rafalp over 3 years ago
ariadne - Ariadne 0.16.1.b1
Changelog
- Fixed
GraphQLTransportWSHandlerimplementation to handle multiple connections.
- Python
Published by rafalp over 3 years ago
ariadne - Ariadne 0.16.0
CHANGELOG
- Refactored
ariadne.asgi.GraphQLto use strategy pattern for handling HTTP and WebSockets. - Updated
load_schema_from_pathto also support.gqland.graphqlsfiles. - Added support for
starlette0.20.
- Python
Published by rafalp over 3 years ago
ariadne - Ariadne 0.16.0.b2
Changelog
- Update dependencies
- Python
Published by rafalp over 3 years ago
ariadne - Ariadne 0.16.0.b1
CHANGELOG
- Refactored
ariadne.asgi.GraphQLto use strategy pattern for handling HTTP and WebSockets. - Updated
load_schema_from_pathto also use.gqland.graphqlsfiles. - Added support for
starlette0.20.
- Python
Published by rafalp almost 4 years ago
ariadne - Ariadne 0.15.1
CHANGELOG
- Fix performance regression in
make_federated_schema.
- Python
Published by rafalp about 4 years ago
ariadne - Ariadne 0.15.0
Changelog
- Updated
graphql-corerequirement to 3.2.0. - Bumped
starlettesupported versions to 0.18 and 0.19. - Drop Python 3.6 support.
- Added basic support for
OPTIONSHTTP request. - Refactor
ariadne.asgi.GraphQLto make it easier to customize JSON response. - Added
trace_default_resolvertoApolloTracingExtensionthat enables tracing for default resolvers. - Fixed
make_federated_schemaerror when custom directive in schema has description. - Moved
set_default_enum_values_on_schema,validate_schema_enum_valuesandtype_implements_interfaceto public API. - Changed
graphql_syncto useexecute_syncinstead ofexecute. - Added
on_operationhook toariadne.asgi.GraphQLthat's called when individual subscription operation is started. - Added
on_completehook toariadne.asgi.GraphQLthat's called when individual subscription operation is completed. - Updated
on_disconnecthook so its called in Webhook handler'sfinallyclause, making it called in more situations. - Marked
Extension,ExtensionSyncandSchemaBindableprotocols as@runtime_checkable. - Renamed
parenttoobjinApolloTracingandOpenTracingextensions so arg name won't cause conflict when custom resolver hasparentarg.
- Python
Published by rafalp about 4 years ago
ariadne - Ariadne 0.15.0.dev5
Changelog
- Added
on_completehook toariadne.asgi.GraphQLthat's called when individual subscription operation is completed. - Updated
on_disconnecthook so its called in Webhook handler'sfinallyclause, making it called in more situations. - Marked
Extension,ExtensionSyncandSchemaBindableprotocols as@runtime_checkable
- Python
Published by rafalp about 4 years ago
ariadne - Ariadne 0.15.0.dev4
CHANGELOG
- Updated
graphql-corerequirement to 3.2.0. - Bumped
starlettesupport to 0.18. - Drop Python 3.6 support.
- Added basic support for
OPTIONSHTTP request. - Refactor
ariadne.asgi.GraphQLto make it easier to customize JSON response. - Added
trace_default_resolvertoApolloTracingExtensionthat enables tracing for default resolvers. - Fixed
make_federated_schemaerror when custom directive in schema has description. - Moved
set_default_enum_values_on_schema,validate_schema_enum_valuesandtype_implements_interfaceto public API.
- Python
Published by rafalp about 4 years ago
ariadne - Ariadne 0.14.1
- Remove
ariadne.contrib.djangofrom release. - Lock
GraphQL-corerequirement at <3.2.
- Python
Published by rafalp over 4 years ago
ariadne - Ariadne 0.14.0
- Added
on_connectandon_disconnectoptions toariadne.asgi.GraphQL, enabling developers to run additional initialization and cleanup for websocket connections. - Updated Starlette dependency to 0.17.1.
- Added support for multiple keys for GraphQL federations.
- Made
Querytype optional in federated schemas. - Updated default resolvers to test for
Mappinginstead ofdict. - Removed
ariadne.contrib.django. (Use ariadne_django instead). - Updated query cost validator to handle optional variables.
- Python
Published by rafalp over 4 years ago
ariadne - Ariadne 0.13.0
- Updated
graphQL-corerequirement to 3.1.3. - Added support for Python 3.9.
- Added support for using nested variables as cost multipliers in the query price validator.
Noneis now correctly returned instead of{"__typename": typename}within federation.- Fixed some surprising behaviors in
convert_kwargs_to_snake_caseandsnake_case_fallback_resolvers.
- Python
Published by rafalp about 5 years ago
ariadne - Ariadne 0.12.0
- Added
validation_rulesoption to query executors as well as ASGI and WSGI apps and Django view that allow developers to include custom query validation logic in their APIs. - Added
introspectionoption to ASGI and WSGI apps, allowing developers to disable GraphQL introspection on their server. - Added
validation.cost_validatorquery validator that allows developers to limit maximum allowed query cost/complexity. - Removed default literal parser from
ScalarTypebecause GraphQL already provides one. - Added
extensionsandintrospectionconfiguration options to Django view. - Updated requirements list to require
graphql-core3.
- Python
Published by rafalp almost 6 years ago
ariadne - Ariadne 0.11.0
0.11.0 (2020-04-01)
- Fixed
convert_kwargs_to_snake_caseutility so it also converts the case in lists items. - Removed support for sending queries and mutations via WebSocket.
- Freezed
graphql-coredependency at version 3.0.3. - Unified default
info.contextvalue for WSGI to be dict with singlerequestkey.
- Python
Published by rafalp about 6 years ago
ariadne - Ariadne 0.10.0
0.10.0 (2020-02-11)
- Added support for
Apollo Federation. - Added the ability to send queries to the same channel as the subscription via WebSocket.
- Python
Published by bogdal over 6 years ago
ariadne - Ariadne 0.9.0
0.9.0 (2019-12-11)
- Updated
graphql-core-nexttographql-core3.
- Python
Published by rafalp over 6 years ago
ariadne - Ariadne 0.8.0
0.8.0 (2019-11-25)
- Added recursive loading of GraphQL schema files from provided path.
- Added support for passing multiple bindables as
*argstomake_executable_schema. - Updated Starlette dependency to 0.13.
- Made
python-multipartoptional dependency forasgi-file-uploads. - Added Python 3.8 to officially supported versions.
- Python
Published by rafalp over 6 years ago
ariadne - Ariadne 0.7.0
0.7.0 (2019-10-03)
- Added support for custom schema directives.
- Added support for synchronous extensions and synchronous versions of ApolloTracing and OpenTracing extensions.
- Added context argument to has_errors and format hooks.
- Python
Published by rafalp over 6 years ago
ariadne - Ariadne 0.6.0
0.6.0
- Updated
graphql-core-nextto 1.1.1 which has feature parity with GraphQL.js 14.4.0. - Added basic extensions system to the
ariadne.graphql.graphql. Currently only available in theariadne.asgi.GraphQLapp. - Added
convert_kwargs_to_snake_caseutility decorator that recursively converts the case of arguments passed to resolver fromcamelCasetosnake_case. - Removed
default_resolverand replaced its uses in library withgraphql.default_field_resolver. - Resolver returned by
resolve_toutil followsgraphql.default_field_resolverbehaviour and supports resolving to callables. - Added
is_default_resolverutility for checking if resolver function isgraphql.default_field_resolver, resolver created withresolve_tooralias. - Added
ariadne.contrib.tracingpackage withApolloTracingExtensionandOpenTracingExtensionGraphQL extensions for adding Apollo tracing and OpenTracing monitoring to the API (ASGI only). - Updated ASGI app disconnection handler to also check client connection state.
- Fixed ASGI app
context_valueoption support for async callables. - Updated
middlewareoption implementation in ASGI and WSGI apps to accept list of middleware functions or callable returning those. - Moved error formatting utils (
get_formatted_error_context,get_formatted_error_traceback,unwrap_graphql_error) to public API.
- Python
Published by rafalp almost 7 years ago
ariadne - Ariadne 0.5.0
0.5.0 (2019-06-07)
- Added support for file uploads.
- Python
Published by rafalp almost 7 years ago
ariadne - Ariadne 0.4.0
0.4.0 (2019-05-23)
- Updated
graphql-core-nextto 1.0.4 which has feature parity with GraphQL.js 14.3.1 and better type annotations. ariadne.asgi.GraphQLis now an ASGI3 application. ASGI3 is now handled by all ASGI servers.ObjectType.fieldandSubscriptionType.sourcedecorators now raise ValueError when used without name argument (eg.@foo.field).ScalarTypewill now use default literal parser that unpacksast.valueand calls value parser if scalar has value parser set.- Updated
ariadne.asgi.GraphQLandariadne.wsgi.GraphQLto support callables forcontext_valueandroot_valueoptions. - Added
loggeroption toariadne.asgi.GraphQL,ariadne.wsgi.GraphQLandariadne.graphql.*utils. - Added default logger that logs to
ariadne. - Added support for
extend typein schema definitions. - Removed unused
format_errorsutility function and renamedariadne.format_errorsmodule toariadne.format_error. - Removed explicit
typingdependency. - Added
ariadne.contrib.djangopackage that provides Django class-based view together withDateandDatetimescalars. - Fixed default ENUM values not being set.
- Updated project setup so mypy ran in projects with Ariadne dependency run type checks against it's annotations.
- Updated Starlette to 0.12.0.
- Python
Published by rafalp about 7 years ago
ariadne - Ariadne 0.3.0
Ariadne 0.3.0 release is focused on further improving the support for GraphQL specification and developer experience. It adds support for subscriptions, enums, interfaces and union GraphQL types, and unifies the API across those types. It also greatly improves developer experience by the inclusion of debug mode, error reporting, and includes graphql, graphql_sync and subscribe wrappers that ease integrations with existing sites greatly. Lastly, it also provides ASGI application that works with asynchronous servers and frameworks like Uvicorn and Starlette
CHANGELOG
- Added
EnumTypetype for mapping enum variables to internal representation used in application. - Added support for subscriptions.
- Updated Playground to 1.8.7.
- Split
GraphQLMiddlewareinto two classes and moved it toariadne.wsgi. - Added an ASGI interface based on Starlette under
ariadne.asgi. - Replaced the simple server utility with Uvicorn.
- Made users responsible for calling
make_executable_schema. - Added
UnionTypeandInterfaceTypetypes. - Updated library API to be more consistent between types, and work better with code analysis tools like PyLint. Added
QueryTypeandMutationTypeconvenience utils. Suffixed all types names withTypeso they are less likely to clash with other libraries built-ins. - Improved error reporting to also include Python exception type, traceback and context in the error JSON. Added
debuganderror_formatteroptions to enable developer customization. - Introduced Ariadne wrappers for
graphql,graphql_sync, andsubscribeto ease integration into custom servers.
- Python
Published by rafalp about 7 years ago
ariadne - Ariadne 0.2.0
Ariadne 0.2.0 replaces GraphQL-Core with GraphQL-core-next that offers much better compliance with GraphQL specification, supports async query execution and resolvers, and improves library's API and developer experience.
Changelog
- Removed support for Python 3.5 and added support for 3.7.
- Moved to
GraphQL-core-nextthat supportsasyncresolvers, query execution and implements a more recent version of GraphQL spec. If you are updating an existing project, you will need to uninstallgraphql-corebefore installinggraphql-core-next, as both libraries usegraphqlnamespace. - Added
gql()utility that provides GraphQL string validation on declaration time, and enables use of Apollo-GraphQL plugin in Python code. - Added
load_schema_from_path()utility function that loads GraphQL types from a file or directory containing.graphqlfiles, also performing syntax validation. - Added
start_simple_server()shortcut function for quick dev server creation, abstracting away theGraphQLMiddleware.make_server()from first time users. Booleanbuilt-in scalar now checks the type of each serialized value. Returning values of type other thanbool,intorfloatfrom a field resolver will result in aBoolean cannot represent a non boolean valueerror.- Redefining type in
type_defswill now result inTypeErrorbeing raised. This is a breaking change from previous behavior where the old type was simply replaced with a new one. - Returning
Nonefrom scalarparse_literalandparse_valuefunction no longer results in GraphQL API producing default error message. Instead,Nonewill be passed further down to resolver or produce a "value is required" error if its marked as such with!For old behavior raise eitherValueErrororTypeError. See documentation for more details. resolversargument defined byGraphQLMiddleware.__init__(),GraphQLMiddleware.make_server()andstart_simple_server()is now optional, allowing for quick experiments with schema definitions.dicthas been removed as primitive for mapping python function to fields. Instead,make_executable_schema()expects object or list of objects with abind_to_schemamethod, that is called with aGraphQLSchemainstance and are expected to add resolvers to schema.- Default resolvers are no longer set implicitly by
make_executable_schema(). Instead you are expected to include eitherariadne.fallback_resolversorariadne.snake_case_fallback_resolversin the list ofresolversfor your schema. - Added
snake_case_fallback_resolversthat populates schema with default resolvers that mapCamelCaseandPascalCasefield names from schema tosnake_casenames in Python. - Added
ResolverMapobject that enables assignment of resolver functions to schema types. - Added
Scalarobject that enables assignment ofserialize,parse_valueandparse_literalfunctions to custom scalars. - Both
ResolverMapandScalarare validating if schema defines specified types and/or fields at the moment of creation of executable schema, providing better feedback to the developer.
- Python
Published by rafalp over 7 years ago
ariadne - Ariadne 0.1.0
Ariadne 0.1.0 is first release of Ariadne that out of the box implements following features:
- WSGI Middleware for adding GraphQL API to existing sites
- Built-in dev server that enables developers to start experimenting quickly
- GraphQL Playground as API explorer
- Resolvers, mutations, custom scalars, inputs and enums
- Modularization support
- Documentation
- Python
Published by rafalp over 7 years ago