commit 4f0179c70b0f64cb2da813b9a29f212dd200a719 Author: Syrus Akbary Date: Tue May 17 22:17:42 2016 -0700 Initial Home page diff --git a/Roadmap.md b/Roadmap.md new file mode 100644 index 0000000..387bf16 --- /dev/null +++ b/Roadmap.md @@ -0,0 +1,37 @@ +# Roadmap + +## Version 1.0 + +For the next stable version of graphene, we are willing to achieve: +* Use and extend `graphql-core` objects and interfaces. Stop replicating logic from `graphql_relay`, instead use it. +* Remove context and info keyword arguments from resolvers, make `@resolve_only_args` decorator the default. + +## Simplify resolvers + +Currently, all the resolvers have to receive three arguments, `self`, `args`, and `info`. +We want to simplify this to only root and **args, so people could start doing: + +```python +class MyObjectType(graphene.ObjectType): + hello = graphene.String(to=graphene.String()) + other = graphene.String() + + def resolve_hello(self, to): + return "Hello {}".format(to) + + def resolve_other(self): + return "Hey!" +``` + +Also, resolvers could be able to get the context and info data by using decorators: + +```python +class MyObjectType(graphene.ObjectType): + field_with_info_and_context = graphene.String(to=graphene.String()) + + @with_info + @with_context + def field_with_info_and_context(self, to, context, info): + return "Hello {}".format(to) +``` +