-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
[Feature] Conda Installer #6604
Conversation
…inance/OpenBB into feature/conda-installer
Is this a replacement for #6587 ? If not - please update the target branch so that it's easier to review and we can merge it |
…to feature/conda-installer
#6626) * fix Pandas FutureWarning in derivatives.futures.curve * black
… Mandatory (#6625) * add validators to enforce mandatory symbols in providers where required * linter * fmp 3.9 test cassette --------- Co-authored-by: Igor Radovanovic <[email protected]>
…to feature/conda-installer
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We've went through this PR with @deeleeramone and identified a few spots where some improvements should be made. We agreed to merge this PR into the target branch and work on those improvements in the target
Replacement for #6593
This PR adds more launch scripts, and makes the requirements.txt evergreen by removing all versions and scoping only to Platform + Jupyter Notebook.
Environment ships with fully-loaded, and isolated, Python 3.12 environment within a dedicated Conda installation.
From the main README.md file:
OpenBB Platform
Thanks for installing the OpenBB Platform. To get the most out of your experience, we recommend reviewing the contents of this document.
If you have never used Python before, don't worry, your first time is just a double-click away. The sections below outline everything you need to know for getting started.
What Did I Install?
This is a kitted out development container for Pythonic, open source, financial research. It has everything you need to get started immediately.
Included, is a complete installation of the OpenBB Platform and CLI, along with Conda and Jupyter Notebook, in an isolated Python 3.12 Conda environment.
If you already have an installation of Conda or Anaconda, the version in this folder will not rely on, interfere, or share base environment paths with, existing versions.
Tools for managing, updating, and building environments allow you to take full control of your installation, as well as quickly spin up new containers within this project folder.
To get started using right away, open one of the shortcuts described below.
If you want to build your own end points, connections, and features, try installing the example extensions
Shortcuts
At the root of the installation folder (where this document is) are shortcuts for launchers and to key file locations.
source activate obb
conda activate obb
obb
and any created environments are stored.~/.openbb_platform
location where.env
files anduser_settings.json
are stored.Command Line Entry Points
There are several command line entry points available when either:
--no-deps
or--only-root
flags were used to install.OpenBB Entry Points
uvicorn run
are exposed.--login
: True/False. Defeats the login prompt when False.--no-build
: Skips building "widgets.json"openbb-update
is run.pyproject.toml
andpoetry.lock
and rebuilds the OpenBB Python interface.poetry install
.Installed Folder Structure
At the root of the installation (where this document is), there will be two folders:
Conda
This is the folder where Conda is installed and all environment data (site-packages, etc.) is stored. The "Environments" shortcuts takes you to the root of the "envs" folder.
Extensions
This folder contains two subfolders:
examples
Contains empty example extensions for the three types of OpenBB Platform extensions:
To install all three examples in the OpenBB Platform environment, open the Bash/CMD shortcut and enter:
openbb_platform
This is a meta package for installing and managing OpenBB Platform installation within any Python environment.
Poetry is used to update and resolve any dependencies that are defined in the
pyproject.toml
file.The
poetry.lock
file is updated every time theUpdate
shortcut is run.There are several configurations available, via combinations of
--with
,--without
, and--only
parameters, when runningpoetry install
.Choices are:
Each parameter will accept multiple items, but
--without
takes priority for solving for the environment.Uninstallation
Mac/Linux users can uninstall by deleting the folder, while Windows users can run the Uninstall shortcut.
The leftover artifacts will include:
.env
files.Windows users will also need to remove the parent folder where it was originally installed, after running Uninstall.
Your OpenBB Hub account can be deleted, along with all associated data, from the Account page in my.openbb.co
Additional Information
Conda Install vs. PIP Install vs. Poetry Install
The three ways to install packages may appear to accomplish the same objectives - installing Python packages - but each has a distinctly different purpose.
An easy way to think about the difference is, both
pip
andpoetry
require an existing Python installation;conda
installs Python so that you can runpip install poetry
.In general, you use:
conda
conda create
.conda-forge
channel.pip
conda install
only if packages fail to install or wheels cannot be built.poetry
pyproject.toml
andpoetry.lock
files.Conda is for container management, Poetry resolves the project's dependencies and provides build/distribution tools, while
pip
is for installing from PyPIDocumentation Resources
OpenBB
External