Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs/platform-faq: Start Platform FAQ page with bullet points on Platform vs SDK #5914

Merged
merged 8 commits into from
Jan 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions website/content/platform/faqs/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"label": "FAQs",
"position": 8
}
102 changes: 102 additions & 0 deletions website/content/platform/faqs/data_providers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
---
title: Data and Data Providers
sidebar_position: 2
description: This page contains some frequently asked questions about OpenBB
data and providers.
keywords:
- provider
- data
- source
- live
- platform
- api
- FastAPI
---

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

<HeadTitle title="Data Providers FAQ - FAQs | OpenBB Platform Docs" />

<details><summary>Does OpenBB have coverage for [insert type of data]?</summary>

Equity market coverage will vary by provider and subscription status with them. It is common for free tiers to be US-listings only.

You can find all data models [here](/platform/data_models), or the [Reference](/platform/reference) page of endpoints. If the type of data you are looking for is not listed there, send us a [feature request](https://openbb.co/request-a-feature) telling us about your use case.

</details>

<details><summary>The router appears to be missing functions.</summary>

The router populates itself from the installed extensions. For example, if the Technical Analysis extension is not installed, the `obb.technical` router path will not be present.

The same applies to data extensions. If a provider module is not installed, it will not be displayed as a choice.

If you have just installed a new extension, the Python interface may need to be rebuilt. This can be triggered manually with:

```python
import openbb
openbb.build()
exit()
```

:::tip
Install all toolkits and data providers with:

```bash
pip install "openbb[all]"
```

or by cloning the GitHub repo, from the `/openbb_platform/` folder:

```bash
python dev_install.py -e
```

The nightly PyPI distribution is another way to install everything, and to be on the bleeding edge of development:

```bashe
pip install openbb-nightly
```

:::

</details>

<details><summary>Why is the returned data not matching the start/end date I requested?</summary>

The provider may not have data from the requested period, in which case the data will be what they return. For example, `provider='yfinance'` at one-minute intervals will not return beyond one week ago.

Another reason could be the data entitlements of your API key. Check the provider's website to know what data coverage to expect. If there is technical problem with a provider or function, please check [GitHub](https://github.com/OpenBB-finance/OpenBBTerminal/issues/new/choose) and raise an issue if one does not already exist. Or, send us an [email](mailto:support@openbb.co) with the details, your system configuration, the syntax used, and any error messages that are raised.

</details>

<details><summary>How do I load a ticker symbol from India?</summary>

Ticker symbols listed on exchanges outside of the US will have a suffix attached, for example, Rico Auto Industries Limited:

```python
from openbb import obb
data = obb.equity.price.historical("ricoauto.ns", provider="fmp")
```

The precise naming convention will differ by source, it's best to reference each source's own documentation for conventions.

</details>

<details><summary>How can I request a data provider or function?</summary>

Please [request a feature](https://openbb.co/request-a-feature), tell us about your use case.

</details>

<details><summary>Can I contribute my own data provider extension?</summary>

Yes! Please take a look at our [Development](/platform/development) pages for more information.

</details>

<details><summary>Can my company become a data partner?</summary>

Yes! Please visit our website [here](https://openbb.co/use-cases/data-vendors) and fill out the form.

</details>
21 changes: 21 additions & 0 deletions website/content/platform/faqs/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
title: FAQs
---

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

<HeadTitle title="FAQs | OpenBB Platform Docs" />

<ul className="grid grid-cols-1 gap-4 -ml-6">
<NewReferenceCard
title="What's the Difference Between OpenBB SDK and Platform?"
description="This page highlights some key differences between the legacy OpenBB SDK and the new Platforrm."
url="faqs/platform_vs_sdk"
/>
<NewReferenceCard
title="Data Providers"
description="Get answers about data providers and provider extensions."
url="faqs/data_providers"
/>
</ul>
146 changes: 146 additions & 0 deletions website/content/platform/faqs/platform_vs_sdk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
---
title: Platform vs SDK
sidebar_position: 1
description: The OpenBB SDK has evolved to become the OpenBB Platform.
This page describes some of the key differences between the legacy version
and the new architecture.
keywords:
- what's new
- v3
- legacy
- sdk
- platform
- api
- FastAPI
---

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

<HeadTitle title="What's the Difference Between OpenBB Platform and SDK? - FAQs | OpenBB Platform Docs" />

If you're already an OpenBB user, you may be familiar with some of the legacy pain points. As [this](https://openbb.co/blog/celebrating-the-openbb-platform-v4-beta) blog post highlights, there were many challenges with maintaining the existing codebase. We needed to refresh the architecture to make it modular, resilient, and scalable. The core components have been trimmed substantially to be lean and efficient - the number of dependencies has reduced from nearly four-hundred down to about twenty. The result is a much smoother installation procedure, with the tradeoff being some breaking changes for those transitioning from V3 SDK to the V4 Platform. The major differences are described below.

### Terminal Application

The OpenBB Terminal is not installed with the Platform. The Terminal will be reimagined with the new extension framework, it won't get left behind for long!

### Extension Framework

The extension framework lets users install or uninstall individual data and toolkit extensions. No more bloated environments.

```bash
pip install openbb-yfinance

pip uninstall openbb-yfinance
```

### Import Statement

Initialize the OpenBB Platform with a shorter statement and reduced import time.

```python
from openbb import obb
```

### REST API Compliant

The OpenBB Platform is built for REST API deployments, out-of-the-box. Outputs are JSON serializable, and this is a major difference between the SDK and Platform.

Start the API on `localhost` with:

```bash
uvicorn openbb_core.api.rest_api:app
```

### Verbose Namespaces

After careful consideration, the decision was made to name functions with more verbosity. This adds clarity to the functions and lets the user better understand its purpose. It also improves the performance of AI tooling built on top of the Platform.

```python
obb.equity.fundamental.employee_count("AAPL")
```

### Asset Class Names

Some asset classes have been renamed:

- stocks -> equity
- forex -> currency
- stocks.options -> derivatives.options
- futures -> derivatives.futures

### Source -> Provider

V3 SDK users should note that the `source` parameter is now, `provider`.

:::note
OpenBB Hub Preferences for default sources do not currently sync with V4 Platform, and some API keys not used in the Terminal application are not able to be saved to the Hub.
hjoaquim marked this conversation as resolved.
Show resolved Hide resolved
:::

### API Key Management

API keys and user preferences are stored in a JSON file - `$HOME/.openbb_platform/user_settings.json` - instead of the `ENV` file in `$HOME/.openbb_sdk/.env`.

Credentials can be entered directly from the Python interface:

```python
from openbb import obb
obb.user.credentials.fmp_api_key="REPLACE_WITH_YOUR_KEY"
```

### OpenBB Hub Login

Login to your OpenBB Hub account with an email/password combo or a revokable Personal Access Token (recommended):

```python
from openbb import obb
obb.account.login()
```

### Function Outputs

The default output format can be selected by the user, and all outputs are Pydantic models. If you are transitioning from V3 SDK and like working with Pandas DataFrames, set the preference to "dataframe" to get a V3-like response.
deeleeramone marked this conversation as resolved.
Show resolved Hide resolved

```python
from openbb import obb
obb.user.preferences.output_type="dataframe"
df = obb.equity.price.historical("AAPL", provider="yfinance")
```

When the `output_type` is set to, `OBBject`, DataFrames are created from the response object after it is returned.

```python
from openbb import obb
data = obb.equity.price.historical("AAPL", provider="yfinance")
df = data.to_df()
```

:::warning
DataFrames are not JSON serializable. Changing this preference will remove REST API compatibility.
:::

### Jupyter

Jupyter does not get installed with the OpenBB Platform. Install from `pip` in the environment containing the Platform.
deeleeramone marked this conversation as resolved.
Show resolved Hide resolved

```bash
pip install jupyter-lab
```

### Views

Most of the development has been on the core architecture and data providers. Most views from the V3 SDK and Terminal have yet to be ported over to the V4 Platform, although some charts are already available with the `openbb-charting` toolkit extension - which includes PyWry for window creation.

deeleeramone marked this conversation as resolved.
Show resolved Hide resolved
Install the charting extension with:

```bash
pip install openbb-charting
```

The equivalent to `openbb.stocks.candle("AAPL")` is, `obb.equity.price.historical("AAPL", chart=True).show()`.

More views to come soon!

### Getting Started

See the [usage](/platform/usage) page for examples on getting started using the OpenBB Platform.
Loading