Wolfram Language Cloud Support
Wolfram Language Cloud Support
This document lists Wolfram Language symbols (functions & constants) and their support status in Wolfram Cloud.
A lot of core functionality of the language “just works” in the cloud, since a full Wolfram Engine is used on cloud servers to make kernel evaluations. However, some functions that require certain frontend functionality, external libraries or system services do not fully work (yet) or might be restricted for security reasons.
The focus of this document is on the support of functions at evaluation time. For details regarding notebook rendering, please see the Cloud Notebooks Implementation Notes. For instance, some box options might be indicated as “supported” in this documented even though they are not actually supported by (all) boxes in the cloud frontend (yet).
The information here is provided on a “best-efforts” basis and reflects our current knowledge. We cannot guarantee accuracy or completeness.
Incorporating this information into the official Wolfram Language documentation and WolframLanguageData is in progress.
Raw data and function definitions
Raw data and function definitions
Support status by functionality area
Support status by functionality area
Symbol lists
Symbol lists
Fully supported
Fully supported
The following symbols should be fully supported in Wolfram Cloud:
In[]:=
supported=Union[categorySymbols[supportedCoreCategories],categorySymbols[supportedExtendedCategories],symbolNames[unsupportedCategoriesExceptions],symbolNames[restrictedCategoriesExceptions],Complement[categorySymbols[partiallySupportedCategories],symbolNames[partiallySupportedSymbols],symbolNames[unsupportedSymbols],symbolNames[restrictedSymbols]]]
In[]:=
Length[supported]
Out[]=
5157
Partially supported
Partially supported
The following symbols are partially supported in Wolfram Cloud, i.e. they work to a certain degree, but not all options and variations are fully supported (see additional notes below):
In[]:=
partial=Union[symbolNames[partiallySupportedSymbols]]
Out[]=
{AbsoluteCurrentValue,AbsoluteOptions,AlignmentPoint,Appearance,BaselinePosition,BaseStyle,CellBracketOptions,Cells,Clock,CodeAssistOptions,ColorSlider,ContentSize,CurrentValue,Dataset,Deployed,DynamicGeoGraphics,EvaluationBox,EventHandler,FrontEndExecute,FrontEndToken,FrontEndTokenExecute,GestureHandler,Graphics3D,Inset,ItemSize,LibraryFunctionLoad,LibraryLoad,Lighting,Mouseover,NetTrain,NotebookFind,NotebookGet,NotebookImport,NotebookLocate,NotebookSelection,NotebookTemplate,NotebookWrite,ParentBox,PassEventsDown,PassEventsUp,PersistenceLocation,PopupWindow,Printout3D,PrivateCellOptions,PrivateFontOptions,Refresh,ScrollingOptions,Selectable,SelectionMove,SessionSubmit,SpellingOptions,StyleData,StyleDefinitions,TableHeadings,TrackingFunction,WindowTitle}
In[]:=
Length[partial]
Out[]=
56
Not supported (yet)
Not supported (yet)
The following symbols are not supported in Wolfram Cloud, mostly because they’re not implemented yet (or, in a few cases, because they’re just not applicable in a web application):
In[]:=
unsupported=Union[Complement[categorySymbols[unsupportedCategories],symbolNames[unsupportedCategoriesExceptions]],symbolNames[unsupportedSymbols]]
Out[]=
{AdjustmentBoxOptions,AllowGroupClose,AllowInlineCells,AllowReverseGroupClose,AudioCapture,AudioPause,AudioPlay,AudioStop,AudioStream,AudioStreams,AutoAction,AutoDelete,AutoIndent,AutoItalicWords,AutorunSequencing,AutoScroll,BeginDialogPacket,ButtonMinHeight,CallPacket,CellBaseline,CellChangeTimes,CellContext,CellEditDuplicate,CellEpilog,CellEvaluationDuplicate,CellEvaluationFunction,CellEventActions,CellGrouping,CellProlog,ClickPane,ColumnLines,ColumnsEqual,ColumnSpacings,ColumnWidths,ContentSelectable,ContinuousTask,ControlActive,ControllerInformation,ControllerLinking,ControllerManipulate,ControllerMethod,ControllerPath,ControllerState,ControlsRendering,CoordinatesToolOptions,Copyable,CreateCellID,CreatePalette,CurrentNotebookImage,CurrentScreenImage,DefaultDuplicateCellStyle,DefaultElement,DefaultNaturalLanguage,Deinitialization,Deletable,DelimiterFlashTime,Deploy,Dialog,DisplayEndPacket,DynamicImage,DynamicSetting,DynamicUpdating,EndDialogPacket,EnterExpressionPacket,EnterTextPacket,ErrorBox,EvaluatePacket,EvaluationElements,Evaluator,FieldCompletionFunction,FindSettings,FinishDynamic,FontSubstitutions,FontTracking,FormBoxOptions,FractionBoxOptions,FrontEndDynamicExpression,FrontEndEventActions,GridDefaultElement,GroupPageBreakWithin,HandlerFunctions,HandlerFunctionsKeys,Hyphenation,ImageCapture,ImageCaptureFunction,InheritScope,InputAliases,InputAutoReplacements,InputNamePacket,InputPacket,InputStringPacket,InsertResults,Interactive,InteractiveTradingChart,InterpretationBoxOptions,IntervalSlider,Language,LanguageCategory,LimitsPositioning,LineIndent,LineIndentMaxFraction,LineSpacing,Locator,LocatorAutoCreate,LocatorRegion,Looping,Manual,MenuCommandKey,MenuPacket,MenuSortingValue,MessagePacket,MinIntervalSize,Modal,MoleculeRecognize,MouseAppearance,NextCell,NotebookApply,NotebookAutoSave,NotebookEvaluate,NotebookEventActions,NotebookPrint,NotebookSave,NotebooksMenu,NotificationFunction,OutputNamePacket,OutputSizeLimit,OverscriptBoxOptions,PageBreakAbove,PageBreakBelow,PageBreakWithin,PageFooters,PageHeaders,PageWidth,PaletteNotebook,ParagraphIndent,ParagraphSpacing,ParentCell,ParentNotebook,Paste,PasteButton,PingTime,PlaceholderReplace,PreviousCell,PrintingStyleEnvironment,Printout3DPreviewer,PrivateNotebookOptions,RadicalBoxOptions,RawData,RemoveAudioStream,RemoveVideoStream,RenderingOptions,ReturnExpressionPacket,ReturnPacket,ReturnTextPacket,RowLines,RowMinHeight,RowsEqual,RowSpacings,RulerUnits,ScrollPosition,SelectedCells,SelectionCreateCell,SelectionEvaluate,SelectionEvaluateCreateCell,SetSelectedNotebook,Setting,ShowAutoStyles,ShowCellTags,ShowCursorTracker,ShowPageBreaks,ShowSelection,ShowSpecialCharacters,ShrinkingDelay,SqrtBoxOptions,StatusArea,StripOnInput,StructuredSelection,SubscriptBoxOptions,SubsuperscriptBoxOptions,SubtitleEncoding,SubtitleTracks,SuperscriptBoxOptions,SyntaxPacket,SystemInformation,TableView,TagBoxOptions,TextClipboardType,TextPacket,TouchPosition,TouchscreenAutoZoom,TouchscreenControlPlacement,TransitionDirection,TransitionDuration,TransitionEffect,Trigger,UnderoverscriptBoxOptions,UnderscriptBoxOptions,UndoOptions,UndoTrackedVariables,UpdateInterval,VersionedPreferences,Video,VideoEncoding,VideoExtractFrames,VideoFrameList,VideoFrameMap,VideoPause,VideoPlay,VideoQ,VideoStop,VideoStream,VideoStreams,VideoTimeSeries,VideoTracks,VideoTrim,Visible,WindowClickSelect,WindowElements,WindowFloating,WindowFrame,WindowFrameElements,WindowMargins,WindowOpacity,WindowSize,WindowStatusArea,WindowToolbars,$ActivationKey,$AudioInputDevices,$ControlActiveSetting,$DefaultAudioInputDevice,$DefaultFrontEnd,$DefaultImagingDevice,$FrontEnd,$FrontEndSession,$LicenseID,$OutputSizeLimit,$SubtitleDecoders,$SubtitleEncoders,$VideoDecoders,$VideoEncoders}
In[]:=
Length[unsupported]
Out[]=
240
Some of these unsupported functions (as well as restricted functions) generate an error message and return $Failed when evaluated in the cloud.
Restricted (in Public Cloud)
Restricted (in Public Cloud)
The following symbols are not supported in the “public” Wolfram Cloud (wolframcloud.com) due to security restrictions, but could potentially be enabled in a Wolfram Enterprise Private Cloud (EPC):
In[]:=
restricted=Union[Complement[categorySymbols[restrictedCategories],symbolNames[restrictedCategoriesExceptions]],symbolNames[restrictedSymbols]]
Out[]=
{AbortKernels,CloseKernels,ConnectSystemModelComponents,CreateDataSystemModel,CreateSystemModel,CriticalSection,DatabaseConnect,DatabaseDisconnect,DatabaseReference,DeviceClose,DeviceConfigure,DeviceExecute,DeviceExecuteAsynchronous,DeviceObject,DeviceOpen,DeviceRead,DeviceReadBuffer,DeviceReadLatest,DeviceReadList,DeviceReadTimeSeries,Devices,DeviceStreams,DeviceWrite,DeviceWriteBuffer,DistributedContexts,DistributeDefinitions,EvaluationObject,ExternalEvaluate,ExternalFunction,ExternalObject,ExternalSessionObject,ExternalSessions,ExternalValue,FindDevices,FindExternalEvaluators,FindSystemModelEquilibrium,ImagingDevice,InstallService,KernelObject,Kernels,KillProcess,LaunchKernels,LocalSubmit,NetworkPacketCapture,NetworkPacketRecording,NetworkPacketTrace,ParallelArray,ParallelCombine,ParallelDo,ParallelEvaluate,Parallelize,ParallelMap,ParallelNeeds,ParallelProduct,ParallelSubmit,ParallelSum,ParallelTable,ParallelTry,ProcessConnection,ProcessDirectory,ProcessEnvironment,Processes,ProcessInformation,ProcessObject,ProcessStatus,RegisterExternalEvaluator,RelationalDatabase,RemoteAuthorizationCaching,RemoteConnect,RemoteConnectionObject,RemoteRun,RemoteRunProcess,RunProcess,SemanticImport,SetEnvironment,SetSharedFunction,SetSharedVariable,SetSystemModel,SocketConnect,SocketListen,SocketListener,SocketObject,SocketOpen,SocketReadMessage,SocketReadyQ,Sockets,SocketWaitAll,SocketWaitNext,StartExternalSession,StartProcess,StartWebSession,SystemCredential,SystemCredentialData,SystemCredentialKey,SystemCredentialKeys,SystemCredentialStoreObject,SystemInstall,SystemModel,SystemModeler,SystemModelExamples,SystemModelLinearize,SystemModelParametricSimulate,SystemModelPlot,SystemModelProgressReporting,SystemModelReliability,SystemModels,SystemModelSimulate,SystemModelSimulateSensitivity,SystemModelSimulationData,SystemProcessData,SystemProcesses,TargetDevice,UnregisterExternalEvaluator,UnsetShared,WaitAll,WaitNext,WebElementObject,WebExecute,WebImage,WebSessionObject,WebSessions,WebWindowObject,$ConfiguredKernels,$CurrentWebSession,$DefaultNetworkInterface,$DefaultSystemCredentialStore,$DistributedContexts,$ImagingDevice,$NetworkInterfaces,$SharedFunctions,$SharedVariables,$SystemCredentialStore}
In[]:=
Length[restricted]
Out[]=
132
There might still be some plumbing involved in actually enabling these in an EPC and they are not officially supported and tested in the cloud, but it should be relatively straight-forward to make them work.
Consistency check
Consistency check
Additional Notes
Additional Notes
By functionality area
By functionality area
◼
“AsynchronousTaskSymbols”: task cannot notify notebook client asynchronously (due to missing Service Link)
◼
“ChartSymbols”: not all charts are fully interactive, e.g. no tooltips
◼
“DirectorySymbols”, “StreamSymbols”: file system is a little special in the cloud (raw files != cloud objects)
◼
“ExternalProcessSymbols”, “ExternalSessionSymbols”: can work in EPC (if sandbox is disabled)
◼
“FrontEndExecutionSymbols”: not all tokens and commands supported
◼
“GaugeSymbols”: render OK, but no dynamic changing
◼
“InitializationSymbols”: not all persistence locations are supported
◼
“PacketSymbols”: packets are working and used behind the scenes in the Wolfram Engine in the cloud, but they should not be relied upon in any user code
◼
“PacletManagerSymbols”: user-defined paclets should work in Cloud 1.54.2 / Wolfram Engine 12.1, just not in a global location
◼
“SoundSymbols”: only work in a cloud notebook, not in forms etc. (like many other functions)
◼
“VideoSymbols”: will be supported soon (modulo codec complications, esp. on EPC)
By symbol
By symbol
◼
AbsoluteOptions: usually returns the raw option value (like Options), not the effective value
◼
Animate / Animator: generally works, but updates are often not fast enough for a smooth animation
◼
AutorunSequencing: there is no Autorun in cloud Manipulate
◼
BaseStyle, DefaultBaseStyle: not supported in all boxes
◼
Cells: only top-level cells (not inline cells) are supported; only filters based on CellStyle and CellTags are supported
◼
Clock: doesn’t trigger dynamic updates (perhaps due to missing Service Link)
◼
CodeAssistOptions: only supported sub option is “FloatingElementDelay”
◼
ColorSlider: not an actual slider but rendered as a color picker
◼
ContinuousAction: different default behavior
◼
CurrentValue: the location object (first argument out of two) is not fully supported (sometimes values associated with a different level in the hierarchy are returned); supported items include MouseAnnotation, MosueOver, MousePosition, WindowSize, OuterWindowSize, CounterValue, MaxCounterValue, StyleHints, TaggingRules, FontCapHeight, Magnification, NotebookSelected, in addition to any explicit option values set on a notebook or cell
◼
Dataset: not fully interactive
◼
Dialog: final output cell is not placed correctly
◼
DynamicGeoGraphics: not all primitives supported
◼
EvaluationBox: will evaluate to a BoxObject (when evaluated in a Dynamic), but BoxObjects are not supported in many other functions yet
◼
EventHandler: supported events include MosueClicked, MouseDown, MouseUp, MouseMoved, MouseDragged, MouseEntered, MouseExited, ReturnKeyDown, EscKeyDown; support inside graphics is more limited
◼
FrontEndExecute: sends expressions for client-side evaluation to the cloud front end, which does not support the same set of functions as the desktop front end; see below for a list of supported FrontEndTokens
◼
FrontEndToken: supported tokens include EvaluateCells, HandleShiftReturn, OpenCloseGroup, OpenHelpLink, ScrollPageFirst, ScrollPageLast, ScrollPageNext, ScrollPagePrevious, ScrollPageTop, ScrollPageBottom, SelectionConvert
◼
Graphics3D: only limited rendering while interacting (e.g. no support for Lighting, ViewProjection and various primitives; but various things such as Mesh, Opacity, Specularity are supported even during interaction)
◼
Here returns position of requester, FindGeoLocation[] returns position of cloud server
◼
Hyperlink: potentially behaves differently from desktop w.r.t. opening a new browser tab/window
◼
Inset: positioning does not always match desktop behavior (can be off by a few pixels due to font differences between client and server)
◼
Install, LinkLaunch: can only work in EPC (if sandbox is disabled)
◼
IntervalSlider: only rendered as a static image right now
◼
ItemSize: no height specs supported yet
◼
LibraryLoad, LibraryFunctionLoad: can only work in EPC (if sandbox is disabled)
◼
Locator: not supported as a standalone primitive in graphics; but it is supported as a Manipulate control type (which translates into a LocatorPane)
◼
Magnification: not (yet) synchronized between View menu and notebook file
◼
Manual: no manual cell grouping
◼
MemoryAvailable, SessionTime, TimeRemaining: might give unusual results in the cloud, but not necessarily wrong
◼
Mouseover: not supported in graphics
◼
NetTrain: no support for “TargetDevice”->”GPU”
◼
NotebookAutoSave, NotebookSave: auto-saving is always on in cloud
◼
NotebookFind: only filters based on CellStyle and CellTags are supported; no additional options are supported
◼
NotebookLocate: only supports URL and tag targets; when a tag is specified, triggers a selection change on the client side, but does not immediately affect the server-side selection model (so subsequent functions relying on the current selection might not see the update)
◼
NotebookOpen: does not support extensive searching in directories (so an absolute path is preferred); does not support the option Visible->False; if the file was just created, it might not be available for opening immediately
◼
NotebookSelection: does not support e.g. querying Options of current selection
◼
NotebookTemplate: interactive editing of template notebooks is not fully supported in the cloud yet
◼
NotebookWrite: only NotebookObject and CellObject (not BoxObject) are supported as the target (first argument); changing the selection (third argument) is only supported in the case of a NotebookObject, and only the values After, Before, All are supported
◼
PersistenceLocation: FrontEnd location is not supported
◼
PopupWindow: looks quite different in cloud
◼
Printout3D: throws messages and does not work with any “local” previewer or printer, but sending models to 3rd-party preview services seems to work
◼
Refresh: no support for UpdateInterval (due to missing Service Link)
◼
ScheduledTask: only intervals down to about 1 hour are enabled (outside EPC with unrestricted access)
◼
ScrollingOptions: only “PagewiseDisplay” is supported
◼
SelectionMove: only NotebookObject and CellObject (not BoxObject) are supported as the target; only the unit specifications Cell, CellContents, Notebook are supported
◼
SemanticImport: not allowed in sandbox mode
◼
SessionSubmit: task cannot notify notebook client asynchronously (due to missing Service Link)
◼
Setting: does not take into account all interactive changes of a control
◼
SpellingOptions: most sub options are supported, but not “MisspelledWordStyle”
◼
StyleData, StyleDefinitions: there are some limitations to support of custom notebook stylesheets in the cloud
◼
TableHeadings: no separator lines drawn in grid
◼
TrackingFunction: doesn’t seem to enforce restrictions during interactions
◼
WindowTitle: used to inform the window title in the deployed notebook view (at least once the notebook has been prerendered on the server)
◼
$ActivationKey, $LicenseID: happens to return a result right now, but not guaranteed to keep working
◼
$CharacterEncoding: will change to “UTF-8” at some point
◼
$DefaultFrontEnd, $FrontEnd, $FrontEndSession: retrieving or setting options is not supported
◼
$ScriptCommandLine, $ScriptInputString: return empty result, like in a desktop notebook (as expected)
General notes
General notes
◼
Notebook programming operations (NotebookGet, NotebookPut, etc.): usually only certain variants supported; operations across different notebooks (including dialogs) are not fully supported
◼
Test notebooks: interactive editing not supported yet, but running tests seems to work just fine