from __future__ import absolute_import, print_function, unicode_literals from wolframclient.utils.importutils import API ast = API( Module="ast.Module", PyCF_ONLY_AST="ast.PyCF_ONLY_AST", Expr="ast.Expr", Expression="ast.Expression", FunctionDef="ast.FunctionDef", ClassDef="ast.ClassDef", ) pytz = API( FixedOffset="pytz.FixedOffset", timezone="pytz.timezone", utc="pytz.utc", UnknownTimeZoneError="pytz.UnknownTimeZoneError", ) json = API( dumps="json.dumps", dump="json.dump", loads="wolframclient.utils.json.loads", load="json.load", JSONDecodeError="json.decoder.JSONDecodeError", ) zlib = API(compressobj="zlib.compressobj", decompressobj="zlib.decompressobj") os = API(
# -*- coding: utf-8 -*- from __future__ import absolute_import, print_function, unicode_literals from wolframclient.utils.importutils import API pytz = API( FixedOffset='pytz.FixedOffset', timezone='pytz.timezone', utc='pytz.utc', UnknownTimeZoneError='pytz.UnknownTimeZoneError') json = API( dumps='json.dumps', dump='json.dump', loads='wolframclient.utils.json.loads', load='json.load', JSONDecodeError='json.decoder.JSONDecodeError') zlib = API(compressobj='zlib.compressobj', decompressobj='zlib.decompressobj') os = API( X_OK='os.X_OK', access='os.access', expandvars='os.path.expandvars', expanduser='******', dirname='os.path.dirname', path_join='os.path.join', isfile='os.path.isfile', isdir='os.path.isdir', exists='os.path.exists',
from __future__ import absolute_import, print_function, unicode_literals from wolframclient.serializers.encoder import wolfram_encoder from wolframclient.serializers.serializable import WLSerializable from wolframclient.utils.importutils import API __all__ = ["export", "WLSerializable", "wolfram_encoder"] DEFAULT_FORMAT = "wl" available_formats = API( wl="wolframclient.serializers.wl.WLSerializer", wxf="wolframclient.serializers.wxf.WXFSerializer", ) def export(data, stream=None, target_format=DEFAULT_FORMAT, **options): """ Serialize input `data` to a target format. Input `data` can be any supported Python type, including :class:`list`, :class:`dict` or any serializable Python object. Serializable python objects are class extending :class:`~wolframclient.serializers.serializable.WLSerializable` and types declared in an encoder. The default format is :wl:`InputForm` string:: >>> export(wl.Range(3)) b'Range[3]' Specify WXF format by setting `target_format`::
from __future__ import absolute_import, print_function, unicode_literals from functools import partial from wolframclient.utils.importutils import API from wolframwebengine.web.utils import is_coroutine_function available_backends = API( aiohttp="wolframwebengine.web.aiohttp.generate_http_response", django="wolframwebengine.web.django.generate_http_response", ) def get_backend(backend): if not backend in available_backends: raise ValueError( "Invalid backend %s. Choices are: %s" % (backend, ", ".join(available_backends.keys())) ) return available_backends[backend] def generate_http_response(session, backend): generator = get_backend(backend) def outer(func): if is_coroutine_function(func): async def inner(request, *args, **opts): return await generator(session, request, await func(request, *args, **opts))