from werkzeug.wrappers import Request, Response from werkzeug.serving import run_simple from jsonrpc import JSONRPCResponseManager, dispatcher import monoIso @dispatcher.add_method def foobar(**kwargs): return kwargs["foo"] + kwargs["bar"] @Request.application def application(request): # Dispatcher is dictionary {: callable} dispatcher["monoIso"] = lambda mzData, iData: monoIso.deisotope(mzData, iData) response = JSONRPCResponseManager.handle( request.get_data(cache=False, as_text=True), dispatcher) return Response(response.json, mimetype='application/json') if __name__ == '__main__': run_simple('localhost', 59870, application)