A versatile Jupyter cell magic that allows running a cell with any command line utility.
Project description
AnyCmd
Do the provided cell magics not quite fit your needs? AnyCmd is a versatile Jupyter cell magic that allows you to run a cell with any command line utility. Simply specify the command you want to run as arguments after the magic. Access the contents of the cell as a file using the literal string "%FILE" or "%FILE.someExtension"
By default, the command specified after the magic will be run from a temporary working directory. However, you may use -d/--dir to chdir into a custom directory before running the cell command. Use "-d ." to run it in the current working directory.
Use -i/--inplace if you would like to write the cell contents temp files in the specified working directory, rather than the temporary directory (has no effect without --dir). This may help with compilers that reference libraries in the same directory, for instance.
Use "-p/--print" to print command output live, instead of outputting to the cell. This may improve readability, and make it easier to debug long-running commands.
-l/--lines adds a newline character before the cell contents in the temporary file to offset the first line taken up by the cell magic. This may help prevent interpreter error messages that reference a line number one line before the actual error when jupyter line numbers are enabled.
You may install this package via PyPi:
!pip install anycmd-jupyter-magic
%load_ext anycmd
Example (compiling and running c++):
%%any -p -- clang++ -O3 %FILE.cpp -o file && ./file
#include <iostream>
using namespace std;
int main(int argc, const char** argv) {
cout << "Hello World\n";
}
Result:
Hello World
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for anycmd-jupyter-magic-0.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70c29f8d1e99e10f2bf13513ee2932d532575e99c88f2e91b268eb5f47bcc1a7 |
|
MD5 | 6c1ccc0a9b3ee9591a8df000e1f9cc37 |
|
BLAKE2b-256 | fab6ba58aad64248cd841d48f5e74737c318011ac7160f11ece96dcbf3e2f4ac |