Skip to content

Update/dash airfoil design - #804

Open
budescode wants to merge 2 commits into
plotly:mainfrom
budescode:update/dash-airfoil-design
Open

Update/dash airfoil design#804
budescode wants to merge 2 commits into
plotly:mainfrom
budescode:update/dash-airfoil-design

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

Brings dash-airfoil-design to current package versions and makes it
installable with uv or pip from a fresh clone.

  • Declare the six direct dependencies in pyproject.toml and lock with uv
  • Regenerate requirements.txt from uv.lock so pip users still work
  • Bump aerosandbox 3.0.0 -> 4.2.10, resolving the "TODO fix a version" pin
  • Bump dash 1.19.0 -> 4.4.1
  • Bump dash-bootstrap-components 0.11.3 -> 2.0.4
  • Bump plotly 4.14.3 -> 7.0.0
  • Add pandas 3.0.5, which app.py imports but the old requirements never listed
  • Give gunicorn an explicit version, 26.2.0
  • Drop dash_core_components and dash_html_components, merged into dash
  • Require Python 3.12 or newer; raise runtime.txt from 3.8.2 to 3.12.11
  • Replace dash_core_components and dash_html_components imports with from dash import dcc, html
  • Replace app.run_server with app.run
  • Import get_kulfan_coordinates from aerosandbox.geometry.airfoil.airfoil_families, where aerosandbox 4 moved it
  • Remove the enforce_continuous_LE_radius argument, which aerosandbox 4 no longer uses

Verified on Python 3.12 and 3.13: the airfoil view, the inviscid analysis
with and without ground effect, the streamline plot, the lift table and
the coordinates output all work and give the same results 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 six direct dependencies in pyproject.toml, lock with uv and
regenerate requirements.txt from uv.lock so pip users still work. Bump
aerosandbox 3.0.0 -> 4.2.10, dash 1.19.0 -> 4.4.1,
dash-bootstrap-components 0.11.3 -> 2.0.4, plotly 4.14.3 -> 7.0.0 and
 pandas 3.0.5 and gunicorn 26.2.0. Python 3.12 or newer is required;
raise runtime.txt from 3.8.2 to 3.12.11.

Drop dash_core_components and dash_html_components, merged into dash.
aerosandbox 4 declares its own dependencies, so casadi, numpy and scipy
come in through it.
- Import html and dcc from dash
- replace app.run_server with app.run
- Import get_kulfan_coordinates from aerosandbox.geometry.airfoil.airfoil_families, where aerosandbox 4
moved it
- Drop the enforce_continuous_LE_radius argument it no
longer uses.
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