Files
OpenBB/website/content/platform/contributing/dependency_management.md
Danglewood 757fc57174 docs/fix-urls: Updates the Terminal About URLs to match /develop (#5720)
* update Terminal about URLs and some other broken links

* ruff

* intro

* changing the heading levels

* dependency management sections

* structure

* developer guides

* structure

* contributor guides

* keywords and descriptions

* broken urls

* cool cards

* Cool cards (#5727)

* tidy up terminal/content

* some more tidy up

* fix styling for platform that was missing

* more tidy up

* improve color for dark and light mode

* create new reference card for more basic cards

* rename back to menus

* implement all index.md for terminal, except reference

* improve bot title

* more refactoring

* fix remaining index

* header styling

* more styling

* heheheheheheeh

* Revert "heheheheheheeh"

This reverts commit 7d095fcfd2.

* Ccards (#5733)

* links

* more links

* improved styling and chevron aligned to title

* fix index.mdx urls for Terminal

* update package.json

* update index.mdx

* fix generation

* spelling

* toolkit_extensions

* update data extensions

* couple of links

* add tiingo to data extensions list

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
2023-11-16 17:02:59 -05:00

59 lines
2.0 KiB
Markdown
Vendored

---
title: Dependency Management
sidebar_position: 2
description: 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.
keywords:
- OpenBB Platform
- Open source
- Python interface
- Dependency Management
---
import HeadTitle from '@site/src/components/General/HeadTitle.tsx';
<HeadTitle title="Dependency Management - Contributing | OpenBB Platform Docs" />
## High-Level Overview
- **Provider**: The base package with no dependencies on other `openbb` packages.
- **Core**: Depends on the Provider and serves as the main infrastructural package.
- **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.
## Core Dependency Management
### Installation
- **pip**: `pip install -e OpenBBTerminal/openbb_platform/platform/core`
- **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
### 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.