* move old example notebooks to v3 folder, update loadHistoricalPriceData and add findSymbols * Create README.md * Update README.md * Update README.md * Update README.md * Vertical diagram instead * important classes * core dependencies * folder structure * devtools * swap order * fix github pages deploy issue * development index * delete expectations for developers * devtools * obbject stuff * add * installation * hub sync * idk if i committed already * add usage page for financial statements * add link to reference page * syntax * numbers * nearly --> more than * easier to read code blocks * codespell * removing mention to provider * add 'orientation' for to_dict * info card for output user preference * put it in a code block * correct user_settings.json example * syntax corrections * fix sentence * get rid of floating point mathc * get rid of other floating point math * add companion example notebook for financial statements, and new section * historical prices usage page * codespell * add commitment of traders section to usage * add a note * codespell * get rid of equals sign * Cleanup docs. with @the-praxs * install * obbject extend * spell * HeadTitle thingies * Update obbject_extensions.md * Update obbject_extensions.md * typo * Update architectural_considerations.md * point to the TET pattern * optional vs required * reviewing the patterns. removed the --pre flag under the assumption this will be the final docs for the release cc @deeleeramone * add a walkthrough * spelling * Add more in the introduction * validator examples * update Copper-to-Gold notebook example for V4 * Update README.md * QA Caveats w @the-praxs * info on class outputs * merge add data sources and add data points * disclaimer on cookiecutter * add missing import to example * slight syntax change * missing code block * missing import * update intrinio example syntax * intrinio syntax update * urls * core and provider merged * example syntax * grammar * Update API banner link * quick-fix-docs cc @minhhoang1023 * Update pip install command for v3 * remove --pre note block * update landing image --------- Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt> Co-authored-by: Luqman <luqazino@gmail.com> Co-authored-by: James Maslek <jmaslek11@gmail.com> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com> Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com> Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
7.1 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. |
|
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, Docker, etc. - or in a code editor and IDE - VS Code, PyCharm, Jupyter.
Docker builds the environment during the installation process, 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 container 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 and install the following packages:
pip install poetry toml
:::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]
To install a single extension:
pip install openbb[charting]
pip install openbb[ta]
Or import a single provider:
pip install openbb-yfinance
From your python interpreter, import the OpenBB Platform:
from openbb import obb
:::warning This import statement is required due to the statefulness of the obb package. There is currently no support for imports such as
from openbb.obb.equity import *
:::
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 --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
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
import openbb
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
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.
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.