-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpython.tex
More file actions
6 lines (3 loc) · 1.31 KB
/
Copy pathpython.tex
File metadata and controls
6 lines (3 loc) · 1.31 KB
1
2
3
4
5
6
One of the most visible additions to \osprey 3.0 is the Python application programming interface (API), which allows fine-grained control over design parameters in a streamlined and easy-to-use experience. \osprey 3.0 still supports a command-line interface with configuration files for backwards compatibility, but new development will be focused mostly on the new Python interface. %\jeff{Is this even true? Not entirely sure...}
The \osprey 3.0 distribution contains a Python module which is installed using the popular package manager {\sc pip}. Once installed, using \osprey 3.0 is as easy as writing a Python script. High-performance computations are still performed in the Java virtual machine to give the fastest runtimes, so Java is still required to run \osprey 3.0, but communication between the Python environment and the Java environment is handled behind-the-scenes, and \osprey 3.0 still looks and feels like a regular Python application.
See Figure~\ref{fig:pythonGMEC} for a complete example of a Python script that performs a very simple design using \osprey 3.0, and Figure~\ref{fig:pythonBBKS} for a slightly more involved design using \bbks~\cite{BBK*} (a new algorithm in \osprey 3.0, described in its own section below). Figure~\ref{fig:pythonBBKSpic} graphically displays the design setup for the \bbks design.