Metadata-Version: 1.1
Name: graphqlparser
Version: 0.0.3
Summary: Python bindings for libgraphqlparser (Cython-based)
Home-page: https://github.com/elastic-coders/py-graphqlparser
Author: Marco Paolini
Author-email: markopaolini@gmail.com
License: UNKNOWN
Description: Graphql parser based  on libgraphqlparser
        =========================================
        
        Python2.7+ Python3.4+ class-based bindings to libgraphqlparser
        
        See usage example in `examples/visitor_example.py`
        
        Still **EXPERIMENTAL**
        
        
        Installing
        ----------
        
        Prerequisites:
        
        - Install `cython`
        - Download and build `libgraphqlparser`
        
        
        Install using pip
        
        - set an env var `$GRAPHQL_HOME` to libgraphqlparser dir
        - `LDFLAGS="-L$GRAPHQL_HOME" CFLAGS="-I$GRAPHQL_HOME/c -I$GRAPHQL_HOME" pip install graphqlparser`
        
        
        Building from source
        --------------------
        
        Needed to rebuild the generate cython files from the libgraphql AST
        
        - download submodules with `git checkout --recursive`
        - build libgraphql library in folder `./libgraphql` (python2.7 required for building)
        (usually `pushd libgraphqlparser && cmake . && make && popd` works)
        - generate source code with `python ast/build_ast.py`
        - you can now switch to python 3
        - install `cython`
        - run `LDFLAGS="-L./libgraphqlparser" CFLAGS="-Ilibgraphqlparser/c -Ilibgraphqlparser" python setup.py build_ext`
        
        To package with wheel:
        - install wheel
        - create wheelhouse `mkdir .wheelhouse`
        - build with `pip wheel --wheel-dir=.wheelhouse .`
        
        
        Run
        ---
        
        Make sure `libgraphql` is available to the loader in your `LD_LIBRARY_PATH`
        
        
        Known issues
        ------------
        
        - Only (lightly) tested on python3
        - Unicode string handling not yet complete (a mixture of bytes and strings all over)
        - Exceptions in the visitor's class callbacks are ignored
        - libgraphqlparser is **dynamically** linked but It would be better if it was linked statically
        
        
        TODO
        ----
        
        - make wheels available on github
        - build more wheel packages for linux 32 bit and other platforms
        
        
        -----
        
        -----
        
        News
        ----
        
        v0.0.3
        ------
        
        - fixed packaging and building
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development :: Libraries :: Python Modules
