Skip to content

Update/dash aerosandbox - #803

Open
budescode wants to merge 3 commits into
plotly:mainfrom
budescode:update/dash-aerosandbox
Open

Update/dash aerosandbox#803
budescode wants to merge 3 commits into
plotly:mainfrom
budescode:update/dash-aerosandbox

Conversation

@budescode

Copy link
Copy Markdown

Issue for app: none (dependency update, no linked issue)

App pull request

  • This is a new app
  • I am improving an existing app (redesigns/code "makeovers")

About

Update dash-aerosandbox from its 2020 dependencies to current versions and
makes it installable with uv or pip from a fresh clone.

  • Declares the direct dependencies in pyproject.toml, locks with uv, and
    regenerates requirements.txt from uv.lock.
    runtime.txt raised from 3.7.6 to 3.12.11.
  • Bumps dash 1.9 -> 4.4.1, dash-bootstrap-components 0.8.0 -> 2.0.4,
    plotly 4.6.0 -> 7.0.0, numpy 1.18 -> 2.5.2, and pins pandas 3.0.5,
    seaborn 0.13.2 and gunicorn 26.2.0.
  • Keeps aerosandbox at 1.1.20. Every later release removes Casll1,
    Casvlm1 or the e216 airfoil the app is built on, so moving forward
    would mean rewriting the aerodynamics code.
  • Drops dash_core_components and dash_html_components, merged into dash,
    and importlib-resources, a Python 3.7 backport.
  • Update app.py to Dash 4 and dash-bootstrap-components 2: from dash import dcc, html, app.run, and dash.ctx.triggered_id in place of the
    removed n_clicks_timestamp button property.

Verified on Python 3.12 and 3.13: the geometry view, the LL analysis and
the VLM analysis all run and produce the same figures and tables as
before.

  • Playground deployment URL (new version):
  • Current gallery app URL: (delete this line if inapplicable)

Workflow

  • I have created a branch in the appropriate monorepo, and the
    elements necessary for successful deployment are in place.
  • If the app is a redesigned and/or restyled version of an
    existing gallery app, I've summarized the changes requested in the
    appropriate Streambed issue and confirm that they have been applied.
  • If the app is on the Dash Gallery portal, I have added a link to
    the GitHub repository for the source code in the portal description.
  • If the app is a reimplementation of a Python gallery app for the
    DashR gallery, the app in this PR mimics, as closely as possible,
    the style and functionality of the existing app.
  • I have removed all Google Analytics code from the app's
    assets/ folder.

The pre-review review

I have addressed all of the following questions:

  • Does everything in my code serve some purpose? (I have removed
    any dead and/or irrelevant code.)
  • Does everything in my code have a clear purpose? (My code is
    readable and, where it isn't, it has been commented appropriately.)
  • Am I reinventing the wheel? (I have used appropriate packages to
    lessen the volume of code that needs to be maintained.)

Post PR (at merge time)

  • When you are merging, make sure to write one of the following tags in the commit message (or it will default to patch):
    • #patch - An app has been updated or fixed
    • #minor - A new app has been added, or an app has been significantly reworked
    • #major - Breaking changes, make sure to discuss with dash-core before using this tag

Declare the nine direct dependencies in pyproject.toml, lock with uv and
regenerate requirements.txt from uv.lock so pip users still work. Bump
dash 1.9 -> 4.4.1, dash-bootstrap-components 0.8.0 -> 2.0.4, plotly
4.6.0 -> 7.0.0, numpy 1.18 -> 2.5.2 and pin pandas 3.0.5, seaborn
0.13.2 and gunicorn 26.2.0. Python 3.12 or newer is required; raise
runtime.txt from 3.7.6 to 3.12.11.

aerosandbox stays at 1.1.20

Drop dash_core_components and dash_html_components, merged into dash,
and importlib-resources, a Python 3.7 backport.
- Import html and dcc from dash.
- Replace app.run_server with app.run
- Replace the n_clicks_timestamp inputs, which dbc.Button no longer accepts, with n_clicks
- Use dash.ctx.triggered_id to tell which button was pressed.
@budescode

Copy link
Copy Markdown
Author

@robertclaus Please can you review?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant