Metadata-Version: 1.1
Name: olap.rest
Version: 0.1
Summary: REST access to a pyramid backed olap connection.
Home-page: https://github.com/may-day/olap
Author: Norman Krämer
Author-email: kraemer.norman@googlemail.com
License: Apache Software License 2.0
Description: olap.rest
        =========
        
        This package provides a REST interface to an object providing an IOLAPSource 
        or IXMLASource interface.
        
        Example usage
        =============
        
        A mini program exposing two interfaces:
        
        ```python
        from wsgiref.simple_server import make_server
        from pyramid.config import Configurator
        from pyramid.response import Response
        from pyramid.renderers import JSONP
        import olap.rest.pyramid as orest
        import olap.interfaces as oi
        import olap.xmla.xmla as xmla
        import cornice
        
        @orest.restify()
        class ExposeAll(orest.OLAPREST):
            pass
        
        @orest.restify()
        class SomeFixed(orest.OLAPREST):
            DATASOURCE="mondrian@localhost"
            CATALOG="FoodMart"
            CUBE="Sales"
        
        
        def reg_fixed(config):
            SomeFixed.register_service(config)
        
        def reg_all(config):
            ExposeAll.register_service(config)
        
        def main():
            config = Configurator()
        
            config.begin()
            config.add_renderer('jsonp', JSONP(param_name="callback"))
        
            reg = config.registry
            reg.registerUtility(xmla.XMLASource(location = "http://localhost:8080/mondrian/xmla"),
                                oi.IOLAPSource, "mondrian@localhost")
            reg.registerUtility(xmla.XMLASource(location = "http://localhost:8080/mondrian/xmla"),
                                oi.IOLAPSource, "mondrian2")
        
            cornice.includeme(config)
            config.include(reg_all, route_prefix="/all")
            config.include(reg_fixed, route_prefix="/fixed")
        
            app = config.make_wsgi_app()
            server = make_server('0.0.0.0', 6543, app)
            server.serve_forever()
        
        if __name__ == '__main__':
            main()
        
        ```
        
        The interface
        =============
        
        The following interface is exposed:
        
        * `(GET) /datasources`
        
        * `(GET) /datasource/{ds}`
        > Returns information of the OLAP connection known in the backend.
        
        * `(GET) /datasource/{ds}/catalogs`
        
        * `(GET) /datasource/{ds}/catalog/{cat}`
          > Retrieve information about the catalogs in a datasource.
          
        * `(GET) /datasource/{ds}/catalog/{cat}/sets`
        
        * `(GET) /datasource/{ds}/catalog/{cat}/set/{set}`
          > Retrieve information about the sets  in a catalog.
        
        `(GET) /datasource/{ds}/catalog/{cat}/hierarchies`
        
        `(GET) /datasource/{ds}/catalog/{cat}/hierarchy/{huname}`
          Retrieve information about the hierarchies in a catalog.
        
        `(GET) /datasource/{ds}/catalog/{cat}/measures`
        
        `(GET) /datasource/{ds}/catalog/{cat}/measure/{muname}`
          Retrieve information about the measures in a catalog.
        
        `(GET) /datasource/{ds}/catalog/{cat}/queries` 
          Returns all queries with attached results currently in the session cache.
        
        `(POST) /datasource/{ds}/catalog/{cat}/queries` 
          Create a new query, execute it and return its result along with a query id.
          The query is expected in a `mdx` property.
        
        `(GET) /datasource/{ds}/catalog/{cat}/query/{qid}`
          Returns results of a query if still in session cache.
        
        `(GET) /datasource/{ds}/catalog/{cat}/dimensions`
        
        `(GET) /datasource/{ds}/catalog/{cat}/dimension/{duname}`
          Retrieve information about the dimensions in a catalog.
        
        `(GET) /datasource/{ds}/catalog/{cat}/dimension/{duname}/members`
        
        `(GET) /datasource/{ds}/catalog/{cat}/dimension/{duname}/member/{muname}`
          Retrieve information about the members of a dimension in a catalog.
        
        `(GET) /datasource/{ds}/catalog/{cat}/cubes`
        
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}`
          Retrieve information about the cubes in a catalog.
        
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/sets`
          Return information about all sets in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/set/{set}`
          Return information about a set in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/measures`
          Return information about all measures in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/measure/{muname}`
          Return information about a measure in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/dimensions`
          Return information about all dimensions in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/dimension/{duname}`
          Return information about a dimension in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/hierarchies`
          Return information about all hierarchies in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/hierarchy/{huname}`
          Return information about a hierarchy in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/hierarchy/{huname}/members`
          Return information about all members of a hierarchy in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/hierarchy/{huname}/member/{muname}`
          Return information about a member of a hierarchy in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/hierarchy/{huname}/levels`
          Return information about all levels of a hierarchy in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/hierarchy/{huname}/level/{luname}`
          Return information about a level of a hierarchy in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/hierarchy/{huname}/level/{luname}/members`
          Return information about all members of a hierarchy's level in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/hierarchy/{huname}/level/{luname}/member/{muname}`
          Return information about a member of a hierarchy's level in a cube.
        
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/dimension/{duname}/members`
          Return information about all members of a dimension in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/dimension/{duname}/member/{muname}`
          Return information about a member of a dimension in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/hierarchy/{huname}/member/{muname}/children`
          Return information about the children of a hierarchy's member in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/hierarchy/{huname}/level/{luname}/properties`
          Return information about all properties of a hierarchy's level in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/hierarchy/{huname}/level/{luname}/property/{pname}`
          Return information about a property of a hierarchy's level in a cube.
        `(GET) /datasource/{ds}/catalog/{cat}/cube/{cube}/hierarchy/{huname}/member/{muname}/existingchildren`
          Return information about the NON EMPTY children of a hierarchy's member in a cube w.r.t. a
          second set specified in the query string parameter called `set2`.
        
        PATH parameter:
        
        :ds:
            the name that was used to register the connection as an utility
        :cat:
            a catalog name
        :cube:
            a cube name
        :duname:
            the unique name of a dimension
        :huname:
            the unique name of a hierarchy
        :luname:
            the unique name of a level
        :muname:
            the unique name of a member
        :pname:
            a property name
        :qid:
            the query id as returned when a query is created
        
        
        CHANGES
        =======
        
        
Platform: UNKNOWN
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 2
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
