Skip to content

WIP: Switching to Dataclasses - #5334

Draft
aelkheir wants to merge 23 commits into
masterfrom
dataclasses
Draft

aelkheir wants to merge 23 commits into
masterfrom
dataclasses

Handle all the `[un]freezing` in test suite

fbd5b8b
Select commit
Loading
Failed to load commit list.
Codacy Production / Codacy Static Code Analysis succeeded Sep 17, 2026 in 0s

Your pull request is up to standards!

Codacy Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- src/telegram/_chatpermissions.py  5
- src/telegram/_chatadministratorrights.py  5
- src/telegram/_utils/dataclass.py  32
         

Complexity decreasing per file
==============================
+ src/telegram/_inline/inputcontactmessagecontent.py  -1
+ src/telegram/_choseninlineresult.py  -1
+ src/telegram/_messageautodeletetimerchanged.py  -1
+ src/telegram/_payment/shippingquery.py  -1
+ src/telegram/_payment/stars/startransactions.py  -2
+ src/telegram/_passport/credentials.py  -6
+ src/telegram/_shared.py  -3
+ src/telegram/_files/document.py  -1
+ src/telegram/_inline/inlinequeryresultcachedvoice.py  -1
+ src/telegram/_chatmemberupdated.py  -1
+ src/telegram/_reply.py  -3
+ src/telegram/_loginurl.py  -1
+ src/telegram/_business.py  -7
+ src/telegram/_inline/inlinequeryresultcachedaudio.py  -1
+ src/telegram/_inline/inlinequeryresultsbutton.py  -1
+ src/telegram/_chatboost.py  -8
+ src/telegram/_inline/inlinequeryresultcachedvideo.py  -1
+ src/telegram/_keyboardbuttonrequest.py  -3
+ src/telegram/_payment/orderinfo.py  -1
+ src/telegram/_inline/inlinequeryresultphoto.py  -1
+ src/telegram/_copytextbutton.py  -1
+ src/telegram/_files/audio.py  -1
+ src/telegram/_webappinfo.py  -1
+ src/telegram/_chatmember.py  -6
+ src/telegram/_payment/labeledprice.py  -1
+ src/telegram/_botcommandscope.py  -10
+ src/telegram/_files/_basemedium.py  -1
+ src/telegram/_poll.py  -6
+ src/telegram/_inline/preparedinlinemessage.py  -1
+ src/telegram/_inline/inlinequeryresultcacheddocument.py  -1
+ src/telegram/_inline/inputmessagecontent.py  -1
+ src/telegram/_inline/inlinequeryresultgif.py  -1
+ src/telegram/_chatinvitelink.py  -2
+ src/telegram/_keyboardbutton.py  -1
+ src/telegram/_storyarea.py  -8
+ src/telegram/_inline/inputinvoicemessagecontent.py  -1
+ src/telegram/_callbackquery.py  -2
+ src/telegram/_paidmedia.py  -6
+ src/telegram/_inline/inputvenuemessagecontent.py  -1
+ src/telegram/_reaction.py  -4
+ src/telegram/_inline/inputlocationmessagecontent.py  -2
+ src/telegram/_payment/precheckoutquery.py  -1
+ src/telegram/_payment/invoice.py  -1
+ src/telegram/_passport/data.py  -3
+ src/telegram/_passport/passportfile.py  -1
+ src/telegram/_inline/inlinequeryresultcachedphoto.py  -1
+ src/telegram/_messageid.py  -1
+ src/telegram/_inline/inlinequery.py  -1
+ src/telegram/_botcommand.py  -1
+ src/telegram/_inline/inlinequeryresultcachedsticker.py  -1
+ src/telegram/_inline/inlinequeryresultcachedmpeg4gif.py  -1
+ src/telegram/_botdescription.py  -2
+ src/telegram/_files/videonote.py  -1
+ src/telegram/_files/location.py  -2
+ src/telegram/_inline/inlinequeryresultcachedgif.py  -1
+ src/telegram/_payment/shippingoption.py  -1
+ src/telegram/_chatlocation.py  -1
+ src/telegram/_payment/stars/affiliateinfo.py  -1
+ src/telegram/_inline/inlinequeryresultarticle.py  -1
+ src/telegram/_chatfullinfo.py  -1
+ src/telegram/_games/gamehighscore.py  -1
+ src/telegram/_files/venue.py  -1
+ src/telegram/_inline/inlinequeryresultlocation.py  -2
+ src/telegram/_chatbackground.py  -8
+ src/telegram/_story.py  -1
+ src/telegram/_messagereactionupdated.py  -2
+ src/telegram/_payment/successfulpayment.py  -1
+ src/telegram/_inline/inlinequeryresultdocument.py  -1
+ src/telegram/_chatjoinrequest.py  -1
+ src/telegram/_games/callbackgame.py  -1
+ src/telegram/_gifts.py  -5
+ src/telegram/_inline/inlinequeryresultgame.py  -1
+ src/telegram/_replykeyboardremove.py  -1
+ src/telegram/_inline/inlinequeryresultvideo.py  -1
+ src/telegram/_uniquegift.py  -5
+ src/telegram/_proximityalerttriggered.py  -1
+ src/telegram/_inline/inlinequeryresultvoice.py  -1
+ src/telegram/_files/voice.py  -1
+ src/telegram/_writeaccessallowed.py  -1
+ src/telegram/_files/inputprofilephoto.py  -1
+ src/telegram/_inline/inlinequeryresultcontact.py  -1
+ src/telegram/_files/chatphoto.py  -1
+ src/telegram/_payment/stars/staramount.py  -1
+ src/telegram/_inline/inlinekeyboardbutton.py  -2
+ src/telegram/_forcereply.py  -1
+ src/telegram/_ownedgift.py  -3
+ src/telegram/_webhookinfo.py  -1
+ src/telegram/_inline/inlinequeryresultmpeg4gif.py  -1
+ src/telegram/_webappdata.py  -1
+ src/telegram/_forumtopic.py  -7
+ src/telegram/_birthdate.py  -1
+ src/telegram/_files/sticker.py  -2
+ src/telegram/_update.py  -1
+ src/telegram/_files/animation.py  -1
+ src/telegram/_inline/inlinequeryresultaudio.py  -1
+ src/telegram/_switchinlinequerychosenchat.py  -1
+ src/telegram/_botname.py  -1
+ src/telegram/_dice.py  -1
+ src/telegram/_telegramobject.py  -13
+ src/telegram/_files/video.py  -1
+ src/telegram/_passport/encryptedpassportelement.py  -1
+ src/telegram/_menubutton.py  -3
+ src/telegram/_payment/stars/transactionpartner.py  -7
+ src/telegram/_linkpreviewoptions.py  -1
+ src/telegram/_files/file.py  -1
+ src/telegram/_giveaway.py  -4
+ src/telegram/_payment/refundedpayment.py  -1
+ src/telegram/_videochat.py  -4
+ src/telegram/_user.py  -1
+ src/telegram/_messageorigin.py  -4
+ src/telegram/_inline/inlinequeryresultvenue.py  -1
+ src/telegram/_sentwebappmessage.py  -1
+ src/telegram/_files/contact.py  -1
+ src/telegram/_games/game.py  -1
+ src/telegram/_paidmessagepricechanged.py  -1
+ src/telegram/_files/photosize.py  -1
+ src/telegram/_payment/shippingaddress.py  -1
+ src/telegram/_payment/stars/revenuewithdrawalstate.py  -3
+ src/telegram/_checklists.py  -4
+ src/telegram/_directmessagepricechanged.py  -1
+ src/telegram/_inputchecklist.py  -2
+ src/telegram/_suggestedpost.py  -7
+ src/telegram/_directmessagestopic.py  -1
+ src/telegram/_userrating.py  -1
+ src/telegram/_chatowner.py  -2
+ src/telegram/_files/videoquality.py  -1
+ src/telegram/_userprofileaudios.py  -1
+ src/telegram/_managedbot.py  -2
+ src/telegram/_preparedkeyboardbutton.py  -1
+ src/telegram/_sentguestmessage.py  -1
+ src/telegram/_files/livephoto.py  -1
+ src/telegram/_botaccesssettings.py  -1
+ src/telegram/_files/inputstorycontent.py  -2
         

See the complete overview on Codacy