Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Add basic support for PEP 702 (@deprecated).#17476

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged

Conversation

@tyralla
Copy link
Collaborator

Closes#16111

This PR provides only basic support. Many special cases might need additional attention (descriptors, some special methods like__int__, etc.). Other open issues are code comments, eventual documentation updates, the deprecation message style, etc.). But I wanted to offer these first steps before going on vacation (so I cannot respond to possible reviews too soon).

Maybe someone wants to extend the list of (test) cases the basic support should address?

Kilo59, edgarrmondragon, and ilevkivskyi reacted with thumbs up emoji
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@JelleZijlstraJelleZijlstra self-requested a reviewJuly 3, 2024 21:35
@JelleZijlstra
Copy link
Member

Thank you! I'll review this soon.

Copy link
Member

@JelleZijlstraJelleZijlstra left a comment

Choose a reason for hiding this comment

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

Thanks, this is looking pretty good!

@JelleZijlstra
Copy link
Member

mkosi (https://github.com/systemd/mkosi)+ mkosi/log.py:92:34: error: logging.getLevelName is deprecated - The str -> int case is considered a mistake.  [deprecated]

This is a case where just one overload is deprecated, so I thinklogging.getLevelName is deprecated is misleading.

For reference, pyright has the same issue:

  /Users/jelle/py/tmp/deproverl.py:18:1 - error: The function "f" is deprecated    no more floats (reportDeprecated)

Pyanalyze prints the affected overload (but appears to have a bug where the signature degenerates to(*Any, **Any) -> Any:

Use of deprecated overload (*args: Any[inference], **kwargs: Any[inference]) -> Any[unannotated]: no more floats (code: deprecated)In /Users/jelle/py/tmp/deproverl.py at line 18

I would want it to either print the actual deprecated signature (like pyanalyze) or say something like "Deprecated call to logging.getLevelName", indicating that the function isn't fully deprecated, just this way of calling it is deprecated.

JelleZijlstra added a commit to python/typeshed that referenced this pull requestJul 4, 2024
Noticed this in primer output frompython/mypy#17476.
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

AlexWaygood pushed a commit to python/typeshed that referenced this pull requestJul 4, 2024
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions
Copy link
Contributor

Diff frommypy_primer, showing the effect of this PR on open source code:

parso (https://github.com/davidhalter/parso)+ parso/tree.py:1: note: class abc.abstractproperty is deprecated: Use 'property' with 'abstractmethod' instead  [deprecated]SinbadCogs (https://github.com/mikeshardmind/SinbadCogs)+ rolemanagement/events.py:41: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ embedmaker/serialize.py:81: note: function datetime.datetime.utcfromtimestamp is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .fromtimestamp(datetime.timezone.utc)  [deprecated]+ antimentionspam/antimentionspam.py:239: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ scheduler/time_utils.py:42: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ embedmaker/time_utils.py:42: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ scheduler/message.py:82: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ modnotes/modnotes.py:148: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]spack (https://github.com/spack/spack)+ lib/spack/spack/util/package_hash.py:30: note: class ast.Str is deprecated: Replaced by ast.Constant; removed in Python 3.14  [deprecated]pydantic (https://github.com/pydantic/pydantic)+ pydantic/deprecated/parse.py:78: note: function pydantic.deprecated.parse.load_str_bytes is deprecated: `load_str_bytes` is deprecated.  [deprecated]+ pydantic/__init__.py:59: note: function pydantic.deprecated.class_validators.root_validator is deprecated: Pydantic V1 style `@root_validator` validators are deprecated. You should migrate to Pydantic V2 style `@model_validator` validators, see the migration guide for more details  [deprecated]+ pydantic/__init__.py:59: note: function pydantic.deprecated.class_validators.validator is deprecated: Pydantic V1 style `@validator` validators are deprecated. You should migrate to Pydantic V2 style `@field_validator` validators, see the migration guide for more details  [deprecated]+ pydantic/__init__.py:60: note: class pydantic.deprecated.config.BaseConfig is deprecated: BaseConfig is deprecated. Use the `pydantic.ConfigDict` instead.  [deprecated]+ pydantic/__init__.py:60: note: class pydantic.deprecated.config.Extra is deprecated: Extra is deprecated. Use literal values instead (e.g. `extra='allow'`)  [deprecated]+ pydantic/color.py:252: note: class pydantic.color.Color is deprecated: The `Color` class is deprecated, use `pydantic_extra_types` instead. See https://docs.pydantic.dev/latest/api/pydantic_extra_types_color/.  [deprecated]+ pydantic/deprecated/json.py:16: note: class pydantic.color.Color is deprecated: The `Color` class is deprecated, use `pydantic_extra_types` instead. See https://docs.pydantic.dev/latest/api/pydantic_extra_types_color/.  [deprecated]+ pydantic/deprecated/json.py:132: note: function pydantic.deprecated.json.pydantic_encoder is deprecated: `pydantic_encoder` is deprecated, use `pydantic_core.to_jsonable_python` instead.  [deprecated]+ pydantic/main.py:1219: note: function pydantic.deprecated.parse.load_str_bytes is deprecated: `load_str_bytes` is deprecated.  [deprecated]+ pydantic/main.py:1271: note: function pydantic.deprecated.parse.load_file is deprecated: `load_file` is deprecated.  [deprecated]+ pydantic/main.py:1278: note: function pydantic.main.BaseModel.parse_obj is deprecated: The `parse_obj` method is deprecated; use `model_validate` instead.  [deprecated]+ pydantic/deprecated/tools.py:101: note: function pydantic.deprecated.tools.schema_of is deprecated: `schema_of` is deprecated. Use `pydantic.TypeAdapter.json_schema` instead.  [deprecated]+ pydantic/v1/_hypothesis_plugin.py:105: note: class pydantic.color.Color is deprecated: The `Color` class is deprecated, use `pydantic_extra_types` instead. See https://docs.pydantic.dev/latest/api/pydantic_extra_types_color/.  [deprecated]+ pydantic/v1/_hypothesis_plugin.py:126: note: class pydantic.types.PaymentCardNumber is deprecated: The `PaymentCardNumber` class is deprecated, use `pydantic_extra_types` instead. See https://docs.pydantic.dev/latest/api/pydantic_extra_types_payment/#pydantic_extra_types.payment.PaymentCardNumber.  [deprecated]+ pydantic/v1/_hypothesis_plugin.py:139: note: class pydantic.types.PaymentCardNumber is deprecated: The `PaymentCardNumber` class is deprecated, use `pydantic_extra_types` instead. See https://docs.pydantic.dev/latest/api/pydantic_extra_types_payment/#pydantic_extra_types.payment.PaymentCardNumber.  [deprecated]+ pydantic/deprecated/decorator.py:84: note: function pydantic.deprecated.decorator.validate_arguments is deprecated: The `validate_arguments` method is deprecated; use `validate_call` instead.  [deprecated]Tanjun (https://github.com/FasterSpeeding/Tanjun)+ tanjun/injecting.py:106: note: class alluka._self_injecting.AsyncSelfInjecting is deprecated: Use Client.auto_inject_async  [deprecated]+ tanjun/context/base.py:58: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/base.py:133: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/base.py:136: note: function alluka._context.BasicContext._remove_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/slash.py:321: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/slash.py:1042: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/slash.py:1077: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/slash.py:1085: note: function alluka._context.BasicContext._remove_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/message.py:114: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/message.py:184: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/message.py:189: note: function alluka._context.BasicContext._remove_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/autocomplete.py:95: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/menu.py:98: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/menu.py:153: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/menu.py:156: note: function alluka._context.BasicContext._remove_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/annotations.py:1699: note: @overload should be placed before @deprecatedcloud-init (https://github.com/canonical/cloud-init)+ cloudinit/reporting/handlers.py:378: note: function datetime.datetime.utcfromtimestamp is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .fromtimestamp(datetime.timezone.utc)  [deprecated]+ tests/integration_tests/clouds.py:328: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ cloudinit/sources/azure/errors.py:55: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ cloudinit/sources/azure/kvp.py:52: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ tests/unittests/sources/azure/test_kvp.py:14: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ tests/integration_tests/test_paths.py:69: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ tests/integration_tests/test_paths.py:101: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]pywin32 (https://github.com/mhammond/pywin32)+ AutoDuck/fixHelpCompression.py:16:1: note: function win32.win32api.WriteProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ win32/Lib/win32serviceutil.py:140:19: note: function win32.win32api.GetProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/sgrepmdi.py:615:20: note: function win32.win32api.GetProfileSection is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/sgrepmdi.py:629:21: note: function win32.win32api.WriteProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/mdi_pychecker.py:703:20: note: function win32.win32api.GetProfileSection is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/mdi_pychecker.py:717:21: note: function win32.win32api.WriteProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/editor/vss.py:45:20: note: function win32.win32api.GetProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/editor/vss.py:46:19: note: function win32.win32api.GetProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]pwndbg (https://github.com/pwndbg/pwndbg)+ pwndbg/commands/__init__.py: note: In function "OnlyWithResolvedHeapSyms":+ pwndbg/commands/__init__.py:453: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]dd-trace-py (https://github.com/DataDog/dd-trace-py)+ ddtrace/internal/debug.py:121: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ ddtrace/appsec/_iast/_ast/visitor.py:228: note: class ast.Bytes is deprecated: Replaced by ast.Constant; removed in Python 3.14  [deprecated]+ ddtrace/appsec/_iast/_ast/visitor.py:238: note: class ast.Num is deprecated: Replaced by ast.Constant; removed in Python 3.14  [deprecated]+ ddtrace/appsec/_iast/_ast/visitor.py:390: note: class ast.NameConstant is deprecated: Replaced by ast.Constant; removed in Python 3.14  [deprecated]+ ddtrace/profiling/exporter/http.py:219: note: function datetime.datetime.utcfromtimestamp is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .fromtimestamp(datetime.timezone.utc)  [deprecated]+ ddtrace/profiling/exporter/http.py:220: note: function datetime.datetime.utcfromtimestamp is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .fromtimestamp(datetime.timezone.utc)  [deprecated]alerta (https://github.com/alerta/alerta)+ alerta/dev.py:4: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/utils/audit.py:94: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/note.py:25: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/key.py:31: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/key.py:42: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/key.py:164: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/heartbeat.py:56: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/heartbeat.py:59: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/heartbeat.py:61: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/blackout.py:37: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/blackout.py:60: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:66: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:75: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:282: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:335: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:379: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:430: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:574: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:609: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:637: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/auth/utils.py:52: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/user.py:41: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/user.py:44: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/database/backends/mongodb/utils.py:250: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/database/backends/mongodb/utils.py:252: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/database/backends/mongodb/utils.py:254: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/database/backends/mongodb/utils.py:345: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/database/backends/mongodb/utils.py:347: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]scrapy (https://github.com/scrapy/scrapy)+ scrapy/utils/misc.py:279: note: class ast.NameConstant is deprecated: Replaced by ast.Constant; removed in Python 3.14  [deprecated]openlibrary (https://github.com/internetarchive/openlibrary)+ openlibrary/core/yearly_reading_goals.py: note: In member "update_current_count" of class "YearlyReadingGoals":+ openlibrary/core/yearly_reading_goals.py:103: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/core/yearly_reading_goals.py: note: In member "update_target" of class "YearlyReadingGoals":+ openlibrary/core/yearly_reading_goals.py:121: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/core/edits.py: note: In member "assign_request" of class "CommunityEditsQueue":+ openlibrary/core/edits.py:231: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/core/edits.py: note: In member "unassign_request" of class "CommunityEditsQueue":+ openlibrary/core/edits.py:251: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/core/edits.py: note: In member "update_request_status" of class "CommunityEditsQueue":+ openlibrary/core/edits.py:280: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/core/edits.py: note: In member "comment_request" of class "CommunityEditsQueue":+ openlibrary/core/edits.py:296: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/core/edits.py: note: In member "create_comment" of class "CommunityEditsQueue":+ openlibrary/core/edits.py:322: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/plugins/upstream/borrow.py: note: In function "is_loaned_out":+ openlibrary/plugins/upstream/borrow.py:609: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/plugins/upstream/borrow.py: note: In function "_update_loan_status":+ openlibrary/plugins/upstream/borrow.py:635: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/plugins/upstream/borrow.py: note: In function "get_ia_auth_dict":+ openlibrary/plugins/upstream/borrow.py:826: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/plugins/upstream/addbook.py: note: In function "get_recaptcha":+ openlibrary/plugins/upstream/addbook.py:50: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]discord.py (https://github.com/Rapptz/discord.py)+ discord/member.py:946: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ discord/member.py:1002: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ discord/ext/tasks/__init__.py:227: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]comtypes (https://github.com/enthought/comtypes)+ comtypes/test/__init__.py:140: note: function unittest.loader.makeSuite is deprecated: Deprecated in Python 3.11; removal scheduled for Python 3.13  [deprecated]+ comtypes/test/__init__.py:210: note: function unittest.loader.makeSuite is deprecated: Deprecated in Python 3.11; removal scheduled for Python 3.13  [deprecated]speedrun.com_global_scoreboard_webapp (https://github.com/Avasam/speedrun.com_global_scoreboard_webapp)+ backend/api/api_wrappers.py:56: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ backend/services/user_updater.py:78: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ backend/api/core_api.py:36: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ backend/api/core_api.py:37: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ backend/api/global_scoreboard_api.py:76: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]dragonchain (https://github.com/dragonchain/dragonchain)+ dragonchain/lib/dto/smart_contract_model.py:100:86: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ dragonchain/lib/dto/smart_contract_model.py:300:112: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ dragonchain/lib/authorization.py:51:12: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ dragonchain/scheduler/scheduler.py:65:42: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]freqtrade (https://github.com/freqtrade/freqtrade)+ freqtrade/data/history/history_utils.py:125: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ freqtrade/rpc/api_server/api_ws.py:42: note: function pydantic.main.BaseModel.dict is deprecated: The `dict` method is deprecated; use `model_dump` instead.  [deprecated]pytest-robotframework (https://github.com/detachhead/pytest-robotframework)+ pytest_robotframework/__init__.py:471: note: @overload should be placed before @deprecatedsockeye (https://github.com/awslabs/sockeye)+ sockeye/utils.py:843: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ sockeye/model.py:183: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ sockeye/model.py:187: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]paasta (https://github.com/yelp/paasta)+ paasta_tools/utils.py:1496: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/utils.py:3673: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/utils.py:3680: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/utils.py:3688: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/spark_tools.py:136: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/spark_tools.py:204: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/setup_istio_mesh.py:106: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/smartstack_tools.py:476: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/smartstack_tools.py:533: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/cli/cmds/logs.py:809: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/cli/cmds/logs.py:824: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/cli/cmds/logs.py:829: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/cli/cmds/logs.py:1020: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/cli/cmds/logs.py:1024: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/cli/cmds/logs.py:1310: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/cli/cmds/logs.py:1317: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/cli/cmds/logs.py:1329: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]bandersnatch (https://github.com/pypa/bandersnatch)+ src/bandersnatch/utils.py: note: In function "make_time_stamp":+ src/bandersnatch/utils.py:54: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ src/bandersnatch/mirror.py: note: In member "synchronize" of class "Mirror":+ src/bandersnatch/mirror.py:58: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]optuna (https://github.com/optuna/optuna)+ optuna/_gp/gp.py:260: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]typeshed-stats (https://github.com/AlexWaygood/typeshed-stats)+ website_macros.py:101: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]tornado (https://github.com/tornadoweb/tornado)+ tornado/autoreload.py:339: note: function pkgutil.get_loader is deprecated: Use importlib.util.find_spec() instead. Will be removed in Python 3.14.  [deprecated]+ tornado/test/httputil_test.py:444: note: function datetime.datetime.utcfromtimestamp is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .fromtimestamp(datetime.timezone.utc)  [deprecated]... (truncated 25 lines) ...```

@tyralla
Copy link
CollaboratorAuthor

Hm,docstring of moduleastdiff seems to suggest it is a bad idea.

@tyralla
Copy link
CollaboratorAuthor

@ilevkivskyi

I am now quite sure thattestDeprecatedAddFunctionDeprecationIndirectImport-only_when_nocache fails due to a more general problem (or my misunderstanding ofonly_when_nocache). Mypy does not report any of the two obvious errors, no matter which of the four decorator definitions I select:

[casetestReplaceFunctionWithDecoratedFunction-only_when_nocache]frombimportfx:int=f()importby:int=b.f()[fileb.py]fromaimportf[filea.py]deff()->int: ...[filea.py.2]fromtypingimportCallable,TypeVarT=TypeVar("T")# def d(t: str, /) -> Callable[[T], T]: ...  # version 1# def d(t: str, /) -> Callable[[Callable[[], str]], Callable[[], str]]: ...  # version 2# def d(t: T, /) -> T: ...  # version 3defd(t:Callable[[],str],/)->Callable[[],str]: ...# version 4# @d("deprecated")  # version 1 or 2@d# version 3 or 4deff()->str: ...[builtinsfixtures/tuple.pyi][out]==main:2:error:Incompatibletypesinassignment (expressionhas type"str",variablehas type"int")main:4:error:Incompatibletypesinassignment (expressionhas type"str",variablehas type"int")

@tyralla
Copy link
CollaboratorAuthor

I now had time for some debugging but did not come to a helpful conclusion.

The already mentioned docstring seems to suggest that snapshots and fine-grained dependencies have nothing to do with each other. I thought that snapshots would be used to determine the triggers that are used in combination with the fine-grained dependency mappings for determining targets that need reprocessing.

Another confusion comes from the fact that Mypy doesnot fail the following test cast:

[casetestReplaceFunctionWithDecoratedFunction-only_when_nocache]frombimportfx:int=f()[fileb.py]fromaimportf[filea.py]deff()->int: ...[filea.py.2]deff()->str: ...[builtinsfixtures/tuple.pyi][out]==main:2:error:Incompatibletypesinassignment (expressionhas type"str",variablehas type"int")

It seems to me that Mypy does not handle this test well because of processing the modules in the right order (a ->b ->main) but because of storing the sameFuncDef instance in the symbol tables of the three modules. Hence, ifa.f is updated when reanalysinga,b andmain know this at once. So, Mypy can detect the error also for the processing ordera ->main ->b and then starts another iteration step so that the complete processing order becomesa ->main ->b ->main (it actually finds the same error twice).

Again, all this seems to apply only foronly_when_nocache.

I suspect those familiar with Mypy's server functionalities will find it much easier to solve this puzzle (or see, where I am thinking in the wrong direction), so I will wait for help.

@ilevkivskyi
Copy link
Member

I will try to look at this on the weekend, there indeed may be a deeper problem.

ilevkivskyi added a commit that referenced this pull requestOct 6, 2024
This is quite a bad bug. Currently we rely on `SymbolNode` being updatedin-place for all indirect references, but this is not the case when nodekind (`FuncDef`, `Decorator`, etc.) changes, in this case a _new_`SymbolNode` is created. I fix this by forcing reprocessing if the nodekind changes.This currently blocks support for PEP 702, see#17476, so I will not wait for longbefore merging.
@ilevkivskyi
Copy link
Member

@tyralla I think I fixed the bug in#17883. Please undo yourCrossRef change. Also please add a test like this:

[case testDeprecateFunctionAlreadyDecorated]from b import fx: str = f()import by: str = b.f()[file b.py]from a import f[file a.py]from typing import Callabledef d(t: Callable[[], str]) -> Callable[[], str]: ...@ddef f() -> str: ...[file a.py.2]from typing import Callablefrom typing_extensions import deprecateddef d(t: Callable[[], str]) -> Callable[[], str]: ...@deprecated("deprecated decorated function")@ddef f() -> str: ...[builtins fixtures/tuple.pyi][out]==main:2: note: deprecated decorated functionmain:4: note: deprecated decorated function

I am 95% sure this will fail unless you add the flag toDecorator snapshot as I suggested a while ago.

@tyralla
Copy link
CollaboratorAuthor

Okay, I'm glad to hear my analysis was correct. Thank you for applying and merging the fix into the master branch so soon. I reverted my fix, merged your one, and added the suggested test casetestDeprecateFunctionAlreadyDecorated. However, I would have been a little surprised if it failed with the current implementation because there is already a similar test (testDeprecatedChangeFunctionDeprecationIndirectImport) that passes. Should I, nevertheless, add the attributedeprecated to the snapshot?

Due to all the refactoring and bug searching, I haven't thought about PEP 702 for a while now. I could consider some additional special cases (you mentioned one above) and theoverride topic soon. Do you intend to include PEP 702 support in Mypy 1.12?

@ilevkivskyi
Copy link
Member

Mypy always reprocesses targets with errors. So the existing test case is not testing what I want.

Do you intend to include PEP 702 support in Mypy 1.12?

It's up to@JukkaL, but IIUC release branch has been cut few days ago, so normally only low-risk bug fixes are accepted.

@ilevkivskyi
Copy link
Member

@tyralla As you see it failed as expected, so yes, you need to adddeprecated to the snapshot. Btw I just noticed the error message I put in the test is wrong, it should start withfunction a.f is deprecated: (you can locally usingpytest -k testDeprecateFunctionAlreadyDecorated to avoid waiting for CI).

@github-actions
Copy link
Contributor

Diff frommypy_primer, showing the effect of this PR on open source code:

parso (https://github.com/davidhalter/parso)+ parso/tree.py:1: note: class abc.abstractproperty is deprecated: Use 'property' with 'abstractmethod' instead  [deprecated]optuna (https://github.com/optuna/optuna)+ optuna/_gp/gp.py:260: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]pydantic (https://github.com/pydantic/pydantic)+ pydantic/deprecated/parse.py:78: note: function pydantic.deprecated.parse.load_str_bytes is deprecated: `load_str_bytes` is deprecated.  [deprecated]+ pydantic/__init__.py:59: note: function pydantic.deprecated.class_validators.root_validator is deprecated: Pydantic V1 style `@root_validator` validators are deprecated. You should migrate to Pydantic V2 style `@model_validator` validators, see the migration guide for more details  [deprecated]+ pydantic/__init__.py:59: note: function pydantic.deprecated.class_validators.validator is deprecated: Pydantic V1 style `@validator` validators are deprecated. You should migrate to Pydantic V2 style `@field_validator` validators, see the migration guide for more details  [deprecated]+ pydantic/__init__.py:60: note: class pydantic.deprecated.config.BaseConfig is deprecated: BaseConfig is deprecated. Use the `pydantic.ConfigDict` instead.  [deprecated]+ pydantic/__init__.py:60: note: class pydantic.deprecated.config.Extra is deprecated: Extra is deprecated. Use literal values instead (e.g. `extra='allow'`)  [deprecated]+ pydantic/color.py:252: note: class pydantic.color.Color is deprecated: The `Color` class is deprecated, use `pydantic_extra_types` instead. See https://docs.pydantic.dev/latest/api/pydantic_extra_types_color/.  [deprecated]+ pydantic/deprecated/json.py:16: note: class pydantic.color.Color is deprecated: The `Color` class is deprecated, use `pydantic_extra_types` instead. See https://docs.pydantic.dev/latest/api/pydantic_extra_types_color/.  [deprecated]+ pydantic/deprecated/json.py:132: note: function pydantic.deprecated.json.pydantic_encoder is deprecated: `pydantic_encoder` is deprecated, use `pydantic_core.to_jsonable_python` instead.  [deprecated]+ pydantic/main.py:1231: note: function pydantic.deprecated.parse.load_str_bytes is deprecated: `load_str_bytes` is deprecated.  [deprecated]+ pydantic/main.py:1284: note: function pydantic.deprecated.parse.load_file is deprecated: `load_file` is deprecated.  [deprecated]+ pydantic/main.py:1291: note: function pydantic.main.BaseModel.parse_obj is deprecated: The `parse_obj` method is deprecated; use `model_validate` instead.  [deprecated]+ pydantic/deprecated/tools.py:101: note: function pydantic.deprecated.tools.schema_of is deprecated: `schema_of` is deprecated. Use `pydantic.TypeAdapter.json_schema` instead.  [deprecated]+ pydantic/v1/_hypothesis_plugin.py:105: note: class pydantic.color.Color is deprecated: The `Color` class is deprecated, use `pydantic_extra_types` instead. See https://docs.pydantic.dev/latest/api/pydantic_extra_types_color/.  [deprecated]+ pydantic/v1/_hypothesis_plugin.py:126: note: class pydantic.types.PaymentCardNumber is deprecated: The `PaymentCardNumber` class is deprecated, use `pydantic_extra_types` instead. See https://docs.pydantic.dev/latest/api/pydantic_extra_types_payment/#pydantic_extra_types.payment.PaymentCardNumber.  [deprecated]+ pydantic/v1/_hypothesis_plugin.py:139: note: class pydantic.types.PaymentCardNumber is deprecated: The `PaymentCardNumber` class is deprecated, use `pydantic_extra_types` instead. See https://docs.pydantic.dev/latest/api/pydantic_extra_types_payment/#pydantic_extra_types.payment.PaymentCardNumber.  [deprecated]+ pydantic/deprecated/decorator.py:84: note: function pydantic.deprecated.decorator.validate_arguments is deprecated: The `validate_arguments` method is deprecated; use `validate_call` instead.  [deprecated]Tanjun (https://github.com/FasterSpeeding/Tanjun)+ tanjun/injecting.py:106: note: class alluka._self_injecting.AsyncSelfInjecting is deprecated: Use Client.auto_inject_async  [deprecated]+ tanjun/context/base.py:58: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/base.py:133: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/base.py:136: note: function alluka._context.BasicContext._remove_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/slash.py:321: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/slash.py:1042: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/slash.py:1077: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/slash.py:1085: note: function alluka._context.BasicContext._remove_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/message.py:114: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/message.py:184: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/message.py:189: note: function alluka._context.BasicContext._remove_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/autocomplete.py:95: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/menu.py:98: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/menu.py:153: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/menu.py:156: note: function alluka._context.BasicContext._remove_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/annotations.py:1699: note: @overload should be placed before @deprecatedSinbadCogs (https://github.com/mikeshardmind/SinbadCogs)+ rolemanagement/events.py:41: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ embedmaker/serialize.py:81: note: function datetime.datetime.utcfromtimestamp is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .fromtimestamp(datetime.timezone.utc)  [deprecated]+ antimentionspam/antimentionspam.py:239: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ scheduler/time_utils.py:42: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ embedmaker/time_utils.py:42: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ scheduler/message.py:82: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ modnotes/modnotes.py:148: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]prefect (https://github.com/PrefectHQ/prefect)+ src/prefect/_internal/concurrency/api.py:49: note: class abc.abstractstaticmethod is deprecated: Use 'staticmethod' with 'abstractmethod' instead  [deprecated]+ src/prefect/_internal/concurrency/api.py:62: note: class abc.abstractstaticmethod is deprecated: Use 'staticmethod' with 'abstractmethod' instead  [deprecated]+ src/prefect/results.py:1176: note: class abc.abstractclassmethod is deprecated: Use 'classmethod' with 'abstractmethod' instead  [deprecated]+ src/prefect/server/database/query_components.py:2: note: class abc.abstractproperty is deprecated: Use 'property' with 'abstractmethod' instead  [deprecated]python-sop (https://gitlab.com/dkg/python-sop)+ sop/__init__.py:424: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]pywin32 (https://github.com/mhammond/pywin32)+ AutoDuck/fixHelpCompression.py:16:1: note: function win32.win32api.WriteProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ win32/Lib/win32serviceutil.py:140:19: note: function win32.win32api.GetProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/sgrepmdi.py:615:20: note: function win32.win32api.GetProfileSection is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/sgrepmdi.py:629:21: note: function win32.win32api.WriteProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/mdi_pychecker.py:703:20: note: function win32.win32api.GetProfileSection is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/mdi_pychecker.py:717:21: note: function win32.win32api.WriteProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/editor/vss.py:45:20: note: function win32.win32api.GetProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/editor/vss.py:46:19: note: function win32.win32api.GetProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]dd-trace-py (https://github.com/DataDog/dd-trace-py)+ ddtrace/internal/debug.py:121: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ ddtrace/appsec/_iast/_ast/visitor.py:228: note: class ast.Bytes is deprecated: Replaced by ast.Constant; removed in Python 3.14  [deprecated]+ ddtrace/appsec/_iast/_ast/visitor.py:238: note: class ast.Num is deprecated: Replaced by ast.Constant; removed in Python 3.14  [deprecated]+ ddtrace/appsec/_iast/_ast/visitor.py:390: note: class ast.NameConstant is deprecated: Replaced by ast.Constant; removed in Python 3.14  [deprecated]+ ddtrace/profiling/exporter/http.py:219: note: function datetime.datetime.utcfromtimestamp is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .fromtimestamp(datetime.timezone.utc)  [deprecated]+ ddtrace/profiling/exporter/http.py:220: note: function datetime.datetime.utcfromtimestamp is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .fromtimestamp(datetime.timezone.utc)  [deprecated]alerta (https://github.com/alerta/alerta)+ alerta/dev.py:4: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/utils/audit.py:94: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/note.py:25: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/key.py:31: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/key.py:42: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/key.py:164: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/heartbeat.py:56: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/heartbeat.py:59: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/heartbeat.py:61: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/blackout.py:37: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/blackout.py:60: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:66: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:75: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:282: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:335: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:379: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:430: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:574: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:609: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:637: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/auth/utils.py:52: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/user.py:41: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/user.py:44: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/database/backends/mongodb/utils.py:250: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/database/backends/mongodb/utils.py:252: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/database/backends/mongodb/utils.py:254: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/database/backends/mongodb/utils.py:345: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/database/backends/mongodb/utils.py:347: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]openlibrary (https://github.com/internetarchive/openlibrary)+ openlibrary/core/edits.py: note: In member "assign_request" of class "CommunityEditsQueue":+ openlibrary/core/edits.py:231: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/core/edits.py: note: In member "unassign_request" of class "CommunityEditsQueue":+ openlibrary/core/edits.py:251: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/core/edits.py: note: In member "update_request_status" of class "CommunityEditsQueue":+ openlibrary/core/edits.py:280: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/core/edits.py: note: In member "comment_request" of class "CommunityEditsQueue":+ openlibrary/core/edits.py:296: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/core/edits.py: note: In member "create_comment" of class "CommunityEditsQueue":+ openlibrary/core/edits.py:322: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/plugins/upstream/borrow.py: note: In function "is_loaned_out":+ openlibrary/plugins/upstream/borrow.py:609: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/plugins/upstream/borrow.py: note: In function "_update_loan_status":+ openlibrary/plugins/upstream/borrow.py:635: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/plugins/upstream/borrow.py: note: In function "get_ia_auth_dict":+ openlibrary/plugins/upstream/borrow.py:826: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/plugins/upstream/addbook.py: note: In function "get_recaptcha":+ openlibrary/plugins/upstream/addbook.py:50: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]paasta (https://github.com/yelp/paasta)+ paasta_tools/utils.py:1496: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/utils.py:3673: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/utils.py:3680: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/utils.py:3688: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/spark_tools.py:136: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/spark_tools.py:204: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/setup_istio_mesh.py:106: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/smartstack_tools.py:476: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/smartstack_tools.py:533: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/cli/cmds/logs.py:809: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/cli/cmds/logs.py:824: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/cli/cmds/logs.py:829: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/cli/cmds/logs.py:1020: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/cli/cmds/logs.py:1024: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/cli/cmds/logs.py:1310: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/cli/cmds/logs.py:1317: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/cli/cmds/logs.py:1329: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]comtypes (https://github.com/enthought/comtypes)+ comtypes/test/__init__.py:140: note: function unittest.loader.makeSuite is deprecated: Deprecated in Python 3.11; removal scheduled for Python 3.13  [deprecated]+ comtypes/test/__init__.py:210: note: function unittest.loader.makeSuite is deprecated: Deprecated in Python 3.11; removal scheduled for Python 3.13  [deprecated]speedrun.com_global_scoreboard_webapp (https://github.com/Avasam/speedrun.com_global_scoreboard_webapp)+ backend/api/api_wrappers.py:56: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ backend/services/user_updater.py:78: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ backend/api/core_api.py:36: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ backend/api/core_api.py:37: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ backend/api/global_scoreboard_api.py:76: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]freqtrade (https://github.com/freqtrade/freqtrade)+ freqtrade/data/history/history_utils.py:125: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ freqtrade/rpc/api_server/api_ws.py:42: note: function pydantic.main.BaseModel.dict is deprecated: The `dict` method is deprecated; use `model_dump` instead.  [deprecated]dragonchain (https://github.com/dragonchain/dragonchain)+ dragonchain/lib/dto/smart_contract_model.py:100:86: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ dragonchain/lib/dto/smart_contract_model.py:300:112: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ dragonchain/lib/authorization.py:51:12: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ dragonchain/scheduler/scheduler.py:65:42: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]scrapy (https://github.com/scrapy/scrapy)+ scrapy/utils/misc.py:279: note: class ast.NameConstant is deprecated: Replaced by ast.Constant; removed in Python 3.14  [deprecated]materialize (https://github.com/MaterializeInc/materialize)+ misc/python/materialize/buildkite_insights/util/data_io.py:75: note: function datetime.datetime.utcfromtimestamp is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .fromtimestamp(datetime.timezone.utc)  [deprecated]+ ci/cleanup/launchdarkly.py:32: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ misc/python/materialize/scratch.py:388: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ misc/python/materialize/cli/cloudbench.py:290: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ misc/python/materialize/cli/scratch/create.py:148: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ ci/load/periodic.py:31: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ ci/load/periodic.py:36: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ ci/cleanup/aws.py:105: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]pytest-robotframework (https://github.com/detachhead/pytest-robotframework)+ pytest_robotframework/__init__.py:471: note: @overload should be placed before @deprecatedsockeye (https://github.com/awslabs/sockeye)+ sockeye/utils.py:843: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ sockeye/model.py:183: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ sockeye/model.py:187: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]bandersnatch (https://github.com/pypa/bandersnatch)+ src/bandersnatch/utils.py: note: In function "make_time_stamp":+ src/bandersnatch/utils.py:54: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ src/bandersnatch/mirror.py: note: In member "synchronize" of class "Mirror":+ src/bandersnatch/mirror.py:58: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]typeshed-stats (https://github.com/AlexWaygood/typeshed-stats)+ website_macros.py:101: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]pwndbg (https://github.com/pwndbg/pwndbg)+ pwndbg/commands/__init__.py: note: In function "OnlyWithResolvedHeapSyms":+ pwndbg/commands/__init__.py:453: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]discord.py (https://github.com/Rapptz/discord.py)+ discord/member.py:946: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ discord/member.py:1002: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ discord/ext/tasks/__init__.py:227: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]tornado (https://github.com/tornadoweb/tornado)... (truncated 20 lines) ...```

@tyralla
Copy link
CollaboratorAuthor

My fault. I did not execute the test at all because it had a slightly different prefix (testDeprecate... instead oftestDeprecated...). Too lazy...

I finally addeddeprecated to the snapshot, adjusted the test results, and splittestDeprecatedFunctionAlreadyDecorated into two versions because of different result orders for thecache and thenocache case.

@github-actions
Copy link
Contributor

Diff frommypy_primer, showing the effect of this PR on open source code:

parso (https://github.com/davidhalter/parso)+ parso/tree.py:1: note: class abc.abstractproperty is deprecated: Use 'property' with 'abstractmethod' instead  [deprecated]prefect (https://github.com/PrefectHQ/prefect)+ src/prefect/_internal/concurrency/api.py:49: note: class abc.abstractstaticmethod is deprecated: Use 'staticmethod' with 'abstractmethod' instead  [deprecated]+ src/prefect/_internal/concurrency/api.py:62: note: class abc.abstractstaticmethod is deprecated: Use 'staticmethod' with 'abstractmethod' instead  [deprecated]+ src/prefect/results.py:1176: note: class abc.abstractclassmethod is deprecated: Use 'classmethod' with 'abstractmethod' instead  [deprecated]+ src/prefect/server/database/query_components.py:2: note: class abc.abstractproperty is deprecated: Use 'property' with 'abstractmethod' instead  [deprecated]pydantic (https://github.com/pydantic/pydantic)+ pydantic/deprecated/parse.py:78: note: function pydantic.deprecated.parse.load_str_bytes is deprecated: `load_str_bytes` is deprecated.  [deprecated]+ pydantic/__init__.py:59: note: function pydantic.deprecated.class_validators.root_validator is deprecated: Pydantic V1 style `@root_validator` validators are deprecated. You should migrate to Pydantic V2 style `@model_validator` validators, see the migration guide for more details  [deprecated]+ pydantic/__init__.py:59: note: function pydantic.deprecated.class_validators.validator is deprecated: Pydantic V1 style `@validator` validators are deprecated. You should migrate to Pydantic V2 style `@field_validator` validators, see the migration guide for more details  [deprecated]+ pydantic/__init__.py:60: note: class pydantic.deprecated.config.BaseConfig is deprecated: BaseConfig is deprecated. Use the `pydantic.ConfigDict` instead.  [deprecated]+ pydantic/__init__.py:60: note: class pydantic.deprecated.config.Extra is deprecated: Extra is deprecated. Use literal values instead (e.g. `extra='allow'`)  [deprecated]+ pydantic/color.py:252: note: class pydantic.color.Color is deprecated: The `Color` class is deprecated, use `pydantic_extra_types` instead. See https://docs.pydantic.dev/latest/api/pydantic_extra_types_color/.  [deprecated]+ pydantic/deprecated/json.py:16: note: class pydantic.color.Color is deprecated: The `Color` class is deprecated, use `pydantic_extra_types` instead. See https://docs.pydantic.dev/latest/api/pydantic_extra_types_color/.  [deprecated]+ pydantic/deprecated/json.py:132: note: function pydantic.deprecated.json.pydantic_encoder is deprecated: `pydantic_encoder` is deprecated, use `pydantic_core.to_jsonable_python` instead.  [deprecated]+ pydantic/main.py:1231: note: function pydantic.deprecated.parse.load_str_bytes is deprecated: `load_str_bytes` is deprecated.  [deprecated]+ pydantic/main.py:1284: note: function pydantic.deprecated.parse.load_file is deprecated: `load_file` is deprecated.  [deprecated]+ pydantic/main.py:1291: note: function pydantic.main.BaseModel.parse_obj is deprecated: The `parse_obj` method is deprecated; use `model_validate` instead.  [deprecated]+ pydantic/deprecated/tools.py:101: note: function pydantic.deprecated.tools.schema_of is deprecated: `schema_of` is deprecated. Use `pydantic.TypeAdapter.json_schema` instead.  [deprecated]+ pydantic/v1/_hypothesis_plugin.py:105: note: class pydantic.color.Color is deprecated: The `Color` class is deprecated, use `pydantic_extra_types` instead. See https://docs.pydantic.dev/latest/api/pydantic_extra_types_color/.  [deprecated]+ pydantic/v1/_hypothesis_plugin.py:126: note: class pydantic.types.PaymentCardNumber is deprecated: The `PaymentCardNumber` class is deprecated, use `pydantic_extra_types` instead. See https://docs.pydantic.dev/latest/api/pydantic_extra_types_payment/#pydantic_extra_types.payment.PaymentCardNumber.  [deprecated]+ pydantic/v1/_hypothesis_plugin.py:139: note: class pydantic.types.PaymentCardNumber is deprecated: The `PaymentCardNumber` class is deprecated, use `pydantic_extra_types` instead. See https://docs.pydantic.dev/latest/api/pydantic_extra_types_payment/#pydantic_extra_types.payment.PaymentCardNumber.  [deprecated]+ pydantic/deprecated/decorator.py:84: note: function pydantic.deprecated.decorator.validate_arguments is deprecated: The `validate_arguments` method is deprecated; use `validate_call` instead.  [deprecated]Tanjun (https://github.com/FasterSpeeding/Tanjun)+ tanjun/injecting.py:106: note: class alluka._self_injecting.AsyncSelfInjecting is deprecated: Use Client.auto_inject_async  [deprecated]+ tanjun/context/base.py:58: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/base.py:133: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/base.py:136: note: function alluka._context.BasicContext._remove_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/slash.py:321: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/slash.py:1042: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/slash.py:1077: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/slash.py:1085: note: function alluka._context.BasicContext._remove_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/message.py:114: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/message.py:184: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/message.py:189: note: function alluka._context.BasicContext._remove_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/autocomplete.py:95: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/menu.py:98: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/menu.py:153: note: function alluka._context.BasicContext._set_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/context/menu.py:156: note: function alluka._context.BasicContext._remove_type_special_case is deprecated: Use ContextOverride  [deprecated]+ tanjun/annotations.py:1699: note: @overload should be placed before @deprecatedoptuna (https://github.com/optuna/optuna)+ optuna/_gp/gp.py:260: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]SinbadCogs (https://github.com/mikeshardmind/SinbadCogs)+ rolemanagement/events.py:41: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ embedmaker/serialize.py:81: note: function datetime.datetime.utcfromtimestamp is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .fromtimestamp(datetime.timezone.utc)  [deprecated]+ antimentionspam/antimentionspam.py:239: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ scheduler/time_utils.py:42: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ embedmaker/time_utils.py:42: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ scheduler/message.py:82: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ modnotes/modnotes.py:148: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]python-sop (https://gitlab.com/dkg/python-sop)+ sop/__init__.py:424: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]pywin32 (https://github.com/mhammond/pywin32)+ AutoDuck/fixHelpCompression.py:16:1: note: function win32.win32api.WriteProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ win32/Lib/win32serviceutil.py:140:19: note: function win32.win32api.GetProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/sgrepmdi.py:615:20: note: function win32.win32api.GetProfileSection is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/sgrepmdi.py:629:21: note: function win32.win32api.WriteProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/mdi_pychecker.py:703:20: note: function win32.win32api.GetProfileSection is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/mdi_pychecker.py:717:21: note: function win32.win32api.WriteProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/editor/vss.py:45:20: note: function win32.win32api.GetProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]+ Pythonwin/pywin/framework/editor/vss.py:46:19: note: function win32.win32api.GetProfileVal is deprecated: This function is obsolete, applications should use the registry instead.  [deprecated]dd-trace-py (https://github.com/DataDog/dd-trace-py)+ ddtrace/internal/debug.py:121: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ ddtrace/appsec/_iast/_ast/visitor.py:228: note: class ast.Bytes is deprecated: Replaced by ast.Constant; removed in Python 3.14  [deprecated]+ ddtrace/appsec/_iast/_ast/visitor.py:238: note: class ast.Num is deprecated: Replaced by ast.Constant; removed in Python 3.14  [deprecated]+ ddtrace/appsec/_iast/_ast/visitor.py:390: note: class ast.NameConstant is deprecated: Replaced by ast.Constant; removed in Python 3.14  [deprecated]+ ddtrace/profiling/exporter/http.py:219: note: function datetime.datetime.utcfromtimestamp is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .fromtimestamp(datetime.timezone.utc)  [deprecated]+ ddtrace/profiling/exporter/http.py:220: note: function datetime.datetime.utcfromtimestamp is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .fromtimestamp(datetime.timezone.utc)  [deprecated]alerta (https://github.com/alerta/alerta)+ alerta/dev.py:4: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/utils/audit.py:94: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/note.py:25: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/key.py:31: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/key.py:42: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/key.py:164: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/heartbeat.py:56: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/heartbeat.py:59: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/heartbeat.py:61: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/blackout.py:37: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/blackout.py:60: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:66: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:75: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:282: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:335: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:379: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:430: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:574: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:609: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/alert.py:637: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/auth/utils.py:52: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/user.py:41: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/models/user.py:44: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/database/backends/mongodb/utils.py:250: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/database/backends/mongodb/utils.py:252: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/database/backends/mongodb/utils.py:254: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/database/backends/mongodb/utils.py:345: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ alerta/database/backends/mongodb/utils.py:347: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]openlibrary (https://github.com/internetarchive/openlibrary)+ openlibrary/core/edits.py: note: In member "assign_request" of class "CommunityEditsQueue":+ openlibrary/core/edits.py:231: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/core/edits.py: note: In member "unassign_request" of class "CommunityEditsQueue":+ openlibrary/core/edits.py:251: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/core/edits.py: note: In member "update_request_status" of class "CommunityEditsQueue":+ openlibrary/core/edits.py:280: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/core/edits.py: note: In member "comment_request" of class "CommunityEditsQueue":+ openlibrary/core/edits.py:296: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/core/edits.py: note: In member "create_comment" of class "CommunityEditsQueue":+ openlibrary/core/edits.py:322: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/plugins/upstream/borrow.py: note: In function "is_loaned_out":+ openlibrary/plugins/upstream/borrow.py:609: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/plugins/upstream/borrow.py: note: In function "_update_loan_status":+ openlibrary/plugins/upstream/borrow.py:635: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/plugins/upstream/borrow.py: note: In function "get_ia_auth_dict":+ openlibrary/plugins/upstream/borrow.py:826: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ openlibrary/plugins/upstream/addbook.py: note: In function "get_recaptcha":+ openlibrary/plugins/upstream/addbook.py:50: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]comtypes (https://github.com/enthought/comtypes)+ comtypes/test/__init__.py:140: note: function unittest.loader.makeSuite is deprecated: Deprecated in Python 3.11; removal scheduled for Python 3.13  [deprecated]+ comtypes/test/__init__.py:210: note: function unittest.loader.makeSuite is deprecated: Deprecated in Python 3.11; removal scheduled for Python 3.13  [deprecated]paasta (https://github.com/yelp/paasta)+ paasta_tools/utils.py:1496: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/utils.py:3673: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/utils.py:3680: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/utils.py:3688: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/spark_tools.py:136: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/spark_tools.py:204: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/setup_istio_mesh.py:106: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/smartstack_tools.py:476: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/smartstack_tools.py:533: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/cli/cmds/logs.py:809: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/cli/cmds/logs.py:824: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/cli/cmds/logs.py:829: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/cli/cmds/logs.py:1020: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/cli/cmds/logs.py:1024: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ paasta_tools/cli/cmds/logs.py:1310: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/cli/cmds/logs.py:1317: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ paasta_tools/cli/cmds/logs.py:1329: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]speedrun.com_global_scoreboard_webapp (https://github.com/Avasam/speedrun.com_global_scoreboard_webapp)+ backend/api/api_wrappers.py:56: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ backend/services/user_updater.py:78: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ backend/api/core_api.py:36: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ backend/api/core_api.py:37: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ backend/api/global_scoreboard_api.py:76: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]freqtrade (https://github.com/freqtrade/freqtrade)+ freqtrade/data/history/history_utils.py:125: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ freqtrade/rpc/api_server/api_ws.py:42: note: function pydantic.main.BaseModel.dict is deprecated: The `dict` method is deprecated; use `model_dump` instead.  [deprecated]dragonchain (https://github.com/dragonchain/dragonchain)+ dragonchain/lib/dto/smart_contract_model.py:100:86: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ dragonchain/lib/dto/smart_contract_model.py:300:112: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ dragonchain/lib/authorization.py:51:12: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ dragonchain/scheduler/scheduler.py:65:42: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]scrapy (https://github.com/scrapy/scrapy)+ scrapy/utils/misc.py:279: note: class ast.NameConstant is deprecated: Replaced by ast.Constant; removed in Python 3.14  [deprecated]materialize (https://github.com/MaterializeInc/materialize)+ misc/python/materialize/buildkite_insights/util/data_io.py:75: note: function datetime.datetime.utcfromtimestamp is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .fromtimestamp(datetime.timezone.utc)  [deprecated]+ ci/cleanup/launchdarkly.py:32: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ misc/python/materialize/scratch.py:388: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ misc/python/materialize/cli/cloudbench.py:290: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ misc/python/materialize/cli/scratch/create.py:148: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ ci/load/periodic.py:31: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ ci/load/periodic.py:36: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ ci/cleanup/aws.py:105: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]pytest-robotframework (https://github.com/detachhead/pytest-robotframework)+ pytest_robotframework/__init__.py:471: note: @overload should be placed before @deprecatedsockeye (https://github.com/awslabs/sockeye)+ sockeye/utils.py:843: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ sockeye/model.py:183: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]+ sockeye/model.py:187: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]bandersnatch (https://github.com/pypa/bandersnatch)+ src/bandersnatch/utils.py: note: In function "make_time_stamp":+ src/bandersnatch/utils.py:54: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ src/bandersnatch/mirror.py: note: In member "synchronize" of class "Mirror":+ src/bandersnatch/mirror.py:58: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]typeshed-stats (https://github.com/AlexWaygood/typeshed-stats)+ website_macros.py:101: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]discord.py (https://github.com/Rapptz/discord.py)+ discord/member.py:946: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ discord/member.py:1002: note: function datetime.datetime.utcnow is deprecated: Use timezone-aware objects to represent datetimes in UTC; e.g. by calling .now(datetime.timezone.utc)  [deprecated]+ discord/ext/tasks/__init__.py:227: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]pwndbg (https://github.com/pwndbg/pwndbg)+ pwndbg/commands/__init__.py: note: In function "OnlyWithResolvedHeapSyms":+ pwndbg/commands/__init__.py:453: note: function logging.Logger.warn is deprecated: Deprecated; use warning() instead.  [deprecated]tornado (https://github.com/tornadoweb/tornado)... (truncated 20 lines) ...```

@tyralla
Copy link
CollaboratorAuthor

If the development of Mypy 1.12 is in such a late stage, it is probably better to wait, as this PR's title ("basic support") is really true.

I played a little, and the first missing feature I encountered (besides the nesting cases you mentioned) is:

fromtyping_extensionsimportdeprecated@deprecated("use C2 instead")classC1: ...deff(c:C1)->None: ...# no response

@ilevkivskyi
Copy link
Member

Yeah, you can create follow up PRs and/or issues.

@ilevkivskyiilevkivskyi merged commit94c49a8 intopython:masterOct 6, 2024
JukkaL pushed a commit that referenced this pull requestOct 7, 2024
This is quite a bad bug. Currently we rely on `SymbolNode` being updatedin-place for all indirect references, but this is not the case when nodekind (`FuncDef`, `Decorator`, etc.) changes, in this case a _new_`SymbolNode` is created. I fix this by forcing reprocessing if the nodekind changes.This currently blocks support for PEP 702, see#17476, so I will not wait for longbefore merging.
@tyrallatyralla added the topic-pep-702PEP 702, @deprecated labelNov 8, 2024
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@ilevkivskyiilevkivskyiilevkivskyi approved these changes

@JelleZijlstraJelleZijlstraAwaiting requested review from JelleZijlstra

@TeamSpen210TeamSpen210Awaiting requested review from TeamSpen210

Assignees

No one assigned

Labels

topic-pep-702PEP 702, @deprecated

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Add support for PEP 702 (@deprecated)

5 participants

@tyralla@JelleZijlstra@Youssefares@ilevkivskyi@TeamSpen210

[8]ページ先頭

©2009-2025 Movatter.jp