* add factory flag to openbb-api launcher * linting * linting * more practical default sizes for metric and pdf widgets * use CWD for widgets-path, templates-path, and copilots-path when not an absolute path * mock_widgets.json * entry point at widget.data in response model * path thing * find a missing schema * mock_widgets.json * add x-widget_config entry point to provider query model in __json_schema_extra__ * deep merge on param choices * sort unique_general_choices * add exclude for both query and data * handle another data schema not being found * add formatters in options data where appropriate * potential access before assignment * lint * add label check to query schema * mock widgets * allow top-level references from the Data response model via '$.' * clean up factory detect * add importable response models for metric and widget * filename optional * refetch interval as false for pdf * docstsring * move import * typo * lint * lint * refetchInterval is top-level * pylint * response model filename place --------- Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
OpenBB Platform - Core
Overview
The Core extension serves as the foundational component of the OpenBB Platform. It encapsulates essential functionalities and serves as an infrastructural base for other extensions. This extension is vital for maintaining the integrity and standardization of the platform.
Key Features
- Standardized Data Model (
DataClass): A flexible and dynamic Pydantic model capable of handling various data structures. - Standardized Query Params (
QueryParamsClass): A Pydantic model for handling querying to different providers. - Dynamic Field Support: Enables handling of undefined fields, providing versatility in data processing.
- Robust Data Validation: Utilizes Pydantic's validation features to ensure data integrity.
- API Routing Mechanism (
RouterClass): Simplifies the process of defining API routes and endpoints - out of the box Python and Web endpoints.
Getting Started
Prerequisites
- Python 3.9 or higher.
- Familiarity with FastAPI and Pydantic.
Installation
Installing through pip:
pip install openbb-core
Note that, the openbb-core is an infrastructural component of the OpenBB Platform. It is not intended to be used as a standalone package.
Usage
The Core extension is used as the basis for building and integrating new data sources, providers, and extensions into the OpenBB Platform. It provides the necessary classes and structures for standardizing and handling data.
Contributing
We welcome contributions! If you're looking to contribute, please:
- Follow the existing coding standards and conventions.
- Write clear, documented code.
- Ensure your code does not negatively impact performance.
- Test your contributions thoroughly.
Please refer to our Contributing Guidelines.
Collaboration
Engage with the development team and the community. Be open to feedback and collaborative discussions.
Support
For support, questions, or more information, please visit OpenBB Platform Documentation.
License
This project is licensed under the MIT License - see the LICENSE.md file for details.