Skip to content

Drop python 3.9#1649

Open
amilcarlucas wants to merge 5 commits into
masterfrom
drop_python_3.9
Open

Drop python 3.9#1649
amilcarlucas wants to merge 5 commits into
masterfrom
drop_python_3.9

Conversation

@amilcarlucas
Copy link
Copy Markdown
Collaborator

Description

Drop python 3.9 as it is EOL

Checklist

  • Run pre-commit checks locally
  • Verified by a human programmer
  • All commits are signed off (use git commit --signoff)
  • Code follows our coding standards
  • Documentation updated if needed
  • No breaking changes or properly documented

Testing

Describe how you tested these changes:

  • Unit tests pass
  • Integration tests pass
  • Manual testing performed
  • Tested on flight controller hardware

Copilot AI review requested due to automatic review settings May 27, 2026 19:07
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

amilcarlucas and others added 5 commits May 27, 2026 22:31
Bumps [mypy](https://github.com/python/mypy) from 1.18.2 to 1.19.1.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v1.18.2...v1.19.1)

---
updated-dependencies:
- dependency-name: mypy
  dependency-version: 1.19.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
BREAKING CHANGE: Python 3.9 is EOL and no longer supported.

- Update requires-python to >=3.10 in pyproject.toml
- Remove Python 3.9 classifier and 3.9-only matplotlib dependency
- Set ruff target-version to py310
- Update CI matrix minimum version from 3.9 to 3.10 (pytest, pylint, pyright workflows)
- Modernize 512 typing annotations: Optional[X]→X|None, Union[X,Y]→X|Y
- Remove redundant Optional/Union imports from typing module
- Update test asserting UnionType origin to use types.UnionType instead of typing.Unionfix tests
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 28, 2026

☂️ Code Coverage

current status: ❌

Overall Coverage

Statements Covered Coverage Threshold Status
12701 10307 81% 89% 🔴

New Files

No new covered files...

Modified Files

File Coverage Status
ardupilot_methodic_configurator/main.py 89% 🟢
ardupilot_methodic_configurator/annotate_params.py 87% 🟢
ardupilot_methodic_configurator/argparse_check_range.py 100% 🟢
ardupilot_methodic_configurator/backend_filesystem.py 92% 🟢
ardupilot_methodic_configurator/backend_filesystem_configuration_steps.py 99% 🟢
ardupilot_methodic_configurator/backend_filesystem_freedesktop.py 98% 🟢
ardupilot_methodic_configurator/backend_filesystem_json_with_schema.py 100% 🟢
ardupilot_methodic_configurator/backend_filesystem_program_settings.py 97% 🟢
ardupilot_methodic_configurator/backend_filesystem_vehicle_components.py 94% 🟢
ardupilot_methodic_configurator/backend_flightcontroller.py 99% 🟢
ardupilot_methodic_configurator/backend_flightcontroller_business_logic.py 100% 🟢
ardupilot_methodic_configurator/backend_flightcontroller_commands.py 100% 🟢
ardupilot_methodic_configurator/backend_flightcontroller_connection.py 100% 🟢
ardupilot_methodic_configurator/backend_flightcontroller_factory_mavftp.py 100% 🟢
ardupilot_methodic_configurator/backend_flightcontroller_factory_mavlink.py 100% 🟢
ardupilot_methodic_configurator/backend_flightcontroller_files.py 98% 🟢
ardupilot_methodic_configurator/backend_flightcontroller_params.py 100% 🟢
ardupilot_methodic_configurator/backend_flightcontroller_protocols.py 100% 🟢
ardupilot_methodic_configurator/backend_internet.py 90% 🟢
ardupilot_methodic_configurator/backend_safe_file_io.py 100% 🟢
ardupilot_methodic_configurator/battery_cell_voltages.py 100% 🟢
ardupilot_methodic_configurator/data_model_ardupilot_parameter.py 100% 🟢
ardupilot_methodic_configurator/data_model_battery_monitor.py 97% 🟢
ardupilot_methodic_configurator/data_model_configuration_step.py 100% 🟢
ardupilot_methodic_configurator/data_model_flightcontroller_info.py 100% 🟢
ardupilot_methodic_configurator/data_model_motor_test.py 100% 🟢
ardupilot_methodic_configurator/data_model_par_dict.py 100% 🟢
ardupilot_methodic_configurator/data_model_parameter_editor.py 84% 🟢
ardupilot_methodic_configurator/data_model_recent_items_history_list.py 100% 🟢
ardupilot_methodic_configurator/data_model_safe_evaluator.py 100% 🟢
ardupilot_methodic_configurator/data_model_software_updates.py 100% 🟢
ardupilot_methodic_configurator/data_model_vehicle_components_base.py 100% 🟢
ardupilot_methodic_configurator/data_model_vehicle_components_display.py 100% 🟢
ardupilot_methodic_configurator/data_model_vehicle_components_import.py 98% 🟢
ardupilot_methodic_configurator/data_model_vehicle_components_validation.py 94% 🟢
ardupilot_methodic_configurator/data_model_vehicle_project.py 98% 🟢
ardupilot_methodic_configurator/data_model_vehicle_project_creator.py 100% 🟢
ardupilot_methodic_configurator/extract_param_defaults.py 95% 🟢
ardupilot_methodic_configurator/frontend_tkinter_about_popup_window.py 22% 🟢
ardupilot_methodic_configurator/frontend_tkinter_autoresize_combobox.py 35% 🟢
ardupilot_methodic_configurator/frontend_tkinter_base_window.py 98% 🟢
ardupilot_methodic_configurator/frontend_tkinter_battery_monitor.py 24% 🟢
ardupilot_methodic_configurator/frontend_tkinter_component_editor.py 71% 🟢
ardupilot_methodic_configurator/frontend_tkinter_component_editor_base.py 83% 🟢
ardupilot_methodic_configurator/frontend_tkinter_component_template_manager.py 15% 🟢
ardupilot_methodic_configurator/frontend_tkinter_connection_selection.py 100% 🟢
ardupilot_methodic_configurator/frontend_tkinter_directory_selection.py 36% 🟢
ardupilot_methodic_configurator/frontend_tkinter_entry_dynamic.py 15% 🟢
ardupilot_methodic_configurator/frontend_tkinter_flightcontroller_connection_progress.py 97% 🟢
ardupilot_methodic_configurator/frontend_tkinter_flightcontroller_info.py 100% 🟢
ardupilot_methodic_configurator/frontend_tkinter_font.py 94% 🟢
ardupilot_methodic_configurator/frontend_tkinter_motor_test.py 18% 🟢
ardupilot_methodic_configurator/frontend_tkinter_pair_tuple_combobox.py 28% 🟢
ardupilot_methodic_configurator/frontend_tkinter_parameter_editor.py 78% 🟢
ardupilot_methodic_configurator/frontend_tkinter_parameter_editor_table.py 13% 🟢
ardupilot_methodic_configurator/frontend_tkinter_project_creator.py 93% 🟢
ardupilot_methodic_configurator/frontend_tkinter_rich_text.py 36% 🟢
ardupilot_methodic_configurator/frontend_tkinter_show.py 89% 🟢
ardupilot_methodic_configurator/frontend_tkinter_software_update.py 21% 🟢
ardupilot_methodic_configurator/frontend_tkinter_stage_progress.py 19% 🟢
ardupilot_methodic_configurator/frontend_tkinter_template_overview.py 94% 🟢
ardupilot_methodic_configurator/frontend_tkinter_usage_popup_window.py 63% 🟢
ardupilot_methodic_configurator/frontend_tkinter_usage_popup_windows.py 88% 🟢
ardupilot_methodic_configurator/internationalization.py 100% 🟢
ardupilot_methodic_configurator/param_pid_adjustment_update.py 94% 🟢
ardupilot_methodic_configurator/plugin_factory.py 100% 🟢
TOTAL 82% 🟢

updated for commit: b0fc42e by action🐍

@github-actions
Copy link
Copy Markdown
Contributor

Test Results

     4 files  ±0       4 suites  ±0   41m 16s ⏱️ +35s
 3 832 tests ±0   3 510 ✅  - 320    2 💤 ±  0  54 ❌ +54  266 🔥 +266 
15 120 runs  ±0  14 603 ✅  - 491  197 💤 +171  54 ❌ +54  266 🔥 +266 

For more details on these failures and errors, see this check.

Results for commit b0fc42e. ± Comparison against base commit 6a00a80.

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.

3 participants