Metadata-Version: 2.1
Name: graphene-sqlalchemy
Version: 2.3.0.dev0
Summary: Graphene SQLAlchemy integration
Home-page: https://github.com/graphql-python/graphene-sqlalchemy
Author: Syrus Akbary
Author-email: me@syrusakbary.com
License: MIT
Keywords: api graphql protocol rest relay graphene
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Dist: graphene (<3,>=2.1.3)
Requires-Dist: promise (>=2.1)
Requires-Dist: SQLAlchemy (<2,>=1.2)
Requires-Dist: six (<2,>=1.10.0)
Requires-Dist: singledispatch (<4,>=3.4.0.3)
Provides-Extra: dev
Requires-Dist: tox (==3.7.0) ; extra == 'dev'
Requires-Dist: coveralls (==1.7.0) ; extra == 'dev'
Requires-Dist: pre-commit (==1.14.4) ; extra == 'dev'
Provides-Extra: test
Requires-Dist: pytest (==4.3.1) ; extra == 'test'
Requires-Dist: mock (==2.0.0) ; extra == 'test'
Requires-Dist: pytest-cov (==2.6.1) ; extra == 'test'
Requires-Dist: sqlalchemy-utils (==0.33.9) ; extra == 'test'

Please read
`UPGRADE-v2.0.md <https://github.com/graphql-python/graphene/blob/master/UPGRADE-v2.0.md>`__
to learn how to upgrade to Graphene ``2.0``.

--------------

|Graphene Logo| Graphene-SQLAlchemy |Build Status| |PyPI version| |Coverage Status|
===================================================================================

A `SQLAlchemy <http://www.sqlalchemy.org/>`__ integration for
`Graphene <http://graphene-python.org/>`__.

Installation
------------

For instaling graphene, just run this command in your shell

.. code:: bash

    pip install "graphene-sqlalchemy>=2.0"

Examples
--------

Here is a simple SQLAlchemy model:

.. code:: python

    from sqlalchemy import Column, Integer, String
    from sqlalchemy.orm import backref, relationship

    from sqlalchemy.ext.declarative import declarative_base

    Base = declarative_base()

    class UserModel(Base):
        __tablename__ = 'department'
        id = Column(Integer, primary_key=True)
        name = Column(String)
        last_name = Column(String)

To create a GraphQL schema for it you simply have to write the
following:

.. code:: python

    from graphene_sqlalchemy import SQLAlchemyObjectType

    class User(SQLAlchemyObjectType):
        class Meta:
            model = UserModel

    class Query(graphene.ObjectType):
        users = graphene.List(User)

        def resolve_users(self, info):
            query = User.get_query(info)  # SQLAlchemy query
            return query.all()

    schema = graphene.Schema(query=Query)

Then you can simply query the schema:

.. code:: python

    query = '''
        query {
          users {
            name,
            lastName
          }
        }
    '''
    result = schema.execute(query, context_value={'session': db_session})

To learn more check out the following `examples <examples/>`__:

-  **Full example**: `Flask SQLAlchemy
   example <examples/flask_sqlalchemy>`__

Contributing
------------

After cloning this repo, ensure dependencies are installed by running:

.. code:: sh

    python setup.py install

After developing, the full test suite can be evaluated by running:

.. code:: sh

    python setup.py test # Use --pytest-args="-v -s" for verbose mode

.. |Graphene Logo| image:: http://graphene-python.org/favicon.png
.. |Build Status| image:: https://travis-ci.org/graphql-python/graphene-sqlalchemy.svg?branch=master
   :target: https://travis-ci.org/graphql-python/graphene-sqlalchemy
.. |PyPI version| image:: https://badge.fury.io/py/graphene-sqlalchemy.svg
   :target: https://badge.fury.io/py/graphene-sqlalchemy
.. |Coverage Status| image:: https://coveralls.io/repos/graphql-python/graphene-sqlalchemy/badge.svg?branch=master&service=github
   :target: https://coveralls.io/github/graphql-python/graphene-sqlalchemy?branch=master


