-
Notifications
You must be signed in to change notification settings - Fork 0
Update Front Page #35
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
Conversation
|
Caution Review failedThe pull request is closed. WalkthroughRefactors the quickstart page into a modular, styled Streamlit UI with CSS-injection, navigation buttons, and a conditional download section. Adds five-decimal formatting for float inputs, pins Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant StreamlitApp
participant QuickstartModule
User->>StreamlitApp: Open Quickstart Page
StreamlitApp->>QuickstartModule: Call main()
QuickstartModule->>QuickstartModule: inject_workflow_button_css()
QuickstartModule->>QuickstartModule: render_workflow_selection()
QuickstartModule->>QuickstartModule: render_enhanced_download_section()
QuickstartModule-->>StreamlitApp: Render interactive UI (hero + navigation buttons + download)
StreamlitApp-->>User: Display styled quickstart interface
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (3)
✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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.
Actionable comments posted: 0
🧹 Nitpick comments (4)
src/workflow/StreamlitUI.py (1)
746-754: Align step size with 5-decimal format for better UXFormat is set to 5 decimals, but step=1.0 prevents fine-grained increments via the UI. Recommend step=1e-5 to match the displayed precision.
- step=1.0, + step=1e-5,content/quickstart.py (3)
8-234: Trim unused/brittle CSS and avoid duplicate rules
- Most
.workflow-*class styles aren’t used by the current button implementation (which relies on.st-key-*targeting). Consider removing unused rules to reduce CSS payload.- The
.workflow-buttonblock is duplicated later (margin override). Consolidate into a single definition.- Selectors like
[data-testid="column"]and.stColumn > divdepend on Streamlit internals and may break with updates. Prefer layout options via Streamlit APIs.- /* Reduce button margins for tighter layout */ - .workflow-button { - margin-bottom: 0.5rem !important; - }
368-370: Guard against missing hero image to avoid runtime errorsIf the asset is missing,
st.imagewill fail. Add a simple existence check with a graceful fallback.- with logo_col: - st.image("assets/OpenMS.png", width=200) + with logo_col: + img_path = Path("assets/OpenMS.png") + if img_path.exists(): + st.image(str(img_path), width=200) + else: + st.caption("OpenMS")
423-434: Use standard MIME type and combine context managers (SIM117)
- Prefer
application/zipoverarchive/zip.- Combine nested
withstatements to satisfy SIM117 and reduce indentation.- col1, col2, col3 = st.columns([2, 2, 2]) - with col2: - with open("OpenMS-App.zip", "rb") as file: - st.download_button( - label="📥 Download for Windows", - data=file, - file_name="OpenMS-App.zip", - mime="archive/zip", - type="secondary", - use_container_width=True, - help="Download FLASHApp for Windows systems" - ) + col1, col2, col3 = st.columns([2, 2, 2]) + with col2, open("OpenMS-App.zip", "rb") as file: + st.download_button( + label="📥 Download for Windows", + data=file, + file_name="OpenMS-App.zip", + mime="application/zip", + type="secondary", + use_container_width=True, + help="Download FLASHApp for Windows systems" + )
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
content/quickstart.py(1 hunks)src/workflow/StreamlitUI.py(1 hunks)
🧰 Additional context used
🪛 Ruff (0.12.2)
content/quickstart.py
424-425: Use a single with statement with multiple contexts instead of nested with statements
Combine with statements
(SIM117)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: build-full-app
- GitHub Check: build-openms
🔇 Additional comments (2)
content/quickstart.py (2)
469-483: Main composition looks goodCSS injection, workflow selection, and download section are orchestrated cleanly.
236-345: No issues:st.switch_pagetargets are registered
- Verified that
content/FLASHDeconv/FLASHDeconvWorkflow.py,
content/FLASHTnT/FLASHTnTWorkflow.py, and
content/FLASHQuant/FLASHQuantFileUpload.pyexist in the repo.- Confirmed each is listed in
app.py’spages = { … st.Page(Path("content", "...Workflow.py")…) }registry.- Calls to
st.switch_page(page_path)incontent/quickstart.pywill resolve correctly.
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.
Actionable comments posted: 0
🧹 Nitpick comments (1)
Dockerfile (1)
83-83: Unify pip invocation and reduce image size; optionally document the pin’s rationale.Use python -m pip consistently and add --no-cache-dir to keep layers smaller. Also consider a brief comment explaining why autowrap is capped for future maintainers.
Apply this diff:
-RUN pip install --upgrade pip && python -m pip install -U setuptools nose 'Cython<3.1' 'autowrap<0.23' pandas 'numpy==1.26.4' pytest +RUN python -m pip install --upgrade pip && \ + python -m pip install --no-cache-dir -U setuptools nose "Cython<3.1" "autowrap<0.23" pandas "numpy==1.26.4" pytest + # Note: autowrap is pinned <0.23 due to compatibility constraints with our build toolchain.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
Dockerfile(1 hunks)
🧰 Additional context used
🪛 Hadolint (2.12.0)
Dockerfile
[error] 83-83: Ensure the shebang uses an absolute path to the interpreter.
(SC2239)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: build-openms
- GitHub Check: build-full-app
🔇 Additional comments (2)
Dockerfile (2)
83-83: Good pin with proper quoting for shell safety.Confining autowrap to <0.23 and quoting the specifier (to avoid shell redirection) is correct. This should stabilize builds if newer autowrap releases introduced breaking changes.
83-83: Hadolint SC2239 likely a false positive; please verify shebang.Static analysis flagged a shebang issue at this line, but the only shebang created here appears at Lines 165–168 and already uses an absolute path (
#!/bin/bash). Please re-run hadolint and confirm; if needed, ensure the generated /app/entrypoint.sh starts with an absolute shebang.If there’s still a warning, replacing the shebang with an explicit absolute path (as you have) or
#!/usr/bin/env bashis acceptable, but the former is preferred in containers.
This update gives FLASHApp a more modern look.
Summary by CodeRabbit
New Features
Style
Bug Fixes
Chores