mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-27 04:31:13 +00:00
302 lines
8.2 KiB
Markdown
Vendored
302 lines
8.2 KiB
Markdown
Vendored
---
|
|
title: Installation
|
|
sidebar_position: 1
|
|
description: 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.
|
|
keywords:
|
|
- 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';
|
|
|
|
<HeadTitle title="Installation | OpenBB Platform Docs" />
|
|
|
|
## 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](https://docs.conda.io/projects/miniconda/en/latest/miniconda-install.html), [venv](https://docs.python.org/3/library/venv.html), etc. - or in a code editor and IDE - [VS Code](https://code.visualstudio.com/docs/languages/python), [PyCharm](https://www.jetbrains.com/pycharm/), [Jupyter](https://jupyter.org/).
|
|
|
|
If you're interested in using the [Docker](/platform/installation#docker) container, skip ahead to the specific section [below](/platform/installation#docker).
|
|
|
|
For those new to Python, [this article](https://www.infoworld.com/article/3306656/python-virtualenv-and-venv-dos-and-donts.html) shares some tips on getting started and why environments are important.
|
|
|
|
See [this guide](https://code.visualstudio.com/docs/python/environments) 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).
|
|
|
|
```bash
|
|
conda create -n openbb python=3.11
|
|
conda activate openbb
|
|
```
|
|
|
|
:::
|
|
|
|
### PyPI
|
|
|
|
Install from PyPI with:
|
|
|
|
```console
|
|
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):
|
|
|
|
```console
|
|
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:
|
|
|
|
```console
|
|
pip install openbb[charting]
|
|
```
|
|
|
|
```console
|
|
pip install openbb[ta]
|
|
```
|
|
|
|
Or install a single provider:
|
|
|
|
```console
|
|
pip install openbb[yfinance]
|
|
```
|
|
|
|
To install the Nightly distribution (this installs all extras by default):
|
|
|
|
```console
|
|
pip install openbb-nightly
|
|
```
|
|
|
|
From your python interpreter, import the OpenBB Platform:
|
|
|
|
```console
|
|
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:
|
|
|
|
```console
|
|
pip install openbb-core && pip install openbb --no-deps
|
|
```
|
|
|
|
:::
|
|
|
|
### Docker
|
|
|
|
OpenBB provides a `.dockerfile` on [GitHub](https://github.com/OpenBB-finance/OpenBBTerminal).
|
|
|
|
Run the following command from the repo root to build the image:
|
|
|
|
```bash
|
|
docker build -f build/docker/api.dockerfile -t openbb-platform:latest .
|
|
```
|
|
|
|
To run it:
|
|
|
|
```bash
|
|
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`:
|
|
|
|
```console
|
|
pip install git
|
|
```
|
|
|
|
Next, clone the repository from GitHub:
|
|
|
|
```console
|
|
git clone git@github.com:OpenBB-finance/OpenBBTerminal.git
|
|
```
|
|
|
|
When it is done, checkout the branch where the code is living:
|
|
|
|
```console
|
|
git checkout develop
|
|
```
|
|
|
|
Then, `cd` into the directory:
|
|
|
|
```console
|
|
cd openbb_platform
|
|
```
|
|
|
|
Install required packages
|
|
|
|
```console
|
|
pip install poetry toml
|
|
```
|
|
|
|
Finally, run the developer installation script:
|
|
|
|
```console
|
|
python dev_install.py
|
|
```
|
|
|
|
:::note
|
|
To install all extensions and providers, run: `python dev_install.py -e`
|
|
:::
|
|
|
|
### Devcontainer
|
|
|
|
The OpenBB Platform can be run in a [Devcontainer](https://code.visualstudio.com/docs/devcontainers/containers) in VS Code. This is a container with a well-defined environment, and it can be used to develop, build, test, and run the OpenBB Platform and its CLI.
|
|
|
|
1. Open the project in VS Code
|
|
2. Press F1 (Command Palette) and select Remote-Containers: Reopen in Container
|
|
3. Wait for the container to build and the postCreateCommand to run
|
|
4. Open a terminal in VS Code and run the following command: source obb/bin/activate
|
|
|
|
> You can also click the Dev Containers badge at the top of the README to open the project in a Devcontainer.
|
|
|
|
## 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`:
|
|
|
|
```console
|
|
python
|
|
|
|
from openbb import obb
|
|
|
|
exit()
|
|
```
|
|
|
|
To manually trigger the build:
|
|
|
|
```python
|
|
import openbb
|
|
openbb.build()
|
|
```
|
|
|
|
Restart the Python interpreter and then begin using the OpenBB Platform.
|
|
|
|
```python
|
|
from openbb import obb
|
|
```
|
|
|
|
Start the REST API with:
|
|
|
|
```console
|
|
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](/platform/usage/rest_api)
|
|
|
|
## Hub Synchronization
|
|
|
|
Once you have installed the OpenBB Platform with the desired providers and extensions, you can synchronize with the [OpenBB Hub](my.openbb.co). 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:
|
|
|
|
```python
|
|
obb.account.login(email='my_email_here', password='my_password_here')
|
|
```
|
|
|
|
Or using your personal access token:
|
|
|
|
```python
|
|
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:
|
|
|
|
```bash
|
|
python generate_platform_v4_markdown.py
|
|
```
|
|
|
|
### Node.js
|
|
|
|
- [Node.js](https://nodejs.org/en/) >= 16.13.0
|
|
To check if Node.js installed, run this command:
|
|
|
|
```bash
|
|
node --version # should be v16.13.0 or higher
|
|
```
|
|
|
|
#### Install Dependencies
|
|
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
#### Start Development Server
|
|
|
|
```bash
|
|
npm start
|
|
```
|
|
|
|
This starts a local development server at: [http://localhost:3000](http://localhost:3000)
|
|
|
|
Most changes are reflected live without having to restart the server.
|
|
|
|
#### Build
|
|
|
|
```bash
|
|
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.
|