Source
This section provides steps to install the OpenBB Terminal and SDK from source. This installation type supports Windows, macOS and Linux systems. Before starting the installation process, make sure the following pieces of software are installed.
Miniconda
Go here to find the download for your operating system or use the links below:
- Apple-Silicon Systems: Miniconda for MacOS
- Intel-based Mac Systems: Miniconda for MacOS
- Linux and WSL Systems: Miniconda for Linux
- Raspberry PI Systems: Miniconda for Raspberry PI
- Windows Systems: Miniconda for Windows
To verify if Miniconda is installed on the system, open the command line and run the following command:
conda --version
If Miniconda is installed, a version number will be displayed, for example:
conda 23.1.0
There is a good chance the version of Conda is not current. Update it with the command below:
conda update -n base -c conda-forge conda
Git
Check to verify if Git is installed by running the following command:
git --version
Which will print something like this:
git version 2.31.1
If Git is not installed, install it now from conda
by running:
conda install git
Or follow the instructions here to install it.
Microsoft C++ Build Tools (Windows only)
Rosetta2 (Apple Silicon only)
Install Rosetta from the terminal with:
softwareupdate --install-rosetta
LibOMP (Apple Silicon only)
Apple Silicon does not ship libomp
by default. It will need to be installed manually for some features of the ML toolkit to work. The libomp
library can be installed from homebrew.
Check if Homebrew is installed by running the following command:
brew --version
If Homebrew is not installed, install it by running:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Or follow the instructions here.
To install LibOMP, run the following command:
brew install libomp
VcXsrv (Windows Subsystem for Linux only)
Since a WSL installation is headless by default (i.e., there is only access to a terminal running a Linux distribution) there are additional steps required to display visualizations. A more detailed tutorial is found, here.
- Dynamically export the DISPLAY environment variable in WSL2:
# add to the end of ~/.bashrc file
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
# source the file
source ~/.bashrc
- Download and install VcXsrv
- When running the program is important to check "Disable access control"
After this, VcXsrv
should be running successfully, and the machine is ready to proceed with the terminal installation.
Alternatives to VcXsrv
include:
GTK toolchains (Linux only)
GTK is a window extension that is used to display interactive charts and tables. The library responsible for interactive charts and tables (pywry
) requires certain dependencies, based on the Linux distribution, to be installed first.
Debian-based / Ubuntu / Mint
sudo apt install libwebkit2gtk-4.0-dev
Arch Linux / Manjaro
sudo pacman -S webkit2gtk
Fedora
sudo dnf install gtk3-devel webkit2gtk3-devel
Proceed to next steps once the requirements above have been met.
Clone the Source Code
Clone the OpenBB Terminal source code from GitHub. This will download the source code to the current working directory.
git clone https://github.com/OpenBB-finance/OpenBBTerminal.git
Enter the directory:
cd OpenBBTerminal
Create and Activate the Virtual Environment
Create the environment by copying the code below into the command line and agreeing to the prompts.
conda env create -n obb --file build/conda/conda-3-9-env.yaml
Additional YAML
files provide support for Python versions 3.8 and 3.10. Substitute the 9
, in the command above, with the desired version.
After the obb environment is created, activate it by entering:
conda activate obb
When the new environment is activated for the first time, it is required to clean up some artifacts in order for all dependencies to work nicely.
On macOS and Linux do this by running this script (copy and paste the launch code):
build/conda/cleanup_artifacts.sh
On Windows do this by running this script (copy and paste the launch code):
build\conda\cleanup_artifacts.bat
Install the OpenBB Terminal
Make sure to have completed all previous steps. If followed, the current working directory will be the location where the OpenBB Terminal source code lives.
Install the remaining dependencies and the terminal through Poetry, a package manager.
poetry install -E all
Read about Conda, Poetry and Python package management
For the best user experience we advise using conda
and poetry
for environment setup and dependency management. Conda ships binaries for packages like numpy
so these dependencies are not built from source locally by pip
. Poetry solves the dependency tree in a way that the dependencies of dependencies of dependencies use versions that are compatible with each other.
For Conda
environments, the build/conda
folder contains multiple .yaml
configuration files to choose from.
When using other Python distributions we highly recommend a virtual environment like virtualenv
or pyenv
for installing the terminal dependency libraries.
For people who prefer using "vanilla" pip
the requirements files are found in the project root:
requirements.txt
list main dependenciesrequirements-full.txt
list all the dependencies including Machine Learning and Portfolio Optimization libraries and dependencies for developers
They can be installed with pip
:
pip install -r requirements.txt
The dependency tree is solved by poetry.
Note: The libraries specified in the requirements files have been tested and work for the purpose of this project, however, these may be older versions. Hence, it is recommended for the user to set up a Python virtual environment prior to installing them. This keeps dependencies required by different projects in separate places.
After installing the requirements, install the terminal with:
pip install .
Once this installation process is completed, start the terminal by running:
python terminal.py
NOTE: When the OpenBB Terminal is opened next, the Python environment will need to be activated again. When using a code editor, make sure that the correct environment is selected. This should be easy to figure out if there is an error stating that there are missing packages. To launch the OpenBB Terminal application in a new terminal window, first navigate into the folder where the source code was cloned, and then use the following two commands:
conda activate obb
python terminal.py
TROUBLESHOOTING: Having difficulty getting through the installation, or encountering errors? Reach out to our Discord community for help.