#44615: generate_packets.py: Add type annotations Open Date: 2022-05-15 16:33 Last Update: 2022-05-15 18:40 URL for this Ticket: https://osdn.net//projects/freeciv/ticket/44615 RSS feed for this Ticket: https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=44615 --------------------------------------------------------------------- Last Changes/Comment on this Ticket: 2022-05-15 18:40 Updated by: alienvalkyrie Comment: Reply To cazfi Python-3.4 is already the highest (release date wise) requirement we have for building the server, and even for most of the guis. ...so what you're saying is, there's almost certainly a ton of new, useful features in less outdated versions of our other dependencies as well, that we could be taking advantage of to improve our code base — and the only real cost would be no longer supporting environments which only supply versions of these dependencies that have already been EOL for years anyway? My point being; I'm not convinced forgoing the very tangible benefits provided by certain new features is worth it just to maintain compatibility with environments that only ship dependency versions which are years out-of-date. --------------------------------------------------------------------- Ticket Status: Reporter: alienvalkyrie Owner: (None) Type: Patches Status: Open Priority: 5 - Medium MileStone: 3.2.0 Component: Bootstrap Severity: 5 - Medium Resolution: None --------------------------------------------------------------------- Ticket details: Part of #43927. Add PEP 484-style type annotations for use with IDEs and static type checkers. Problem: Python 3.4 has no special support for type annotations, beyond allowing function argument and return type annotations. In particular, the typing module is only introduced in Python 3.5, and variable annotations only in Python 3.6. Potential solutions: Leave out any annotations that would require typing In particular, this means no union types and no generic functions (which some helper functions could be) Add workaround code to use typing only when available, while maintaining 3.4 compatibility This might add a certain amount of noise to the script Increase the minimum supported Python version to 3.5 or even 3.6 -- Ticket information of Freeciv project Freeciv Project is hosted on OSDN Project URL: https://osdn.net/projects/freeciv/ OSDN: https://osdn.net URL for this Ticket: https://osdn.net/projects/freeciv/ticket/44615 RSS feed for this Ticket: https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=44615