-
Notifications
You must be signed in to change notification settings - Fork 853
π feat(inspect): tauri build #3231
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
base: feature/geti-inspect
Are you sure you want to change the base?
π feat(inspect): tauri build #3231
Conversation
Signed-off-by: Ashwin Vaidya <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
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.
Pull request overview
This PR introduces an initial Tauri-based desktop application that packages the Geti Inspect backend as a PyInstaller binary sidecar. The main changes include:
- Setting up a Tauri application with React frontend scaffolding
- Configuring PyInstaller to bundle the Python backend with necessary dependencies
- Adding runtime hooks for environment configuration in frozen applications
- Removing TrackioLogger from training service to simplify dependencies
Reviewed changes
Copilot reviewed 23 out of 47 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| application/binary/tauri/vite.config.ts | Vite configuration for Tauri development with HMR support |
| application/binary/tauri/tsconfig.json | TypeScript configuration for the React frontend |
| application/binary/tauri/tsconfig.node.json | TypeScript configuration for Node.js tooling |
| application/binary/tauri/src/main.tsx | React application entry point |
| application/binary/tauri/src/App.tsx | Placeholder React component with Tauri demo functionality |
| application/binary/tauri/src/App.css | Styling for the demo React application |
| application/binary/tauri/src-tauri/tauri.conf.json | Tauri configuration specifying build commands and sidecar integration |
| application/binary/tauri/src-tauri/src/main.rs | Rust backend managing sidecar lifecycle with start/stop commands |
| application/binary/tauri/src-tauri/src/lib.rs | Unused library with demo greet command |
| application/binary/tauri/src-tauri/capabilities/default.json | Tauri permissions for shell execution and sidecar management |
| application/binary/tauri/src-tauri/build.rs | Standard Tauri build script |
| application/binary/tauri/src-tauri/Cargo.toml | Rust dependencies for Tauri application |
| application/binary/tauri/src-tauri/.tauriignore | Files to exclude from Tauri builds |
| application/binary/tauri/src-tauri/.gitignore | Git ignore patterns for Rust builds and generated files |
| application/binary/tauri/package.json | NPM dependencies and build scripts |
| application/binary/tauri/index.html | HTML entry point for the Tauri application |
| application/binary/tauri/.gitignore | Git ignore patterns for Node.js and build artifacts |
| application/binary/sidecar/hook-setup.py | PyInstaller runtime hook for environment and path configuration |
| application/binary/sidecar/geti_inspect_cpu.spec | PyInstaller spec file collecting dependencies and configuring binary |
| application/binary/README.md | Documentation explaining architecture and folder structure |
| application/backend/src/settings.py | Updated to support environment-based alembic configuration |
| application/backend/src/services/training_service.py | Removed TrackioLogger dependency |
| application/backend/src/main.py | Refactored to support PyInstaller with freeze_support |
Files not reviewed (1)
- application/binary/tauri/package-lock.json: Language not supported
π‘ Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ## Building the sidecar | ||
|
|
||
| ```bash | ||
| uv run No newline at end of file |
Copilot
AI
Dec 19, 2025
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.
The 'Building the sidecar' section has an incomplete command. The uv run command should specify what script or target to run for building the sidecar.
| uv run | |
| uv run pyinstaller path/to/your_specfile.spec |
Signed-off-by: Ashwin Vaidya <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
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.
Pull request overview
Copilot reviewed 23 out of 47 changed files in this pull request and generated 5 comments.
Files not reviewed (1)
- application/binary/tauri/package-lock.json: Language not supported
π‘ Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -0,0 +1,26 @@ | |||
| [package] | |||
| name = "Geti Inspect" | |||
Copilot
AI
Dec 19, 2025
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.
Package name contains spaces which is not allowed in Cargo.toml. Use a hyphenated or underscored name like 'geti-inspect' or 'geti_inspect'.
| name = "Geti Inspect" | |
| name = "geti-inspect" |
| @@ -0,0 +1 @@ | |||
|
|
|||
Copilot
AI
Dec 19, 2025
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.
Empty library file should either be removed if not needed, or contain a module-level doc comment explaining its purpose. If it's required by the Tauri build system, add a comment explaining that.
| //! Library crate required by the Tauri build system. | |
| //! | |
| //! This file is intentionally left empty because all application logic | |
| //! is defined in other modules/binaries. It is kept to satisfy project | |
| //! and tooling expectations. |
| ## Building the sidecar | ||
|
|
||
| ```bash | ||
| uv run No newline at end of file |
Copilot
AI
Dec 19, 2025
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.
Documentation is incomplete. The command 'uv run' is truncated and doesn't provide complete instructions for building the sidecar.
| } | ||
|
|
||
| #[tauri::command] | ||
| async fn start_server(app: AppHandle, state: State<'_, APIManagerState>) -> Result<String, String> { |
Copilot
AI
Dec 19, 2025
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.
The start_server and stop_server commands are defined but never invoked from the Tauri command system. These functions need to be registered in the tauri::Builder with .invoke_handler() to be callable from the frontend.
| } | ||
|
|
||
| #[tauri::command] | ||
| async fn stop_server(state: State<'_, APIManagerState>) -> Result<String, String> { |
Copilot
AI
Dec 19, 2025
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.
The start_server and stop_server commands are defined but never invoked from the Tauri command system. These functions need to be registered in the tauri::Builder with .invoke_handler() to be callable from the frontend.
π Description
TODO
β¨ Changes
Select what type of change your PR is:
β Checklist
Before you submit your pull request, please make sure you have completed the following steps:
For more information about code review checklists, see the Code Review Checklist.