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.1.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

openbb_platform_api-1.0.1-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: openbb_platform_api-1.0.1.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Darwin/23.6.0

File hashes

Hashes for openbb_platform_api-1.0.1.tar.gz
Algorithm Hash digest
SHA256 78a30c7ec2852f058f830af6480eb3d390eb3516ed054f385432bd7625d7458c
MD5 f45d47c3bee13f617ecd4bf80e03f640
BLAKE2b-256 497de5fb8a31492017ec257b3c8af7dc7a160e3038e8675bdf2874412cb5dc38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openbb_platform_api-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 61a8f663e70004f70ccff138d4bdc0b61c4cd7a89853b8ffb25d62c7b74ffeb7
MD5 8dcd087b011f0cc77b4bc33c4cee6bf7
BLAKE2b-256 741d699641406694c09b96621476987a86b20355bbf5ac4c41e317b5e3d916bf

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