https://github.com/connorgray/wolfram-cli
Unofficial Wolfram command-line interface.
https://github.com/connorgray/wolfram-cli
command-line-tool wolfram
Last synced: 11 months ago
JSON representation
Unofficial Wolfram command-line interface.
- Host: GitHub
- URL: https://github.com/connorgray/wolfram-cli
- Owner: ConnorGray
- Created: 2022-11-05T19:05:12.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-21T17:38:00.000Z (almost 2 years ago)
- Last Synced: 2025-07-15T06:36:39.811Z (11 months ago)
- Topics: command-line-tool, wolfram
- Language: Mathematica
- Homepage:
- Size: 408 KB
- Stars: 14
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# `wolfram-cli`
#### [CLI Documentation](./docs/CommandLineHelp.md) | [*Changelog*](./docs/CHANGELOG.md) | [Contributing](#contributing)
## About
An unofficial Wolfram command-line interface.
## Usage
See [**Command Line Help**](./docs/CommandLineHelp.md).
## Installing `wolfram-cli`
This project is a development prototype, and must be build from source manually.
To install the `wolfram-cli` command-line tool, first clone this repository:
```shell
$ git clone https://github.com/ConnorGray/wolfram-cli
```
Next, install the `ConnorGray/WolframCLI` paclet locally by executing:
```shell
$ ./wolfram-cli/scripts/install-paclet.wls
```
Finally, install the `wolfram-cli` executable by invoking
[`cargo`](https://doc.rust-lang.org/cargo/):
```shell
$ cargo install --path ./wolfram-cli/crates/wolfram-cli
```
Verify the installation by executing:
```shell
$ wolfram-cli
```
Which should open an interactive REPL interface.
## Features
#### Run paclet tests from the command-line

*See also: [`$ wolfram-cli paclet test`](./docs/CommandLineHelp.md#wolfram-cli-paclet-test)*
#### Add custom subcommands via "WolframCLI" paclet extensions
Given an installed paclet that declares the following extension:
```wolfram
PacletObject[<|
...,
"Extensions" -> {
...,
{"WolframCLI",
"Subcommand" -> "travel-directions",
"HandlerFunction" -> "MyPackage`HandleTravelDirectionsSubcommand"
}
}
|>]
```
then `$ wolfram-cli travel-directions` will be handled by the
`HandleTravelDirectionsSubcommand[..]` function:

See [examples/TravelDirectionsCLI](./examples/TravelDirectionsCLI/) for the
complete example.
## Contributing
See [**Development.md**](./docs/Development.md) for instructions on how to perform
common development tasks.
*See [Maintenance.md](./docs/Maintenance.md) for instructions on how to maintain
this project.*