معرفی شرکت ها


aiographql-0.2.1


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

asyncio + graphql = fast and simple api
ویژگی مقدار
سیستم عامل -
نام فایل aiographql-0.2.1
نام aiographql
نسخه کتابخانه 0.2.1
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Denis Ryzhkov
ایمیل نویسنده denisr@denisr.com
آدرس صفحه اصلی https://github.com/academicmerit/aiographql
آدرس اینترنتی https://pypi.org/project/aiographql/
مجوز MIT
* `asyncio <https://docs.python.org/3/library/asyncio.html>`_ - explicit concurrency `to reduce race conditions <https://glyph.twistedmatrix.com/2014/02/unyielding.html>`_ * `graphql <http://graphql.org/>`_ - all you need and nothing more in one request +auto docs of your api * `uvloop, protocol <https://github.com/MagicStack/uvloop#performance>`_ - `top performance <https://magic.io/blog/uvloop-blazing-fast-python-networking/>`_ * minimal http - unlike REST frameworks that are waste of time for ``/graphql`` endpoint * pluggable context - for auth, logging, etc * exception handling - at all levels, with default or custom handler **Usage**:: pip install aiographql cat <<'END' >serve.py import asyncio, aiographql, graphene class User(graphene.ObjectType): id = graphene.ID(required=True) name = graphene.String() class Query(graphene.ObjectType): me = graphene.Field(User) async def resolve_me(self, info): await asyncio.sleep(1) # DB return User(id=42, name='John') schema = graphene.Schema(query=Query, mutation=None) aiographql.serve(schema, listen=[ dict(protocol='tcp', port=25100), dict(protocol='unix', path='/tmp/worker0'), ]) END python3 serve.py curl http://localhost:25100/ --data-binary \ '{"query": "{ me { id name } }", "variables": null}' # OR: curl --unix-socket /tmp/worker0 http:/ --data-binary ... # Result: # 1 second async await for DB and then: {"data":{"me":{"id":"42","name":"John"}}} See `more examples and tests <https://github.com/academicmerit/aiographql/tree/master/tests>`_ about JWT auth, concurrent slow DB queries, etc. **Config**:: import aiographql; help(aiographql.serve) serve(schema, listen, get_context=None, exception_handler=None, enable_uvloop=True, run=True) Configure the stack and start serving requests * ``schema``: ``graphene.Schema`` - GraphQL schema to serve * ``listen``: ``list`` - one or more endpoints to listen for connections: * ``dict(protocol='tcp', port=25100, ...)`` - `create_server() docs <https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.AbstractEventLoop.create_server>`_ * ``dict(protocol='unix', path='/tmp/worker0', ...)`` - `create_unix_server() docs <https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.AbstractEventLoop.create_unix_server>`_ * ``get_context``: ``None`` or ``[async] callable(loop, context: dict): mixed`` - to produce GraphQL context like auth from input unified with ``exception_handler()`` * ``exception_handler``: ``None`` or ``callable(loop, context: dict)`` - default or custom exception handler as defined in `the docs <https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.AbstractEventLoop.set_exception_handler>`_ + * ``headers``: ``bytes`` or ``None`` - HTTP headers, if known * ``request``: ``dict`` or ``bytes`` or ``None`` - accumulated HTTP request before content length is known, then accumulated content, then GraphQL request * ``enable_uvloop``: ``bool`` - enable uvloop for top performance, unless you have a better loop * ``run``: ``bool`` - if ``True``, run the loop; ``False`` is good for tests * return ``servers``: ``Servers`` - ``await servers.close()`` to close listening sockets - good for tests


نیازمندی

مقدار نام
<3,>=2.0.1 graphene
<3,>=2.0 graphql-core
<2,>=1.35 ujson
<1,>=0.9.1 uvloop


زبان مورد نیاز

مقدار نام
>=3.5 Python


نحوه نصب


نصب پکیج whl aiographql-0.2.1:

    pip install aiographql-0.2.1.whl


نصب پکیج tar.gz aiographql-0.2.1:

    pip install aiographql-0.2.1.tar.gz