Calling External Programs

The Wolfram Language immediately allows you to call both standalone programs and individual functions or methods within running programs. The Wolfram Language's architecture allows external functionality to be represented in a symbolic form that can immediately be manipulated within the Wolfram Language—and that often makes access to external functionality from within the Wolfram Language more convenient even than from its own native environment.

Basic External Program Operations

(RefLink[Run, paclet:ref/Run]) — run an external command-line program (!prog to run as a shell escape)

(RefLink[RunThrough, paclet:ref/RunThrough]) — feed standard input to an external program and capture output

(RefLink[Compile, paclet:ref/Compile]) — automatically generate C code and link back to the Wolfram Language

(RefLink[SystemOpen, paclet:ref/SystemOpen]) — open a file, URL or other target on your computer system

(OrangeLink[Direct Control of External Processes », paclet:guide/DirectControlOfExternalProcesses])

(RefLink[RunProcess, paclet:ref/RunProcess]) — run an external process within the operating system

Remote Program Execution

(RefLink[RemoteRun, paclet:ref/RemoteRun]), (RefLink[RemoteRunProcess, paclet:ref/RemoteRunProcess]) — run programs on a remote system

(RefLink[RemoteConnect, paclet:ref/RemoteConnect]) — establish a persistent remote connection

(RefLink[$SSHAuthentication, paclet:ref/$SSHAuthentication]) — default SSH authentication for remote connections

(OrangeLink[External Services, paclet:guide/AccessingExternalServicesAndAPIs])

(RefLink[ServiceExecute, paclet:ref/ServiceExecute]) — execute a command on an external service

(OrangeLink[Calling Interpreted Languages », paclet:guide/ExternalInterpretedLanguageInterfaces])

(RefLink[ExternalEvaluate, paclet:ref/ExternalEvaluate]) — run a command in an external language, and return the result

(RefLink[ExternalFunction, paclet:ref/ExternalFunction]) — call a function in an external language, and return the result

(RefLink[ExternalValue, paclet:ref/ExternalValue]) — get the value of a variable from an external language

(RefLink[StartExternalSession, paclet:ref/StartExternalSession]) — start a persistent external language session

(OrangeLink[WSTP », paclet:guide/WSTPAPI])

(RefLink[Install, paclet:ref/Install]) — install a WSTP-installable external program

(RefLink[LinkPatterns, paclet:ref/LinkPatterns]) — find functions available in a running WSTP program

(RefLink[wsprep, paclet:ref/program/wsprep]) — externally prepare a WSTP-installable C or C++ program

(OrangeLink[Wolfram LibraryLink », paclet:guide/LibraryLink])

(RefLink[LibraryFunctionLoad, paclet:ref/LibraryFunctionLoad]) — load a function from a dynamic library into the Wolfram Language

(RefLink[LibraryFunction, paclet:ref/LibraryFunction]) — a function that calls into a dynamic library

(OrangeLink[J/Link », paclet:JLink/guide/JavaInterface])

(PackageLink[JavaNew, paclet:JLink/ref/JavaNew, JLink Package Symbol]) — create a new Java object in any specified class

(OrangeLink[.NET/Link », paclet:NETLink/guide/DotNETInterface])

(PackageLink[NETNew, paclet:NETLink/ref/NETNew, NETLink Package Symbol]) — create a new .NET object of any specified type

(OrangeLink[Wolfram Client Library for Python », paclet:guide/WolframClientLibraryForPython])

(WebLink[WolframLanguageSession, https://reference.wolfram.com/language/WolframClientForPython/api/wolframclient.evaluation.html#wolframclient.evaluation.WolframLanguageSession]) — start a persistent session with a local Wolfram Engine

(WebLink[WolframCloudSession, https://reference.wolfram.com/language/WolframClientForPython/api/wolframclient.evaluation.html#wolframclient.evaluation.WolframCloudSession]) — connect to a cloud, public or private

Calling Programs on Remote Systems

(RefLink[RemoteConnect, paclet:ref/RemoteConnect]) — set up a connection to a remote system

(RefLink[RemoteRun, paclet:ref/RemoteRun]), (RefLink[RemoteRunProcess, paclet:ref/RemoteRunProcess]) — run command-line programs on a remote system

(OrangeLink[WSDL Web Services », paclet:WebServices/guide/WebServiceOperations])

(RefLink[InstallService, paclet:ref/InstallService]) — install web services from a WSDL description

(OrangeLink[GPU Computing », paclet:guide/GPUComputing])

(PackageLink[CUDAFunctionLoad, paclet:CUDALink/ref/CUDAFunctionLoad, CUDALink Package Symbol])  ▪  (PackageLink[OpenCLFunctionLoad, paclet:OpenCLLink/ref/OpenCLFunctionLoad, OpenCLLink Package Symbol])  ▪  (RefLinkPlain[..., paclet:guide/GPUComputing])