Files
OpenBB/website/content/platform/development/index.md
Danglewood 9ae13079f3 [Docs] Refactor Contributing Section Of Docs (#6173)
* development index

* refactor development section of documentation

* codespell

* add template zip file

* fixing

* update changed syntax

* dependency thing

* fix sentence

* review edits, add_toolkit_extension

* Add ZIp file

* headtitle

* couple more things

* codespell

* fix sentence

* url fix

* review updates

* forgot one file in the commit

* syntax updates

* json file

* more syntax things

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2024-03-16 14:50:34 +00:00

3.5 KiB
Vendored

title, sidebar_position, description, keywords
title sidebar_position description keywords
Considerations 1 Learn about the OpenBB Platform, an open-source solution built by the community. Understand its use via Python interface and REST API, and acquaint yourself with how to build a custom extension or contribute directly to the platform
OpenBB Platform
Open source
Python interface
REST API
Data integration
Data standardization
OpenBB extensions
openbb-core
Python package
High-Level Architecture
Custom extension
Contribution

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

These sections provide guidelines for developing with, and contributing to, the OpenBB Platform. There are comprehensive guides on how to build extensions, add new data points, contribute to the code base, and more.

We generalize between two distinct types of users:

  1. Developers: Those who are building on top of, and extending, the OpenBB Platform for their own purposes and have no intention of contributing the code directly to the GitHub repository. This includes those independently publishing extensions to PyPI or other package managers.
  2. Contributors: Those who contribute to the existing codebase, by opening a Pull Request, thus giving back to the community. This can include bug fixes, enhancements, documentation, and more.

Why Is This Distinction Important?

The OpenBB Platform has been designed as a foundation for further development of investment research applications. We anticipate a wide range of creative use cases.

Some of them may be highly specific, or detail-oriented, solving particular problems that may not necessarily fit within the OpenBB Platform Github repository. This is entirely acceptable, even encouraged. Regardless of intention, OpenBB is a proponent of building in public and sharing. We love seeing what people are building, so don't be shy about it!

Before Beginning

  • Familiarize yourself with the codebase, architecture, and components.
  • Set clear goals with defined outcomes - i.e, I want to create a technical indicator that uses multiple data points and sources where the output is a chart.

Below is a high-level overview of the OpenBB Platform architecture.

OpenBB Platform High-Level Architecture

Cloning the GitHub repo will be the best way to inspect and play around with the code.

What Is An Extension?

An extension is an installable component adding functionality to the OpenBB Platform. It can be a new data source, a new command, a new visualization, or anything imaginable. They can generally be classified as one of:

  • Data Provider
    • The individual sources of data.
  • Toolkit
    • Data processing, router modules, visualizations.
  • OBBject
    • Extending the OBBject class itself.

The extensions within the OpenBB GitHub repository are maintained by the OpenBB Team. The pages under how-to detail getting started building with the OpenBB Platform.

We welcome contributions, and anyone is free to publish their own OpenBB extension to PyPI, or elsewhere. If you do, please name the package beginning with, "openbb-". We love seeing what you build!