Files
OpenBB/website/content/platform/development/dependency_management.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

2.2 KiB
Vendored

title, sidebar_position, description, keywords
title sidebar_position description keywords
Dependency Management 9 Dealing with dependencies when developing with the OpenBB Platform. Learn how to add new dependencies to the OpenBB Platform and how to add new dependencies to your custom extension.
OpenBB Platform
Open source
Python interface
Dependency Management

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

High-Level Overview

  • Core: Serves as the main infrastructure. All extensions and providers have openbb-core as a dependency.
  • Extensions: Utility packages that leverage Core's infrastructure. Each extension is its own package.
  • Providers: Utility packages extending functionality to different providers, where each provider is its own package.

This page assumes that the OpenBB GitHub repo has been cloned.

Core Dependency Management

Installation

:::warning Do not run these commands in an already-installed OpenBB Platform environment. Do not run both pip and poetry. :::

  • pip: pip install -e OpenBBTerminal/openbb_platform/platform/core

or

  • poetry: poetry install OpenBBTerminal/openbb_platform/platform/core

Using Poetry

Ensure you're in a fresh conda environment before adjusting dependencies.

  • Add a Dependency: poetry add <my-dependency>
  • Update Dependencies:
    • All: poetry update
    • Specific: poetry update <my-dependency>
  • Remove a Dependency: poetry remove <my-dependency>

Core and Extensions

Dev Installation

For development setup, use the provided script to install all extensions and their dependencies:

  • python dev_install.py [-e|--extras]

Note

: If developing an extension, avoid installing all extensions to prevent unnecessary overhead.

Dependency Management with Poetry

  • Add Platform Extension: poetry add openbb-extension-name [--dev]
  • Resolve Conflicts: Adjust versions in pyproject.toml if notified by Poetry.
  • Lock Dependencies: poetry lock
  • Update Platform: poetry update openbb-platform
  • Documentation: Maintain pyproject.toml and poetry.lock for a clear record of dependencies.