Files
OpenBB/website/content/platform/installation.md
Henrique Joaquim 8d060dc071 [Feature] CLI docs (#6362)
* cli docs website

* changes

* remove unused feat flags

* typo

* yeet stuff that can't be used

* some progress

* Add home screenshot

* screenshots.md

* fix links

* new cards for cli pages

* start config page

* more updates

* Add screenshots

* flatten some things.

* fix link

* some more updates

* some routine stuff

* codespell

* cli color

* results in the global commands

* increase codeBlock line-height

* remove platform warning, obb is a class

* minor change, danger warning

* typo?

* Data processing commands

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
2024-05-14 15:44:07 +00:00

7.6 KiB
Vendored

title, sidebar_position, description, keywords
title sidebar_position description keywords
Installation 1 This page presents the general system requirements, supported environments, installation procedures, and setup for running the OpenBB Platform. It discusses the prerequisites including Python version, operating system requirements, Docker usage, and the process of building the platform from source.
OpenBB Platform
Python
System requirements
Supported environments
Installation
Docker
Python virtual environment
Installation from source
Windows 10
Mac OS Big Sur
Linux
Package installation
VS Code
PyCharm
Jupyter
GitHub
Conda
venv
API
Repository
pip
Poetry
Toml
PyPI
Node.js
npm

import HeadTitle from '@site/src/components/General/HeadTitle.tsx';

General System Requirements

Most systems capable of running Python 3.8-3.11 will be compatible with the OpenBB Platform. A modern processor (five years or less), running an up-to-date operating system, with at least 4GB of RAM, is recommended. Maintaining the system with current patches ensures maximum compatibility. At a minimum, Windows and macOS should be:

  • Windows 10
  • Mac OS Big Sur

Linux users should run the command line update for the package manager, prior to installation.

Supported Environments

The OpenBB Platform is installed within a Python virtual environment. It is compatible with versions of Python between 3.8 and 3.11, inclusively. The method for creating the environment will be a matter of user preference, from the command line - Conda, venv, etc. - or in a code editor and IDE - VS Code, PyCharm, Jupyter.

If you're interested in using the Docker container, skip ahead to the specific section below.

For those new to Python, this article shares some tips on getting started and why environments are important.

See this guide for creating a Python environment in VS Code.

With the environment created, and activated, begin the installation process.

Installation

Before installation, update the package manager so that pip is current, then create the environment with the desired version of Python.

:::note Installing packages directly to the system Python or base environment is not recommended. Create a new environment first (can be any name, using openbb here for example).

conda create -n openbb python=3.11
conda activate openbb

:::

PyPI

Install from PyPI with:

pip install openbb

This will install the core OpenBB Platform, along with officially supported extensions and providers.

To install all extensions and providers (both officially supported and community maintained ones):

pip install openbb[all]

:::tip In a macOS zsh Terminal shell, add quotation marks around the library name.

"openbb[all]" :::

To install a single extension:

pip install openbb[charting]
pip install openbb[ta]

Or install a single provider:

pip install openbb[yfinance]

To install the Nightly distribution (this installs all extras by default):

pip install openbb-nightly

From your python interpreter, import the OpenBB Platform:

from openbb import obb

When the package is imported, any installed extensions will be discovered, imported and available for use.

:::note Currently if you wish to have the bare-bones openbb package with no extensions or providers, you can install with:

pip install openbb-core && pip install openbb --no-deps

:::

Docker

OpenBB provides a .dockerfile on GitHub.

Run the following command from the repo root to build the image:

docker build -f build/docker/api.dockerfile -t openbb-platform:latest .

To run it:

docker run --rm -p 8000:8000 -v ~/.openbb_platform:/root/.openbb_platform openbb-platform:latest

This will mount the local ~/.openbb_platform directory into the Docker container to use with the API keys and preferences from there, and it will expose the API on port 8000.

Source

To build the OpenBB Platform from the source code, first install git:

pip install git

Next, clone the repository from GitHub:

git clone git@github.com:OpenBB-finance/OpenBBTerminal.git

When it is done, checkout the branch where the code is living:

git checkout develop

Then, cd into the directory:

cd openbb_platform

Install required packages

pip install poetry toml

Finally, run the developer installation script:

python dev_install.py

:::note To install all extensions and providers, run: python dev_install.py -e :::

Post-Installation

With a fresh installation, and upon installing or uninstalling extensions, the Python interface needs to be built. This is done automatically, but can be manually triggered if required. Start a Python session and then import openbb:

python

from openbb import obb

exit()

To manually trigger the build:

import openbb
openbb.build()

Restart the Python interpreter and then begin using the OpenBB Platform.

from openbb import obb

Start the REST API with:

uvicorn openbb_core.api.rest_api:app --host 0.0.0.0 --port 8000 --reload

See more information about using the REST API in the usage section

Hub Synchronization

Once you have installed the OpenBB Platform with the desired providers and extensions, you can synchronize with the OpenBB Hub. The main benefit of this is that you can use your single login to access your saved credentials and preferences from any instance. To login, you can use the login method, either using your email and password:

obb.account.login(email='my_email_here', password='my_password_here')

Or using your personal access token:

obb.account.login(pat='my_pat_here')

Documentation

The documentation and packages are kept in the /website folder, at the base of the repository. Navigate there to install the dependencies and start the development server.

Generate Markdown Files

Markdown files for the Reference and Data Models pages need to be generated. This will generate content based on what is actually installed and contained locally, so it may appear different than what is on this website.

Open a terminal command line to the /OpenBBTerminal/website folder, then enter:

python generate_platform_v4_markdown.py

Node.js

  • Node.js >= 16.13.0 To check if Node.js installed, run this command:
node --version # should be v16.13.0 or higher

Install Dependencies

npm install

Start Development Server

npm start

This starts a local development server at: http://localhost:3000

Most changes are reflected live without having to restart the server.

Build

npm run build

This command generates static content into the build directory and can be served using any static contents hosting service. OpenBB uses Github Pages to host our website, it's deployed in the gh-pages branch.