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 Languageand 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

Run run an external command-line program (!prog to run as a shell escape)

RunThrough feed standard input to an external program and capture output

Compile automatically generate C code and link back to the Wolfram Language

SystemOpen open a file, URL or other target on your computer system

Direct Control of External Processes »

RunProcess run an external process within the operating system

StartProcess  ▪  ProcessConnection  ▪  KillProcess  ▪  ...

Remote Program Execution

RemoteRun, RemoteRunProcess run programs on a remote system

RemoteConnect establish a persistent remote connection

$SSHAuthentication default SSH authentication for remote connections

External Services

SendMail  ▪  SendMessage

ServiceExecute execute a command on an external service

ServiceConnect  ▪  ServiceObject

Calling Interpreted Languages »

ExternalEvaluate run a command in an external language, and return the result

ExternalFunction call a function in an external language, and return the result

ExternalValue get the value of a variable from an external language

StartExternalSession start a persistent external language session

RegisterExternalEvaluator  ▪  ...

WSTP »

Install install a WSTP-installable external program

LinkPatterns find functions available in a running WSTP program

wsprep externally prepare a WSTPinstallable C or C++ program

LinkRead  ▪  LinkWrite  ▪  LinkLaunch  ▪  ...

Wolfram LibraryLink »

LibraryFunctionLoad load a function from a dynamic library into the Wolfram Language

LibraryFunction a function that calls into a dynamic library

LibraryFunctionInformation  ▪  LibraryFunctionUnload  ▪  LibraryLoad  ▪  LibraryUnload  ▪  FindLibrary  ▪  $LibraryPath  ▪  ...

J/Link »

JavaNew create a new Java object in any specified class

LoadJavaClass  ▪  MakeJavaObject  ▪  JavaBlock  ▪  JavaShow  ▪  ...

.NET/Link »

NETNew create a new .NET object of any specified type

LoadNETType  ▪  NETTypeInfo  ▪  MakeNETObject  ▪  NETBlock  ▪  ...

Wolfram Client Library for Python »

WolframLanguageSession start a persistent session with a local Wolfram Engine

WolframCloudSession connect to a cloud, public or private

Calling Programs on Remote Systems

RemoteConnect set up a connection to a remote system

RemoteRun, RemoteRunProcess run command-line programs on a remote system

WSDL Web Services »

InstallService install web services from a WSDL description

GPU Computing »

CUDAFunctionLoad  ▪  OpenCLFunctionLoad  ▪  ...