# Path: graphscale/pent.py
# class PentContext:
#     def __init__(self, *, kvetch: Kvetch, config: PentConfig) -> None:
#         self.__kvetch = kvetch
#         self.__config = config
#         self.loader = PentLoader(self)
# 
#     def cls_from_name(self, name: str) -> Type:
#         return self.__config.get_class_from_name(name)
# 
#     @property
#     def kvetch(self) -> Kvetch:
#         return self.__kvetch
# 
#     @property
#     def config(self) -> PentConfig:
#         return self.__config
# 
#     # had to change things to nuke loader at beginning of request again
#     # @property
#     # def loader(self) -> 'PentLoader':
#     #     return self.__loader
# 
# class PentContextfulObject:
#     def __init__(self, context: PentContext) -> None:
#         self.__context = context
# 
#     @property
#     def context(self) -> PentContext:
#         return self.__context


from typing import Any, Dict, NamedTuple, cast
from graphql import graphql as graphql_main
from graphql import GraphQLSchema
from graphql.execution import ExecutionResult
from .pent import PentContext, PentContextfulObject
        import traceback




class GraphQLArg(NamedTuple):
    name: str
    arg_type: str
    value: Any


class InProcessGraphQLClient:

# Path: graphscale/pent.py
# class PentContext:
#     def __init__(self, *, kvetch: Kvetch, config: PentConfig) -> None:
#         self.__kvetch = kvetch
#         self.__config = config
#         self.loader = PentLoader(self)
# 
#     def cls_from_name(self, name: str) -> Type:
#         return self.__config.get_class_from_name(name)
# 
#     @property
#     def kvetch(self) -> Kvetch:
#         return self.__kvetch
# 
#     @property
#     def config(self) -> PentConfig:
#         return self.__config
# 
#     # had to change things to nuke loader at beginning of request again
#     # @property
#     # def loader(self) -> 'PentLoader':
#     #     return self.__loader
# 
# class PentContextfulObject:
#     def __init__(self, context: PentContext) -> None:
#         self.__context = context
# 
#     @property
#     def context(self) -> PentContext:
#         return self.__context


# Path: graphscale/graphql_client.py
from typing import Any, Dict, NamedTuple, cast
from graphql import graphql as graphql_main
from graphql import GraphQLSchema
from graphql.execution import ExecutionResult
from .pent import PentContext, PentContextfulObject
        import traceback





class GraphQLArg(NamedTuple):
    name: str
    arg_type: str
    value: Any


class InProcessGraphQLClient:

    def __init__(self, root_value: PentContextfulObject, graphql_schema: GraphQLSchema) -> None: