Files
OpenBB/desktop
Danglewood 6460b23709 [Feature] Configure Tauri Updater for ODP Desktop Latest Release Tag (#7240)
* configure the updater and some fix some macos tahoe css errors

* enclosure for title_bar_style on Window build

* those should have been added to the commit

* test update to 0.6.0

* allow unused mut

* update version in tauri.conf

* fix versioned release draft

* fix windows beforeBundle script

* force app restart on update

* fix release build

* fix latest tag files

* latest tag title

* try testing for windows ARM

* improve build workflow cleanup for cache

* actually use the windows-11-arm runner

* copy and bundle openssl items directly from runner

* we actually need those files as placeholders for linters and unit tests

* no need to rebuild assets when converting draft to published

* fix verbosity

* fix windows openssl dir

* converting draft release to published should not run the build workflows

* converting draft release to published should not run the build workflows

* separate release draft build from publish

* release dekstop dispatch

* release dekstop dispatch

* fix dylibs

* undo fix_dylib change and attempt to handle restart on update

* move restart exit code up

* bump version to test updater restarting

* windows updater signature

* positional argument..?

* arg is --password

* try this for mac updater

* add message to updater to inform users to start the app manually after update

* add toast message for first API run

* get windows to open the window after updating..?

* cargo clippy

* update package locks for vite

* fix css thing

* version bump for another test

* bump for v 1

---------

Co-authored-by: deeleeramone <>
2025-10-22 15:56:03 +00:00
..

Open Data Platform - by OpenBB - Desktop Application

The ODP Desktop Application enhances the developer experience by lowering the technical barriers to entry for building, presenting, and sharing data pipelines, insights or dashboarding experiences over multiple interfaces.

This code library represents the complete source code for the Open Data Platform (ODP) desktop application and system tray icon, as published by OpenBB.

The distributed binaries (currently macOS and Windows) are the direct output of build actions, located in this repository, responsible for generating release artifacts.

Please note that while there are no build pipelines for a Linux distribution, it is possible to build and install locally.

User Documentation & Installation

Official user documentation is located here.

Download the latest version here

The remainder of this document is intended for orienting and onboarding to the codebase.

Stack Overview

ODP Desktop is built with a Tauri & React framework, the code is approximately 50/50, Rust/TypeScript.

This stack reduces the distribution size by relying on the operating system for window creation. Installed, it is approximately 35 MB; compressed, 12 MB.

The application is tray icon - background service - where functions rely on developer tools that are installed separately via ODP. In other words, the application itself is a GUI and wrapper for interacting with the operating system and command line.

It is assumed that no developer tools are installed in the operating system, and the user does not have admin/root access to the machine. Multi-user machines must be configured per-user.

To facilitate environment management and dependency solving, Miniforge is installed when ODP Desktop is first run. Conda was selected for its effective isolation patterns, as well as platform and language-agnostic qualities.

The initial installation environment provides a production-ready REST API, MCP server, NodeJS, and Jupyter Lab IDE.

Running Code

Run this code locally from a development server by following the steps below.

Rust

You must install, or update, Rust to use version 1.90.0

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

If you have previously installed Rust, update to the latest version (currently rustc 1.90.0)

rustup update

NodeJS

NodeJS and NPM must also be available on $PATH.

Follow the instructions here if you do not have it installed.

If you already have npm, update it before installing the project.

OpenSSL

OpenSSL must be installed on the system, with exposed environment variables for:

OPENSSL_DIR
OPENSSL_INCLUDE_DIR
OPENSSL_LIB_DIR

Install Project

With those three, items installed and updated, install the project by running the command from the /desktop root folder.

npm install

Develop

Build and start the development server:

npm run tauri dev

This will start the development server and watch for changes to the codebase. Most changes will be picked up, but some events may require a full restart.

If you use a browser, instead of the window, to view the development server there will be stuff that just doesn't work. This is expected.

Ignore all of the warning messages for now, we'll clean those up later.

Helpful VS Code Extension

  • rust-analyzer
  • Tauri
  • Tailwind CSS IntelliSense

Building

Production builds are intended to be completed and signed via GitHub actions. Adjustments to beforeBundleCommand may be required for builds outside of the official release structure.