* Improve enum compatibility by supporting return enum as well as values and names
* Handle invalid enum values
* Rough implementation of compat middleware
* Move enum middleware into compat module
* Fix tests
* Tweak enum examples
* Add some tests for the middleware
* Clean up tests
* Add missing imports
* Remove enum compat middleware
* Use custom dedent function and pin graphql-core to >3.1.2
* Pass extra kwargs down the meta chain
* Rename name argument to allow custom name
* Reword error message
* Explicitly define kwargs
* Revert change to explicit kwargs
* name -> name_ for Enum __new__ function
* Revert "Update requirement for Query type in mutation docs (#1213)"
This reverts commit a9625dac0e.
* Add test to check that Query type must be defined
* Allow fast ObjectType creation based on dataclasses
* Fixed Python 3.8 integration
* Added repr and eq methods to ObjectType containers
* Reformatted code
* Fixed mypy issue
* Removed unused __init__ for ObjectType containers
* Use black in dataclasses
* Use latest black verison on precommit
The subclass polyfill was only needed for Python 2.7-3.5
Python 3.6 introduced the __init_subclass__, so since Graphene now requires Python 3.6+, this is no longer needed.
https://www.python.org/dev/peps/pep-0487/
* Added support for subscription
* Added pre-commit hooks for black and formatted changed files
* Checked with flake8
* Integrated changes from master.
Co-authored-by: Rob Blackbourn <rblackbourn@bhdgsystematic.com>
Co-authored-by: Rob Blackbourn <rtb@beast.jetblack.net>
* Add a helpful message to when a global_id fails to parse.
* Update test_node to have errors on test_node_query_incorrect_id
* Black the node.py file
* Remove func wrapper used in debugging get_resolver partial
* Update node.py
* Expand error messages
Co-authored-by: Jonathan Kim <jkimbo@gmail.com>
* The default_value of InputField should be INVALID
Since GraphQL 3.0 there is a distinction between None and INVALID (no value).
The tests captured the bug and are updated.
* Update minimum graphql-core version
* Use Undefined instead of INVALID
Co-authored-by: Jonathan Kim <jkimbo@gmail.com>
* Fix tests
* Add extra folders to make test command
* Update snapshots
* Add python 3.8 to test matrix
* Add black command to makefile and black dependency to setup.py
* Add lint command
* Run format
* Remove 3.8 from test matrix
* Add Python 3.8 to test matrix
* Update setup.py
* Propagate name, deprecation_reason arguments of relay.NodeField to Field
* Allow custom description in Node.Field and move ID description to ID argument
* Add test for Node.Field with custom name
* Add tests for description, deprecation_reason arguments of NodeField
* Pass all kwargs from NodeField to Field
* v3.0 - remove Python 2.x from build (#983)
* Change travis to only compile for p3.6+
* Changed tox to only run Python 3.6+
* Changed library classifiers to reflect support in Python 3.6+
* Changed version to 3.0.0 development
In [15]: get_version((3, 0, 0, "alpha", 0))
Out[15]: '3.0.dev20190601212304'
* Reorganize Tests (#985)
We no longer need a dedicated folder for Python3.6+ tests
We no longer need to check six.PY3 in tests
* Upgrade black to 19.3b0 (#987)
* Remove six dependency (#986)
* No one is using func_name
* Remove six simple usages
* Remove six requirement
* Remove `six.with_metaclass` calls
* pytest-asyncio should be a regular dependency now with Py3 move
* Change dependency to graphql-core-next (#988)
* Changed dependencies to core-next
* Converted Scalars
* ResolveInfo name change
* Ignore .venv
* Make Schema compatible with GraphQL-core-next
* Ignore more venv names and mypy and pytest caches
* Remove print statements for debugging in schema test
* core-next now provides out_type and out_name
* Adapt date and time scalar types to core-next
* Ignore the non-standard result.invalid flag
* Results are named tuples in core-next (immutable)
* Enum values are returned as dict in core-next
* Fix mutation tests with promises
* Make all 345 tests pass with graphql-core-next
* Remove the compat module which was only needed for older Py version
* Remove object as base class (not needed in Py 3)
* We can assume that dicts are ordered in Py 3.6+
* Make use of the fact that dicts are iterable
* Use consistent style of importing from pytest
* Restore compatibility with graphql-relay-py v3
Add adpaters for the PageInfo and Connection args.
* Avoid various deprecation warnings
* Use graphql-core 3 instead of graphql-core-next
* Update dependencies, reformat changes with black
* Update graphene/relay/connection.py
Co-Authored-By: Jonathan Kim <jkimbo@gmail.com>
* Run black on setup.py
* Remove trailing whitespace
* expose livehtml autobuild in Makefile
* add API documentation for schema
* document graphene core API
* fixes black lint
* Update graphene/types/union.py
Co-Authored-By: Jonathan Kim <jkimbo@gmail.com>
* Update graphene/types/argument.py
Co-Authored-By: Jonathan Kim <jkimbo@gmail.com>
* Update graphene/types/field.py
Co-Authored-By: Jonathan Kim <jkimbo@gmail.com>
* Update graphene/types/inputfield.py
Co-Authored-By: Jonathan Kim <jkimbo@gmail.com>
* add note about non-functional `interfaces` meta argument in mutation
* update with other virtual environment configuration
* pin autobuild
* format argument example code
* format enum input object and interface examples
* format enum mutation union examples
* revise documentation with imports, capitalization