Skip to content

Updates develop with master#1058

Merged
Gui-FernandesBR merged 14 commits into
developfrom
master
Jul 9, 2026
Merged

Updates develop with master#1058
Gui-FernandesBR merged 14 commits into
developfrom
master

Conversation

@Gui-FernandesBR

Copy link
Copy Markdown
Member

No description provided.

Gui-FernandesBR and others added 13 commits June 27, 2026 00:07
Renovate (Mend hosted app) reads repository configuration only from the
default branch, which is `master`. The config introduced in #972 was merged
into `develop`, so it never took effect: Renovate ran with bare defaults,
raised PRs against `master` instead of `develop`, did not group updates, and
naively bumped every pinned line in the autogenerated `docs/requirements.txt`.

This adds the configuration on `master` and:
- keeps the intended settings (baseBranches: develop, grouping, labels,
  dependency dashboard);
- enables the `pip-compile` manager scoped to `docs/requirements.txt`, which is
  autogenerated from `docs/requirements.in`, so the lock file is regenerated
  properly instead of patched line by line;
- disables the `pip_requirements` manager for that one file to avoid duplicate
  PRs (it still manages the hand-written requirements files).

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
RocketPyEncoder always passes include_outputs, discretize and allow_pickle
to to_dict, but Fin/TrapezoidalFin/EllipticalFin/FreeFormFin only accepted
include_outputs, so serializing any rocket or flight containing an
individual fin raised TypeError. Signatures now mirror the fin-set classes
(**kwargs), and the airfoil is serialized as the reconstructable
(airfoil_cl, unit) pair like the set classes do.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The University of Wyoming discontinued the legacy cgi-bin sounding
endpoint (it now redirects to a 404), which made
test_wyoming_sounding_atmosphere silently fall back to the standard
atmosphere and fail. process_wyoming_sounding now supports the new WSGI
page format as well: single <PRE> block (no station-info block, elevation
taken from the surface level row) and wind speed reported as SPED in m/s
instead of SKNT in knots. Legacy-format pages are still parsed as before.

The test now uses the new URL, skips loudly when the service is
unreachable instead of silently keeping the standard atmosphere, and
updates the expected wind value to the m/s-precision data. Docs examples
updated to the new URL format.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fixes four rough edges found while running the getting_started notebook:

- Partial Angle of Attack and Angle of Sideslip are signed angles that
  oscillate around zero, but all_info clamped their y-axis floor to 0,
  clipping the negative half and making the damped oscillation look
  erratic. They now scale to the data in the plotted window.
- The noisy pressure signal (clean + noise Function) lost its axis
  labels/title, rendering as "Scalar x X". Labels are now restored, and
  pressure_signals draws a single clean-vs-noisy overlay per parachute
  instead of three separate plots (dropping the useless noise-only plot).
- parachutes_info now draws one figure per dynamic variable with all
  parachutes overlaid in different colors and properly-labelled axes
  with units (e.g. "Drag Force (N)" vs "Time (s)").
- animate_trajectory/animate_rotate now raise a clear, actionable error
  when vedo is on its non-interactive "2d" backend (Jupyter/headless)
  instead of spamming "No active Plotter found for the 2d backend".

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
parachutes_info exceeded pylint's too-many-statements limit (26/25) after
the combined-plot rework. Move the per-variable figure building into a
__plot_parachute_variable helper, which also makes the method easier to read.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Addresses the review suggestion to separate controllers from air brakes in
the documentation. The generic controller material — the controller-function
signature and argument list, the 6/7/8-parameter backward-compatibility notes,
the environment argument, and the discrete vs. continuous controller behaviour
— now lives in a new docs/user/controllers.rst page. airbrakes.rst keeps the
concrete air-brakes example (which still defines its own controller_function so
its jupyter-execute cells run) and cross-references the new page. The
discrete-vs-continuous-controllers label moved to the new page; existing refs
to it resolve unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Addresses the review note in exceptions.py: reminds contributors to
progressively adopt the custom RocketPyError subclasses across the codebase
(and add new exception types here) instead of raising bare ValueError/TypeError.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Removes the third helper module flagged in review. enable_logging is a
user-facing convenience, so it belongs in the public utilities module
alongside the other analysis helpers rather than in a standalone utils.py.

- rocketpy.utils.enable_logging -> rocketpy.utilities.enable_logging
- delete rocketpy/utils.py; expose rocketpy.utilities via __init__ (imported
  last, since utilities pulls in Environment/Rocket/encoders)
- move the logging unit tests into test_utilities.py; delete test_utils.py
- update the logging user guide and reference pages

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The reset_rocketpy_logger fixture was passed as an explicit test argument,
which pylint (W0613, unused-argument) flags. Restore the autouse pattern the
tests originally used in test_utils.py so the fixture runs without being a
parameter.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Gui-FernandesBR Gui-FernandesBR requested a review from a team as a code owner July 9, 2026 21:03
@Gui-FernandesBR Gui-FernandesBR merged commit 54cf332 into develop Jul 9, 2026
10 checks passed
Gui-FernandesBR pushed a commit to thc1006/RocketPy that referenced this pull request Jul 9, 2026
@codecov

codecov Bot commented Jul 9, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 84.61538% with 14 lines in your changes missing coverage. Please review.
✅ Project coverage is 81.74%. Comparing base (7e37cb0) to head (4a67a41).
⚠️ Report is 25 commits behind head on develop.

Files with missing lines Patch % Lines
rocketpy/environment/environment.py 0.00% 7 Missing ⚠️
rocketpy/rocket/aero_surface/fins/fin.py 44.44% 5 Missing ⚠️
rocketpy/plots/flight_plots.py 96.00% 2 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1058      +/-   ##
===========================================
- Coverage    81.75%   81.74%   -0.02%     
===========================================
  Files          119      118       -1     
  Lines        15192    15248      +56     
===========================================
+ Hits         12420    12464      +44     
- Misses        2772     2784      +12     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

2 participants