Aerosandbox

Latest version: v4.2.6

Safety actively analyzes 701264 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

4.2.0

- Fixed I/O error with XFoil. XFoil outputs may have mislabeled columns if both CP and hinge moments are requested. This is a bug in XFoil, but AeroSandbox now detects and corrects for it.
- Added `Atmosphere.density_altitude()`, which returns the density altitude.
- Added a `Timer` context manager in `aerosandbox.tools.code_benchmarking`, for code profiling.
- Improved visualization of Dynamics-class instances with PyVista; now, an altitude drape, ground plane, and wingtip ribbon can be drawn.
- Fixed a bug in `asb.AeroBuildup` where wave drag could continue to be added via airfoil aerodynamics even if the user specified `include_wave_drag=False`.
- Added a `period` argument to `asb.numpy.diff()` which allows for `diff`ing periodic variables (e.g., heading angle) without wraparound error.
- Added `asb.numpy.integrate_discrete` module, which has higher-order integrators for pre-sampled functions (e.g., useful when doing direct collocation trajectory optimization).
- Added `asb.numpy.integrate` module, which copies `scipy.integrate` and provides `quad` (quadrature) and `solve_ivp` (ODE solve) functions.
- Added `asb.numpy.gradient()` as a new function.
- Fixed a bug in the `asb.numpy.mod()` function, which previous had slight discrepancies against NumPy's implementation for negative inputs.
- Fixed singularities in some dynamics instances when converting to speed-gamma-track representations due to zero-speed points.
- Added new tools for uncertainty quantification of time-series datasets, available in `aerosandbox.tools.statistics`.
- Fixed an issue where trying to put `asb.OperatingPoint` objects into a NumPy object array would result in an infinite recursion (due to iterability of singleton `OperatingPoint` objects). Same fix applied to `asb.MassProperties` and ASB Dynamics-class instances.
- Added support for `order` argument in `asb.numpy.reshape()`.

-----

4.1.7

- Minimal changes; mostly more documentation and backend upgrades (e.g., new PyPI upload process).
- Minor refactoring of `np.reshape` methods from array methods to functions, for clarity.
- Exploring reasons why NumPy 1.25.0 seems to have different optimization behavior than versions preceding. Currently ASB is pinned to NumPy<1.25.0a0; hoping to release pin in upcoming version.

4.1.6

- Fixed I/O error with AVL, where too many digits of precision would cause AVL to read .mass files incorrectly
- Added `asb.Opti.maximize()`, a convenience function that is a simple pass-through to `.minimize(-1 * x)`. Improves readability for users who are less familiar with optimization.
- Added support for the `keepdims` argument in aerosandbox.numpy.linalg.norm().
- Added optimization benchmarks in the tutorials, in `/tutorials/01 - Optimization and Math/01 - Optimization Benchmark Problems/`

4.1.5

- PENDING DEPRECATION added: `asb.Airplane.export_XFLR()` has been renamed to `asb.Airplane.export_XFLR5_xml()`. This clarifies that the output is an XFLR5 XML file (which needs to be imported through the Plane menu in XFLR5), not an XFLR5 .xfl file - a point of user confusion. For now, both will work, but the old name will trigger a warning, and eventually will be removed.
- Added improvements to `asb.LiftingLine` to ensure mixed-backend compatibility.

4.1.4

- Public release of `asb.NonlinearLiftingLine`, which is a new 3D aerodynamics analysis method implemented by Yashil Choony (yashil99) at Politecnico di Milano. It is implicitly solved (i.e., by iteration), subclassing `asb.ImplicitAnalysis`. This is a nonlinear lifting line theory method (with sweep and dihedral accounting), where the CL(alpha) function used to drive the nonlinear closure loop is taken from NeuralFoil. Fuselage influences can be optionally handled using a source-line (i.e. nonlifting) method. Preliminary testing on full-aircraft configurations indicates good agreement with other solvers, but production use should likely wait until more testing is performed in future versions.
- Added `asb.LiftingLine`, which is an experimental new 3D aerodynamics analysis method. It is explicitly solved by linearizing about the "naive" incidence angle on each surface, then doing a linear solve. Basic method is a lifting line theory method (with sweep and dihedral accounting), where the linearized sectional data is taken from NeuralFoil results for improved accuracy. Fuselage modeling is handled through a semi-empirical method (essentially, falling back on `asb.AeroBuildup`). Preliminary testing on full-aircraft configurations indicates good agreement with other solvers, but production use should likely wait until more testing is performed in future versions. Stability derivatives with respect to alpha and beta appear accurate, but rate derivatives (p, q, r) are not yet tested.
- Added save/load capabilities for AeroSandboxObjects (parent class of Airplane, Wing, Airfoil, etc.) via `AeroSandboxObject.save()` and `asb.load()`.

4.1.3

- Various plotting-related syntax changes to address deprecation warnings in Matplotlib 3.8.0.

Page 2 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.