pymobiledevice3 6.2.0__py3-none-any.whl → 7.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. pymobiledevice3/__main__.py +136 -44
  2. pymobiledevice3/_version.py +2 -2
  3. pymobiledevice3/bonjour.py +19 -20
  4. pymobiledevice3/cli/activation.py +24 -22
  5. pymobiledevice3/cli/afc.py +49 -41
  6. pymobiledevice3/cli/amfi.py +13 -18
  7. pymobiledevice3/cli/apps.py +71 -65
  8. pymobiledevice3/cli/backup.py +134 -93
  9. pymobiledevice3/cli/bonjour.py +31 -29
  10. pymobiledevice3/cli/cli_common.py +179 -232
  11. pymobiledevice3/cli/companion_proxy.py +12 -12
  12. pymobiledevice3/cli/crash.py +95 -52
  13. pymobiledevice3/cli/developer/__init__.py +62 -0
  14. pymobiledevice3/cli/developer/accessibility/__init__.py +65 -0
  15. pymobiledevice3/cli/developer/accessibility/settings.py +43 -0
  16. pymobiledevice3/cli/developer/arbitration.py +50 -0
  17. pymobiledevice3/cli/developer/condition.py +33 -0
  18. pymobiledevice3/cli/developer/core_device.py +294 -0
  19. pymobiledevice3/cli/developer/debugserver.py +244 -0
  20. pymobiledevice3/cli/developer/dvt/__init__.py +387 -0
  21. pymobiledevice3/cli/developer/dvt/core_profile_session.py +295 -0
  22. pymobiledevice3/cli/developer/dvt/simulate_location.py +56 -0
  23. pymobiledevice3/cli/developer/dvt/sysmon/__init__.py +69 -0
  24. pymobiledevice3/cli/developer/dvt/sysmon/process.py +188 -0
  25. pymobiledevice3/cli/developer/fetch_symbols.py +108 -0
  26. pymobiledevice3/cli/developer/simulate_location.py +51 -0
  27. pymobiledevice3/cli/diagnostics/__init__.py +75 -0
  28. pymobiledevice3/cli/diagnostics/battery.py +47 -0
  29. pymobiledevice3/cli/idam.py +18 -22
  30. pymobiledevice3/cli/lockdown.py +70 -75
  31. pymobiledevice3/cli/mounter.py +99 -57
  32. pymobiledevice3/cli/notification.py +38 -26
  33. pymobiledevice3/cli/pcap.py +36 -20
  34. pymobiledevice3/cli/power_assertion.py +15 -16
  35. pymobiledevice3/cli/processes.py +11 -17
  36. pymobiledevice3/cli/profile.py +120 -75
  37. pymobiledevice3/cli/provision.py +27 -26
  38. pymobiledevice3/cli/remote.py +108 -99
  39. pymobiledevice3/cli/restore.py +134 -129
  40. pymobiledevice3/cli/springboard.py +50 -50
  41. pymobiledevice3/cli/syslog.py +138 -74
  42. pymobiledevice3/cli/usbmux.py +66 -27
  43. pymobiledevice3/cli/version.py +2 -5
  44. pymobiledevice3/cli/webinspector.py +149 -103
  45. pymobiledevice3/remote/remote_service_discovery.py +11 -10
  46. pymobiledevice3/restore/device.py +28 -4
  47. pymobiledevice3/service_connection.py +1 -1
  48. pymobiledevice3/services/mobilebackup2.py +4 -1
  49. pymobiledevice3/services/screenshot.py +2 -2
  50. pymobiledevice3/services/web_protocol/automation_session.py +4 -2
  51. pymobiledevice3/services/web_protocol/cdp_screencast.py +2 -1
  52. pymobiledevice3/services/web_protocol/element.py +3 -3
  53. {pymobiledevice3-6.2.0.dist-info → pymobiledevice3-7.0.0.dist-info}/METADATA +3 -2
  54. {pymobiledevice3-6.2.0.dist-info → pymobiledevice3-7.0.0.dist-info}/RECORD +58 -45
  55. pymobiledevice3/cli/completions.py +0 -50
  56. pymobiledevice3/cli/developer.py +0 -1645
  57. pymobiledevice3/cli/diagnostics.py +0 -110
  58. {pymobiledevice3-6.2.0.dist-info → pymobiledevice3-7.0.0.dist-info}/WHEEL +0 -0
  59. {pymobiledevice3-6.2.0.dist-info → pymobiledevice3-7.0.0.dist-info}/entry_points.txt +0 -0
  60. {pymobiledevice3-6.2.0.dist-info → pymobiledevice3-7.0.0.dist-info}/licenses/LICENSE +0 -0
  61. {pymobiledevice3-6.2.0.dist-info → pymobiledevice3-7.0.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pymobiledevice3
3
- Version: 6.2.0
3
+ Version: 7.0.0
4
4
  Summary: Pure python3 implementation for working with iDevices (iPhone, etc...)
5
5
  Author-email: doronz88 <doron88@gmail.com>, matan <matan1008@gmail.com>
6
6
  Maintainer-email: doronz88 <doron88@gmail.com>, matan <matan1008@gmail.com>
@@ -23,7 +23,6 @@ License-File: LICENSE
23
23
  Requires-Dist: construct>=2.9.29
24
24
  Requires-Dist: construct-typing>=0.7.0
25
25
  Requires-Dist: asn1
26
- Requires-Dist: click
27
26
  Requires-Dist: coloredlogs
28
27
  Requires-Dist: IPython
29
28
  Requires-Dist: bpylist2>=4.0.1
@@ -61,6 +60,8 @@ Requires-Dist: sslpsk-pmd3>=1.0.3; python_version < "3.13"
61
60
  Requires-Dist: python-pcapng>=2.1.1
62
61
  Requires-Dist: plumbum
63
62
  Requires-Dist: pyimg4>=0.8.8
63
+ Requires-Dist: typer>=0.20.0
64
+ Requires-Dist: typer-injector>=0.2.0
64
65
  Provides-Extra: test
65
66
  Requires-Dist: pytest; extra == "test"
66
67
  Requires-Dist: pytest-asyncio; extra == "test"
@@ -7,9 +7,9 @@ misc/remotexpc_sniffer.py,sha256=EMhJusdbOhFHJCYF2TLtNABAnzAibIeq8hxRu4xaVhA,797
7
7
  misc/understanding_idevice_protocol_layers.md,sha256=FMJQ-ik2j9kFLPS15JzDZg62uk1FzxDnfHO6Nf5EM-A,19207
8
8
  misc/usbmux_sniff.sh,sha256=iWtbucOEQ9_UEFXk9x-2VNt48Jg5zrPsnUbZ_LfZxwA,212
9
9
  pymobiledevice3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- pymobiledevice3/__main__.py,sha256=hpLgWH1Pmwkf1pX-JvYkfJUkphpEb4YhoRV3qQUwbOs,12718
11
- pymobiledevice3/_version.py,sha256=MGegedBcnKNfp3Nvfm9slO_ZjPCndTvM5j6GLLC1ZEA,704
12
- pymobiledevice3/bonjour.py,sha256=y1Zd-__GnvK2ShxmvqFpNfi5NGF6PEWGcuKp8mJVFNA,13419
10
+ pymobiledevice3/__main__.py,sha256=2ZtOv3OfsWyjNNFtWR7AiHZTdPQXcfPIwEJWCiFaJUQ,15876
11
+ pymobiledevice3/_version.py,sha256=lB_6pZBic6H_5wY9p7_cc7miE65gtXFl65pORFxuiX0,704
12
+ pymobiledevice3/bonjour.py,sha256=lmx3uCaiolF59AieftmTKqktNod5ZDyJ06oRZdYKHSE,13681
13
13
  pymobiledevice3/ca.py,sha256=5_Y4F-zDFX_KeDL-M_TRCKKyrRRb9h1lBE8MGTWv91o,10606
14
14
  pymobiledevice3/common.py,sha256=FZzF0BQYV5fCEUPbLo6jbt2Ig9s5YwR8AvX_iR124Ew,329
15
15
  pymobiledevice3/exceptions.py,sha256=7l1PPBxsK2Sw-LcXiZui7D6kDH92b44YDAsNg7Wtq6Y,10737
@@ -18,39 +18,52 @@ pymobiledevice3/irecv_devices.py,sha256=Mpp0AZYwFxqtqS9dTPdLZfxnj6UiDf8HbGGrHpsS
18
18
  pymobiledevice3/lockdown.py,sha256=xq4psDQir4CBIlMgRRkAZ6GxhjXPz-I6D5vdcfmjTw4,39570
19
19
  pymobiledevice3/lockdown_service_provider.py,sha256=mj5Hf3fNWdVYYUayKnLO3NWNgvD0xDMAiSIXKDcXCuk,1814
20
20
  pymobiledevice3/pair_records.py,sha256=4T32UPcBuN_4e-QFzGLoDoUBg3k7hgQh72Yo3CTi18M,6001
21
- pymobiledevice3/service_connection.py,sha256=lnTpnnXMtelOqqWmUtP1Rby9mmLMzyXqdhNNhflGW1g,15028
21
+ pymobiledevice3/service_connection.py,sha256=7-FxkycdgzAMcPqn5j5K4z8Zj5O_EOAj67j9DhkJcOY,15041
22
22
  pymobiledevice3/tcp_forwarder.py,sha256=imOTd76bh5bknOMJ4KAnWoe68eL3F3TpYlNM8eR7eXA,8971
23
23
  pymobiledevice3/usbmux.py,sha256=GmQTB3V5_6oYErBlZrFRi7XjPKVU1p0RUj147vT9-eg,16835
24
24
  pymobiledevice3/utils.py,sha256=Udx6xubsWYtJU9x7R-PrlSHseY438ua9_DPvzHd3XrQ,2210
25
25
  pymobiledevice3/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
- pymobiledevice3/cli/activation.py,sha256=NT5-RXrCjqUVk14G0DxRy35BMPEI1nQ9wGxCiyaEtSk,1311
27
- pymobiledevice3/cli/afc.py,sha256=qd1Th1Url4vWGpTohKdL7p5pS-iCsD6IAh3c4q5JeiY,2117
28
- pymobiledevice3/cli/amfi.py,sha256=mgIXyJt3LZXGVrXm1PfUCjms3DFAi8jf4U_KyVdKry4,955
29
- pymobiledevice3/cli/apps.py,sha256=wazlXmLNYnsLord4ZD-7w0HpBq47Hi168o_HXNk4iCs,3834
30
- pymobiledevice3/cli/backup.py,sha256=od72Hz_A850MerrGO68EEnatYccJ4-ry6QnAxAlQZlo,6715
31
- pymobiledevice3/cli/bonjour.py,sha256=y5WQtdJuLHJMV4jd2wwIgu72hqS_48BZqAHJyXWQ8is,2908
32
- pymobiledevice3/cli/cli_common.py,sha256=Czm8H93QSGVI5lfE0cc9TQqgx-vqcKuZN2YJrPCQT64,13219
33
- pymobiledevice3/cli/companion_proxy.py,sha256=MXJOYo2N6phkfIMIGajTyhiMbGly0aacNirZMaAWhBY,577
34
- pymobiledevice3/cli/completions.py,sha256=zVLU9H-E99evvFWyfXEZjvBsbBZDKbKlcexqdYda_fM,1722
35
- pymobiledevice3/cli/crash.py,sha256=VSZP3PMBmSM3j0ivBeF6oIjj3d2EKDIno5kLcopRi_4,3177
36
- pymobiledevice3/cli/developer.py,sha256=bN8XK1U3Lyttblow89Bh1OqOwqNLhBcEm1bLmp0v-lU,64642
37
- pymobiledevice3/cli/diagnostics.py,sha256=FvmIGup9IAPj_gGcJDzjLQkKUvGOtrEA01eXf5iio1w,3628
38
- pymobiledevice3/cli/idam.py,sha256=6GXwnvhPd7AjhduQz667ZpWGeBcyQCK3HlMHFVBnSJM,1165
39
- pymobiledevice3/cli/lockdown.py,sha256=Vl0hbgNtjD-cHpgMoH_x8zzbKUt66paHwHPzUGl_fjM,7104
40
- pymobiledevice3/cli/mounter.py,sha256=RLLNJB1tGfEP99ZknevTzfR0cVfC9RvzWUUa0sIyqP4,7595
41
- pymobiledevice3/cli/notification.py,sha256=J0sf1e17hP2bLSpzGWoVSFSKqdjvyk53SY18qB4QEQI,1954
42
- pymobiledevice3/cli/pcap.py,sha256=fmHiy_KK-uRMcEK6nHNBKyhp5v1y05Yv_hzwe5BFBYw,2193
43
- pymobiledevice3/cli/power_assertion.py,sha256=Z2T0tSi_sh2B1Ba2x6C7M7EMrKT3jcw42toG0WMbCqA,914
44
- pymobiledevice3/cli/processes.py,sha256=HxPTLS520W31Ixn5CyC7tysfiBvbEutbuqTw-Dpf0nQ,1096
45
- pymobiledevice3/cli/profile.py,sha256=gW3KT16A5xdHlW8LKPL_Xarof8SAa5HCC6Ud3vQPyGg,7817
46
- pymobiledevice3/cli/provision.py,sha256=SofHAYdmxb54n9KSRyPKol6jOMUXN1hBACr2VBQrOFc,1955
47
- pymobiledevice3/cli/remote.py,sha256=xkIVR4bu1Vdpw-sswH1b-pekBM6rV6AS7YUeYQU5UyY,12375
48
- pymobiledevice3/cli/restore.py,sha256=xwiUIofoyCMxDSgRq4bndAn5GNUq1P-RcC446M_6I7Y,8085
49
- pymobiledevice3/cli/springboard.py,sha256=hVoLqLU_gHxXa6q17ar61lc2ovmWejeu-rvxQpHXWD0,3094
50
- pymobiledevice3/cli/syslog.py,sha256=uAr2pqHq8GTuH9uMTPYV0RQFMOv50zq4NpmGWtzcXss,8112
51
- pymobiledevice3/cli/usbmux.py,sha256=Bx-5OSxEbHBhLeYaRt9LvZzp3RIazn49Q86pFi-EtpQ,2354
52
- pymobiledevice3/cli/version.py,sha256=N7UY328WNR6FpQ2w7aACyL74XQxkRmi53WV5SVlCgCo,345
53
- pymobiledevice3/cli/webinspector.py,sha256=dUsaaZZBV2OQPaYCj8C809ElO0O-G-NSSLvj7x26L94,16705
26
+ pymobiledevice3/cli/activation.py,sha256=FDqkBa1ew_d_8MLmq8nelF8D1eBcqm9kqTCAH03sTUU,1335
27
+ pymobiledevice3/cli/afc.py,sha256=K9TEy-7p4MdV6XKtO_yiiLJ2M_lOrbjdsBWuSfwSXdw,2042
28
+ pymobiledevice3/cli/amfi.py,sha256=3cpKYYNuyT58ojggsiI3LoBVhbOEvOOncabSK_w3J1c,925
29
+ pymobiledevice3/cli/apps.py,sha256=rieU0xT9y8mdzwkXXif3OIJaxMnDv6rdEUFVFc-ljkk,3518
30
+ pymobiledevice3/cli/backup.py,sha256=Qt-iUARMtdMeFujawN1kpxC39u2q3IKocUDkpCrTFYM,6814
31
+ pymobiledevice3/cli/bonjour.py,sha256=UMPJU1oOu6pnvhM0MKInlXkag70Z9D-wUzLhFWc8WYs,2837
32
+ pymobiledevice3/cli/cli_common.py,sha256=3kd8mbffPBDNmENyxBrjzA58xtOn6800OS3DzQxGOVU,9927
33
+ pymobiledevice3/cli/companion_proxy.py,sha256=Zp1PJKE36mNs2lbnmwevDoVC7jTX5FSuQApTcmvEhJg,611
34
+ pymobiledevice3/cli/crash.py,sha256=wss34L3at8qwL_z5ExGabofBbQ99cP_CGJJm8vuF36g,3506
35
+ pymobiledevice3/cli/idam.py,sha256=a_xnURhQlmfnrTGY5KwOIbl9f-1rAjuGG-q6QfOfSE4,1105
36
+ pymobiledevice3/cli/lockdown.py,sha256=GoDnSiX2Ts8XFz3ZIVJLf3HBhiO5SuKBW3zOj63GjbU,6393
37
+ pymobiledevice3/cli/mounter.py,sha256=wKFyn2liZspAVu7GWAfJiA_CyTLmDFeN9mg9YISMK_M,7930
38
+ pymobiledevice3/cli/notification.py,sha256=rHC8z1RFpQpQAnsbqGC2ozqFjzvJ98FXw2WdAPJE0sw,2143
39
+ pymobiledevice3/cli/pcap.py,sha256=50_jpjxC5GRJeD3PnrVnp5CkJhw1ZOM-LKxwsotif1E,2431
40
+ pymobiledevice3/cli/power_assertion.py,sha256=Dwv_ykYpxB8sHsNkN0KTgCP8xL-zpE0m7chBsdBYRHM,817
41
+ pymobiledevice3/cli/processes.py,sha256=iMjASV8LTCVMzDtx-H9vURI6V6FknVzMOtFFxTxsGNA,1027
42
+ pymobiledevice3/cli/profile.py,sha256=FCFsr7t3eRN92bOtinBK37zxG-XuSNdji5CdD_smhvw,7392
43
+ pymobiledevice3/cli/provision.py,sha256=tlJ2n7GdCdDMK5kLguo9Zp7l81PcIdzlS8efYylxAlA,1944
44
+ pymobiledevice3/cli/remote.py,sha256=6tOtHF0KXciaT9Z4K7XELU9138U4Y0tvH-m6dMMREL4,12614
45
+ pymobiledevice3/cli/restore.py,sha256=j1T9-eZi2AsvQqJ0EKpXuaWPuttoVUPy0xbYYfH6B_s,7485
46
+ pymobiledevice3/cli/springboard.py,sha256=S76Kth2DbqsjGRFVOns40-L4RCqFnuMFuy7bVHbmw9M,3111
47
+ pymobiledevice3/cli/syslog.py,sha256=tqQLecHGcb0v_3Lq54XyEDojdxJSFpvMnQ8B7P_lU58,8945
48
+ pymobiledevice3/cli/usbmux.py,sha256=9HeKkk8cu9RXA_xpB-FgT5lv-12hhb9aeUrgnqV25uE,2906
49
+ pymobiledevice3/cli/version.py,sha256=59NxyLVJWcqNpoKo-XTc5RYGmweuJUmKgKnLwaLzD5o,326
50
+ pymobiledevice3/cli/webinspector.py,sha256=grfwKDAQ1oh7WA_VWCM6qGQzo8osIOY2PjpYXJ1hzCs,17946
51
+ pymobiledevice3/cli/developer/__init__.py,sha256=idQOgVsitt3nfolyhZuA6KHN2j44JNVq-d41I6ychpY,2015
52
+ pymobiledevice3/cli/developer/arbitration.py,sha256=7Eod6-dlSjAMBljbsIGHL_QG9LFbOPIXqpS9Y_4-Q3Y,1576
53
+ pymobiledevice3/cli/developer/condition.py,sha256=lb5BS8lVcgsb2yBgBsN2nK-j2u1_iVm_tBd1pSRHZB0,1294
54
+ pymobiledevice3/cli/developer/core_device.py,sha256=QzMVfghq3fKLI2NQ2Kg7r_zyFIWGCBt7ZS-GTLWDZs4,10895
55
+ pymobiledevice3/cli/developer/debugserver.py,sha256=4_BiZi69i31t6j7gpGEvt9m8Zo0yJsBQH7zQySyr68M,9315
56
+ pymobiledevice3/cli/developer/fetch_symbols.py,sha256=57HzVyUJPXL_I8EiqWArJ2Fczb2yX9y6nDMgjZcADo0,4353
57
+ pymobiledevice3/cli/developer/simulate_location.py,sha256=IVJQPYKUrQcsdpCxf2D2sgy6Nb3mUOFvK-Og_y5lfDM,1555
58
+ pymobiledevice3/cli/developer/accessibility/__init__.py,sha256=VpJSdnkEZhUuJXWy08wqgqObXv1PgZ2Ht4qy-560QRk,2271
59
+ pymobiledevice3/cli/developer/accessibility/settings.py,sha256=QKgQ7XK6LNrlE-1nnWVGL2Mix385Huf-diptgY91apA,1170
60
+ pymobiledevice3/cli/developer/dvt/__init__.py,sha256=8msMFeRv9Wcm-OIkb9-iJOSXIOxkQTTxjbsgvJ4cBr8,14710
61
+ pymobiledevice3/cli/developer/dvt/core_profile_session.py,sha256=Ni6znP0mg-XKLu0aXm8ZZDEKziKokQYMjwbTu2TzFxk,9968
62
+ pymobiledevice3/cli/developer/dvt/simulate_location.py,sha256=QLjjllbjuM205joFlRXdo7cIjvkFdXJ2f5pKzT9sHOY,1816
63
+ pymobiledevice3/cli/developer/dvt/sysmon/__init__.py,sha256=PSTruXzQQLGvVuc1j7aKEafXFYgFMOCuNiMjbtDqKrM,2283
64
+ pymobiledevice3/cli/developer/dvt/sysmon/process.py,sha256=WlnFqoAc3yuk0lM2hxGFP1s_9A_X4w665od5AEgrH3A,6255
65
+ pymobiledevice3/cli/diagnostics/__init__.py,sha256=CH7dccvgEF8X-7HBICpRjkVWZrDpoVkeRsNe83LLeto,2489
66
+ pymobiledevice3/cli/diagnostics/battery.py,sha256=R6Fk-QhIMkgQTVTdbFgd-1LmzJRIpe08GlEjR-Q8Tnw,1453
54
67
  pymobiledevice3/osu/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
68
  pymobiledevice3/osu/os_utils.py,sha256=TP4-mTWZig4uwvLV6Ku0z7qrA2OU7ANKzwyCYYWsXhc,3296
56
69
  pymobiledevice3/osu/posix_util.py,sha256=dFTYABFQxK2m7eXumVbfAuzrVVoV7-TduRNN0KY_axc,3450
@@ -59,7 +72,7 @@ pymobiledevice3/remote/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
59
72
  pymobiledevice3/remote/common.py,sha256=epLBlSCw8e8w2XvgsCuZfZYAwzHCQpBZ_S6U-_rl8oE,288
60
73
  pymobiledevice3/remote/module_imports.py,sha256=DwExSL1r4kkFIWmXiQpqPo-cGl4duYd33kJGyVckYuA,829
61
74
  pymobiledevice3/remote/remote_service.py,sha256=fCyzm4oT_WEorAXVHVLYnIOyTOuMGhX69Co3HkUdRYY,867
62
- pymobiledevice3/remote/remote_service_discovery.py,sha256=uL--9_Lvx14A0Tk7vvadmPV0NlPP5mJl4Psb173rBnY,7495
75
+ pymobiledevice3/remote/remote_service_discovery.py,sha256=SR6W_0PkyUTUeYAQKxExId8LTKqSpF1ssVydCZSWdXw,7592
63
76
  pymobiledevice3/remote/remotexpc.py,sha256=tyGHn-IMDiM7WeGhfKMC1yH-ONEto-zCVpnvhE4i2Yw,8266
64
77
  pymobiledevice3/remote/tunnel_service.py,sha256=AmqvIb-0fUT9KzJub3QcMbtHtHuBBDh4ZKHIeAmkyk8,45961
65
78
  pymobiledevice3/remote/utils.py,sha256=RPyDYCLqe638FoPIJ7Lcmx05BJqM2PseJe9lc3Al3bM,2550
@@ -88,7 +101,7 @@ pymobiledevice3/restore/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
88
101
  pymobiledevice3/restore/asr.py,sha256=eVzTQ8hDzncfd49z3cB0VUvtgVob-omO5vUY7y2QZFY,4048
89
102
  pymobiledevice3/restore/base_restore.py,sha256=7Savyn6TlqWpAG0OhILqb587mpx5yLJeOWljwLhxbVo,5795
90
103
  pymobiledevice3/restore/consts.py,sha256=-_CIR3Fb78lGo3VNxtUvBaro5rUqPozHb4KB4ihntis,2167
91
- pymobiledevice3/restore/device.py,sha256=Xq4k94BIBovheLElL9zeRm9FTdvp8EbuIpfWy__tJxU,2710
104
+ pymobiledevice3/restore/device.py,sha256=1dRRhFbSMONy8SIvXkbghZb6uM2LPJqp9junr1iE7II,3427
92
105
  pymobiledevice3/restore/fdr.py,sha256=MwoDBiVmHrY5Duw4ViZnwpUjOx_lAzihi-yTznanKJ8,6182
93
106
  pymobiledevice3/restore/ftab.py,sha256=RxjVkB7tHOW_RjHNu0hKt06qJ4HxitsfkW9dyk64Hzk,1509
94
107
  pymobiledevice3/restore/img4.py,sha256=gEjULbDVsV6w24NLtOuBQUyU9DEwA3mt0wrcsfll67o,4790
@@ -119,7 +132,7 @@ pymobiledevice3/services/misagent.py,sha256=CGh1EhN_f1rV9RhZfP53OBirXdY0elX_nZS-
119
132
  pymobiledevice3/services/mobile_activation.py,sha256=0zvQn2CMmf47--OtDqv3eOK5Ofu-eBw-ab1TxZSrOlY,9230
120
133
  pymobiledevice3/services/mobile_config.py,sha256=2UmdqYNikznxI6bA2lkyIWS3NcHg3pTb5i6yLl8yZAY,18170
121
134
  pymobiledevice3/services/mobile_image_mounter.py,sha256=PZEN9O7XtLW9VH1qNTJ19zo_tFZhX68bTX0O-Uy9sck,15034
122
- pymobiledevice3/services/mobilebackup2.py,sha256=7hB0tNpNoLoneDNbMUmCpg0UhahT5QnF8fxSPwaqVWc,18297
135
+ pymobiledevice3/services/mobilebackup2.py,sha256=8oEy-GG2UKoy8Kf7rCC-rbTJJgDWM-4rdgWtykNT4eM,18349
123
136
  pymobiledevice3/services/notification_proxy.py,sha256=mk4kxLRi6aDTXKOazgldliZG4q0bME7jBcxPyJsSpDw,2125
124
137
  pymobiledevice3/services/os_trace.py,sha256=nTODlyWvb10fpqWHDU3m7i9sADIMF0ezfyo9Ql2BZa8,7422
125
138
  pymobiledevice3/services/pcapd.py,sha256=Gd6xN9eBHnLIQ5M2LM-y4Z-eCquxVEnSKuyBECwZlRs,11960
@@ -128,7 +141,7 @@ pymobiledevice3/services/preboard.py,sha256=QJ1miS0e2lY9y4sS4GxsMZh-uxKDeDi6upgP
128
141
  pymobiledevice3/services/remote_fetch_symbols.py,sha256=dVGCN81ujdL7Ouokh5j7ZMNPu0ypEb1ica4oAcY7OGU,2096
129
142
  pymobiledevice3/services/remote_server.py,sha256=8eH4i2mMSxVQzf5mUPJwQnlFpHPH0ahsgVe1ZL2qP7A,20309
130
143
  pymobiledevice3/services/restore_service.py,sha256=6wRRf_aQBx7JLLmpS3eDLLleK-2qzxDE9jWzkF-Fb_o,1887
131
- pymobiledevice3/services/screenshot.py,sha256=dPAKkvZWVHCcld_NSR5ZwmsfkQIOdKIyB7LgHggdxo0,1315
144
+ pymobiledevice3/services/screenshot.py,sha256=OjJIHByT6PDyWrqNQObm6I_SkrjAjguXtyB3OD_l0Rs,1358
132
145
  pymobiledevice3/services/simulate_location.py,sha256=Let7iupWt8WNYblhIMTlvY-RZQx7IrCTQ6YTo5VVKhY,1162
133
146
  pymobiledevice3/services/springboard.py,sha256=Pn6cyNOTVrFN8_x43pj6cE1fPR7HeJ-vd6stD4K0lBg,2474
134
147
  pymobiledevice3/services/syslog.py,sha256=EeV-nOlAyOkGKBUTfFwe-QzaJhnW8XUHWHvRk4BNzxM,1563
@@ -154,12 +167,12 @@ pymobiledevice3/services/dvt/instruments/sysmontap.py,sha256=Tscf05j2xNfTKcYsBL1
154
167
  pymobiledevice3/services/dvt/testmanaged/xcuitest.py,sha256=nv3wtZi5INXGanIzun-5HLAGccXeOAEDKk8HiMeVFqA,12267
155
168
  pymobiledevice3/services/web_protocol/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
156
169
  pymobiledevice3/services/web_protocol/alert.py,sha256=yN_P-S2XnqIDGRGdpRgdEOBWkqa5P0hcby8W7N7i_I4,878
157
- pymobiledevice3/services/web_protocol/automation_session.py,sha256=I3fnHYn1njczBk_5kKMNga7KZruLLhgHVAAaW-z824U,15051
158
- pymobiledevice3/services/web_protocol/cdp_screencast.py,sha256=zCTKYXaly1v4DODooTZHZDp5qyeXiQ0JkYxMrh2SeCs,5908
170
+ pymobiledevice3/services/web_protocol/automation_session.py,sha256=wZkxKM8HdNI-28Zz1i3Lm7n3wWRGmhJEpcUCXVY7pFA,15090
171
+ pymobiledevice3/services/web_protocol/cdp_screencast.py,sha256=3Tj4l85DQauxbHWPctO8mCVpP60uBm-Xi88k2n_kluY,5931
159
172
  pymobiledevice3/services/web_protocol/cdp_server.py,sha256=NwwtrBco9iOynJaoXTNM9lamNYZ-t7pLvU1vswKwKsU,2554
160
173
  pymobiledevice3/services/web_protocol/cdp_target.py,sha256=dtJ5I59Q--yZ9_0dwDm7BMV4_tbTDiZaqLFWxSlYaxM,32393
161
174
  pymobiledevice3/services/web_protocol/driver.py,sha256=opdQwObQkDE5rh0m4pmfSGEKsVmLZCXg3ow5q7NHGcU,7996
162
- pymobiledevice3/services/web_protocol/element.py,sha256=YROMv_Q4hjj9pnvcMEzG8rK9wU4usjmGChq9KmGBdpI,8858
175
+ pymobiledevice3/services/web_protocol/element.py,sha256=bJkxqWgouGwtCN_A3DctNO12xBR-BjT7cL2UQdSSfIg,8874
163
176
  pymobiledevice3/services/web_protocol/inspector_session.py,sha256=ep4YWu9Pm9IQfkRZ8AYVUCWDV1-BPRz0DQHKTGwj-JE,10625
164
177
  pymobiledevice3/services/web_protocol/selenium_api.py,sha256=RmiY260usm7Pa45IQLzx2jO0kC8r0VnxKM8SHJ3-Y_s,3079
165
178
  pymobiledevice3/services/web_protocol/session_protocol.py,sha256=CMqFeIjsse0qkFqh8va_AJDkybjurtIjALLSUo7BfR4,1981
@@ -167,9 +180,9 @@ pymobiledevice3/services/web_protocol/switch_to.py,sha256=TCdVrMfsvd18o-vZ0owVrE
167
180
  pymobiledevice3/tunneld/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
168
181
  pymobiledevice3/tunneld/api.py,sha256=Lwl1OdhPTgX6Zqezy8T4dEcXRfaEPwyGNClioTx3fUc,2338
169
182
  pymobiledevice3/tunneld/server.py,sha256=dMEZAv_X-76l0vSalpq4x0IVkbE-MNGR77T-u1TiHuE,25752
170
- pymobiledevice3-6.2.0.dist-info/licenses/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
171
- pymobiledevice3-6.2.0.dist-info/METADATA,sha256=Ds3KQTIbhKOcATx4Kx2dhONSwrQN10rPCeP5cuwfIdo,17455
172
- pymobiledevice3-6.2.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
173
- pymobiledevice3-6.2.0.dist-info/entry_points.txt,sha256=jJMlOanHlVwUxcY__JwvKeWPrvBJr_wJyEq4oHIZNKE,66
174
- pymobiledevice3-6.2.0.dist-info/top_level.txt,sha256=MjZoRqcWPOh5banG-BbDOnKEfsS3kCxqV9cv-nzyg2Q,21
175
- pymobiledevice3-6.2.0.dist-info/RECORD,,
183
+ pymobiledevice3-7.0.0.dist-info/licenses/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
184
+ pymobiledevice3-7.0.0.dist-info/METADATA,sha256=rfdl6HXQYVuK2RKltF0jDIPDkjaN42rSR8B2HphAXRg,17500
185
+ pymobiledevice3-7.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
186
+ pymobiledevice3-7.0.0.dist-info/entry_points.txt,sha256=jJMlOanHlVwUxcY__JwvKeWPrvBJr_wJyEq4oHIZNKE,66
187
+ pymobiledevice3-7.0.0.dist-info/top_level.txt,sha256=MjZoRqcWPOh5banG-BbDOnKEfsS3kCxqV9cv-nzyg2Q,21
188
+ pymobiledevice3-7.0.0.dist-info/RECORD,,
@@ -1,50 +0,0 @@
1
- import logging
2
- from collections import namedtuple
3
- from pathlib import Path
4
-
5
- import click
6
- from plumbum import CommandNotFound, local
7
-
8
- logger = logging.getLogger(__name__)
9
-
10
- ShellCompletion = namedtuple("ShellCompletion", ["source", "rc", "path"])
11
-
12
- COMPLETIONS = [
13
- ShellCompletion("zsh_source", Path("~/.zshrc").expanduser(), Path("~/.pymobiledevice3.zsh").expanduser()),
14
- ShellCompletion("bash_source", Path("~/.bashrc").expanduser(), Path("~/.pymobiledevice3.bash").expanduser()),
15
- ShellCompletion("fish_source", None, Path("~/.config/fish/completions/pymobiledevice3.fish").expanduser()),
16
- ]
17
-
18
-
19
- @click.group()
20
- def cli() -> None:
21
- pass
22
-
23
-
24
- @cli.command()
25
- def install_completions() -> None:
26
- """
27
- Install shell completions for the pymobiledevice3 command
28
-
29
- If supplying an explicit shell script to write, install it there, otherwise install globally.
30
- """
31
- try:
32
- pymobiledevice3 = local["pymobiledevice3"]
33
- except CommandNotFound:
34
- logger.error("pymobiledevice3 main binary could not be found in your path.")
35
- return
36
-
37
- for completion in COMPLETIONS:
38
- with local.env(_PYMOBILEDEVICE3_COMPLETE=completion.source):
39
- if not completion.path.parent.exists():
40
- # fish is not installed, skip
41
- continue
42
- logger.info(f"Writing shell completions to: {completion.path}")
43
- completion.path.write_text(pymobiledevice3())
44
- line = f"source {completion.path}"
45
-
46
- if not completion.rc.exists() or line in completion.rc.read_text():
47
- continue
48
-
49
- logger.info(f"Adding source line to {completion.rc}")
50
- completion.rc.write_text(f"{completion.rc.read_text()}\n{line}")