Skip to main content

OpenBB Platform API: Launch script and widgets builder for the OpenBB Platform API and Terminal Pro Connector.

Project description

OpenBB Platform API Meta Package

This is a meta package for installing a command line script to launch the OpenBB Platform API, and the OpenBB Terminal Pro data connector widgets build script.

Installation

Install this package within an existing OpenBB Platform Python environment.

pip install openbb-platform-api

Usage

The script is run from the command line, with the environment active, by entering:

openbb-api

This will launch a Fast API instance, via uvicorn, at http://127.0.0.1:6900

Keyword Arguments

The behavior of the script can be configured with the use of arguments and keyword arguments.

Launcher specific arguments:

--build                         Build the widgets.json file.
--no-build                      Do not build the widgets.json file.
--login                         Login to the OpenBB Platform.
--no-filter                     Do not filter the widgets.json file.

All other arguments will be passed to uvicorn. Here are the most common ones:

--host TEXT                     Host IP address or hostname.
                                  [default: 127.0.0.1]
--port INTEGER                  Port number.
                                  [default: 6900]
--ssl-keyfile TEXT              SSL key file.
--ssl-certfile TEXT             SSL certificate file.
--ssl-keyfile-password TEXT     SSL keyfile password.
--ssl-version INTEGER           SSL version to use.
                                  (see stdlib ssl module's)
                                  [default: 17]
--ssl-cert-reqs INTEGER         Whether client certificate is required.
                                  (see stdlib ssl module's)
                                  [default: 0]
--ssl-ca-certs TEXT             CA certificates file.
--ssl-ciphers TEXT              Ciphers to use.
                                  (see stdlib ssl module's)
                                  [default: TLSv1]

Run uvicorn --help to get the full list of arguments.

API Over HTTPS

To run the API over the HTTPS protocol, you must first create a self-signed certificate and the associated key. After activating the environment, you can generate the files by entering this to the command line:

openssl req -x509 -days 3650 -out localhost.crt -keyout localhost.key   -newkey rsa:4096 -nodes -sha256   -subj '/CN=localhost' -extensions EXT -config <( \
   printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")

Two files will be created, in the current working directory, that are passed as keyword arguments to the openbb-api entry point.

openbb-api --ssl_keyfile localhost.key --ssl_certfile localhost.crt

Note: Adjust the command to include the full path to the file if the current working directory is not where they are located.

The certificate - localhost.crt - will need to be added to system's trust store. The process for this will depend on the operating system and the user account privilege.

A quick solution is to visit the server's URL, show the details of the warning, and choose to continue anyways.

Contact the system administrator if you are using a work device and require additional permissions to complete the configuration.

This Connection Is Not Private

Location of widgets.json

An OpenBB Terminal Pro data connector requires a file, widgets.json, to be served by the API. It contains the configuration for each widget available to be added to a dashboard. The file is stored, and served from, the environment's assets folder.

/Path/to/environments/envs/obb/assets/widgets.json

It can be manually edited and served without the build process by passing --no-build to the API launch script.

openbb-api --no-build

If you would like to construct this file manually for a custom backend configuration, save the file in the path above.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openbb_platform_api-1.0.3.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

openbb_platform_api-1.0.3-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file openbb_platform_api-1.0.3.tar.gz.

File metadata

  • Download URL: openbb_platform_api-1.0.3.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.12.7 Darwin/23.6.0

File hashes

Hashes for openbb_platform_api-1.0.3.tar.gz
Algorithm Hash digest
SHA256 c58316b98a90e890b05135d52310e0e6410517afb74b7cb47289cb8fcf5a2378
MD5 50378298ceab1dd4f7f9958a56681bae
BLAKE2b-256 e29b3b341caacb9acbbd1bc0cb375bff96ed5bc288ad997da642b0d257351e4e

See more details on using hashes here.

File details

Details for the file openbb_platform_api-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for openbb_platform_api-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 afd08c69482581b46cf5146f815616ff4b002a7915e7855c28b552581d1a2837
MD5 e8956e4b88a44a71732d57954d11c819
BLAKE2b-256 f91c3328514300fcfe29da59c4086622ac82efcfc7e113ae65da179b242f4c08

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page