pymobiledevice3 7.0.2__tar.gz → 7.0.4__tar.gz

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 (243) hide show
  1. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/PKG-INFO +1 -1
  2. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/_version.py +3 -3
  3. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/cli_common.py +2 -4
  4. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/developer/dvt/__init__.py +59 -8
  5. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/remote.py +5 -5
  6. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/afc.py +2 -1
  7. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3.egg-info/PKG-INFO +1 -1
  8. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/.gitattributes +0 -0
  9. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/.github/FUNDING.yml +0 -0
  10. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  11. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  12. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  13. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/.github/pull_request_template.md +0 -0
  14. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/.github/workflows/codeql.yml +0 -0
  15. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/.github/workflows/generate-executable.py +0 -0
  16. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/.github/workflows/markdown-lint.yml +0 -0
  17. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/.github/workflows/python-app.yml +0 -0
  18. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/.github/workflows/python-publish.yml +0 -0
  19. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/.gitignore +0 -0
  20. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/.pre-commit-config.yaml +0 -0
  21. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/CODE_OF_CONDUCT.md +0 -0
  22. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/CONTRIBUTING.md +0 -0
  23. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/LICENSE +0 -0
  24. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/README.md +0 -0
  25. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/example.gif +0 -0
  26. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/markdownlint-config.json +0 -0
  27. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/misc/DTServices-14.2.txt +0 -0
  28. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/misc/DTServices-14.5.txt +0 -0
  29. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/misc/RemoteXPC.md +0 -0
  30. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/misc/plist_sniffer.py +0 -0
  31. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/misc/pyinstaller.md +0 -0
  32. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/misc/remotexpc_sniffer.py +0 -0
  33. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/misc/understanding_idevice_protocol_layers.md +0 -0
  34. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/misc/usbmux_sniff.sh +0 -0
  35. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/__init__.py +0 -0
  36. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/__main__.py +0 -0
  37. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/bonjour.py +0 -0
  38. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/ca.py +0 -0
  39. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/__init__.py +0 -0
  40. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/activation.py +0 -0
  41. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/afc.py +0 -0
  42. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/amfi.py +0 -0
  43. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/apps.py +0 -0
  44. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/backup.py +0 -0
  45. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/bonjour.py +0 -0
  46. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/companion_proxy.py +0 -0
  47. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/crash.py +0 -0
  48. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/developer/__init__.py +0 -0
  49. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/developer/accessibility/__init__.py +0 -0
  50. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/developer/accessibility/settings.py +0 -0
  51. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/developer/arbitration.py +0 -0
  52. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/developer/condition.py +0 -0
  53. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/developer/core_device.py +0 -0
  54. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/developer/debugserver.py +0 -0
  55. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/developer/dvt/core_profile_session.py +0 -0
  56. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/developer/dvt/simulate_location.py +0 -0
  57. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/developer/dvt/sysmon/__init__.py +0 -0
  58. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/developer/dvt/sysmon/process.py +0 -0
  59. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/developer/fetch_symbols.py +0 -0
  60. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/developer/simulate_location.py +0 -0
  61. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/diagnostics/__init__.py +0 -0
  62. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/diagnostics/battery.py +0 -0
  63. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/idam.py +0 -0
  64. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/lockdown.py +0 -0
  65. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/mounter.py +0 -0
  66. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/notification.py +0 -0
  67. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/pcap.py +0 -0
  68. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/power_assertion.py +0 -0
  69. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/processes.py +0 -0
  70. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/profile.py +0 -0
  71. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/provision.py +0 -0
  72. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/restore.py +0 -0
  73. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/springboard.py +0 -0
  74. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/syslog.py +0 -0
  75. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/usbmux.py +0 -0
  76. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/version.py +0 -0
  77. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/cli/webinspector.py +0 -0
  78. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/common.py +0 -0
  79. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/exceptions.py +0 -0
  80. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/irecv.py +0 -0
  81. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/irecv_devices.py +0 -0
  82. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/lockdown.py +0 -0
  83. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/lockdown_service_provider.py +0 -0
  84. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/osu/__init__.py +0 -0
  85. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/osu/os_utils.py +0 -0
  86. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/osu/posix_util.py +0 -0
  87. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/osu/win_util.py +0 -0
  88. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/pair_records.py +0 -0
  89. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/remote/__init__.py +0 -0
  90. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/remote/common.py +0 -0
  91. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/remote/core_device/__init__.py +0 -0
  92. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/remote/core_device/app_service.py +0 -0
  93. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/remote/core_device/core_device_service.py +0 -0
  94. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/remote/core_device/device_info.py +0 -0
  95. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/remote/core_device/diagnostics_service.py +0 -0
  96. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/remote/core_device/file_service.py +0 -0
  97. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/remote/module_imports.py +0 -0
  98. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/remote/remote_service.py +0 -0
  99. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/remote/remote_service_discovery.py +0 -0
  100. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/remote/remotexpc.py +0 -0
  101. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/remote/tunnel_service.py +0 -0
  102. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/remote/utils.py +0 -0
  103. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/remote/xpc_message.py +0 -0
  104. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/resources/__init__.py +0 -0
  105. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/resources/dsc_uuid_map.json +0 -0
  106. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/resources/dsc_uuid_map.py +0 -0
  107. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/resources/firmware_notifications.py +0 -0
  108. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/resources/notifications.txt +0 -0
  109. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/resources/webinspector/element_attribute.js +0 -0
  110. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/resources/webinspector/element_clear.js +0 -0
  111. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/resources/webinspector/enter_fullscreen.js +0 -0
  112. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/resources/webinspector/find_nodes.js +0 -0
  113. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/resources/webinspector/focus.js +0 -0
  114. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/resources/webinspector/get_attribute.js +0 -0
  115. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/resources/webinspector/is_displayed.js +0 -0
  116. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/resources/webinspector/is_editable.js +0 -0
  117. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/resources/webinspector/is_enabled.js +0 -0
  118. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/restore/__init__.py +0 -0
  119. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/restore/asr.py +0 -0
  120. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/restore/base_restore.py +0 -0
  121. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/restore/consts.py +0 -0
  122. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/restore/device.py +0 -0
  123. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/restore/fdr.py +0 -0
  124. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/restore/ftab.py +0 -0
  125. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/restore/img4.py +0 -0
  126. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/restore/mbn.py +0 -0
  127. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/restore/recovery.py +0 -0
  128. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/restore/restore.py +0 -0
  129. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/restore/restore_options.py +0 -0
  130. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/restore/restored_client.py +0 -0
  131. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/restore/tss.py +0 -0
  132. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/service_connection.py +0 -0
  133. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/__init__.py +0 -0
  134. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/accessibilityaudit.py +0 -0
  135. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/amfi.py +0 -0
  136. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/companion.py +0 -0
  137. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/crash_reports.py +0 -0
  138. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/debugserver_applist.py +0 -0
  139. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/device_arbitration.py +0 -0
  140. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/device_link.py +0 -0
  141. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/diagnostics.py +0 -0
  142. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dtfetchsymbols.py +0 -0
  143. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/__init__.py +0 -0
  144. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/dvt_secure_socket_proxy.py +0 -0
  145. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/dvt_testmanaged_proxy.py +0 -0
  146. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/instruments/__init__.py +0 -0
  147. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/instruments/activity_trace_tap.py +0 -0
  148. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/instruments/application_listing.py +0 -0
  149. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/instruments/condition_inducer.py +0 -0
  150. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/instruments/core_profile_session_tap.py +0 -0
  151. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/instruments/device_info.py +0 -0
  152. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/instruments/energy_monitor.py +0 -0
  153. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/instruments/graphics.py +0 -0
  154. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/instruments/location_simulation.py +0 -0
  155. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/instruments/location_simulation_base.py +0 -0
  156. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/instruments/network_monitor.py +0 -0
  157. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/instruments/notifications.py +0 -0
  158. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/instruments/process_control.py +0 -0
  159. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/instruments/screenshot.py +0 -0
  160. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/instruments/sysmontap.py +0 -0
  161. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/dvt/testmanaged/xcuitest.py +0 -0
  162. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/file_relay.py +0 -0
  163. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/heartbeat.py +0 -0
  164. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/house_arrest.py +0 -0
  165. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/idam.py +0 -0
  166. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/installation_proxy.py +0 -0
  167. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/lockdown_service.py +0 -0
  168. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/misagent.py +0 -0
  169. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/mobile_activation.py +0 -0
  170. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/mobile_config.py +0 -0
  171. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/mobile_image_mounter.py +0 -0
  172. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/mobilebackup2.py +0 -0
  173. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/notification_proxy.py +0 -0
  174. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/os_trace.py +0 -0
  175. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/pcapd.py +0 -0
  176. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/power_assertion.py +0 -0
  177. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/preboard.py +0 -0
  178. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/remote_fetch_symbols.py +0 -0
  179. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/remote_server.py +0 -0
  180. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/restore_service.py +0 -0
  181. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/screenshot.py +0 -0
  182. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/simulate_location.py +0 -0
  183. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/springboard.py +0 -0
  184. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/syslog.py +0 -0
  185. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/web_protocol/__init__.py +0 -0
  186. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/web_protocol/alert.py +0 -0
  187. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/web_protocol/automation_session.py +0 -0
  188. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/web_protocol/cdp_screencast.py +0 -0
  189. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/web_protocol/cdp_server.py +0 -0
  190. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/web_protocol/cdp_target.py +0 -0
  191. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/web_protocol/driver.py +0 -0
  192. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/web_protocol/element.py +0 -0
  193. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/web_protocol/inspector_session.py +0 -0
  194. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/web_protocol/selenium_api.py +0 -0
  195. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/web_protocol/session_protocol.py +0 -0
  196. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/web_protocol/switch_to.py +0 -0
  197. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/services/webinspector.py +0 -0
  198. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/tcp_forwarder.py +0 -0
  199. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/tunneld/__init__.py +0 -0
  200. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/tunneld/api.py +0 -0
  201. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/tunneld/server.py +0 -0
  202. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/usbmux.py +0 -0
  203. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3/utils.py +0 -0
  204. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3.egg-info/SOURCES.txt +0 -0
  205. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3.egg-info/dependency_links.txt +0 -0
  206. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3.egg-info/entry_points.txt +0 -0
  207. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3.egg-info/requires.txt +0 -0
  208. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pymobiledevice3.egg-info/top_level.txt +0 -0
  209. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pyproject.toml +0 -0
  210. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/pytest.ini +0 -0
  211. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/requirements.txt +0 -0
  212. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/setup.cfg +0 -0
  213. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/__init__.py +0 -0
  214. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/cli/__init__.py +0 -0
  215. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/cli/test_cli.py +0 -0
  216. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/conftest.py +0 -0
  217. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/__init__.py +0 -0
  218. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/instruments/__init__.py +0 -0
  219. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/instruments/test_core_profile_session.py +0 -0
  220. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/instruments/test_dvt_secure_socket_proxy.py +0 -0
  221. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/instruments/test_fetch_symbols.py +0 -0
  222. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/instruments/test_location.py +0 -0
  223. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/instruments/test_screenshot.py +0 -0
  224. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_accessibility.py +0 -0
  225. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_afc.py +0 -0
  226. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_apps.py +0 -0
  227. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_backup2.py +0 -0
  228. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_bonjour.py +0 -0
  229. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_crash_reports.py +0 -0
  230. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_house_arrest.py +0 -0
  231. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_list_devices.py +0 -0
  232. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_lockdown.py +0 -0
  233. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_pcapd.py +0 -0
  234. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_springboard_services_relay.py +0 -0
  235. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_start_tunnel.py +0 -0
  236. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_syslog_relay.py +0 -0
  237. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_tcp_forwarder.py +0 -0
  238. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_web_protocol/__init__.py +0 -0
  239. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_web_protocol/common.py +0 -0
  240. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_web_protocol/conftest.py +0 -0
  241. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_web_protocol/test_driver.py +0 -0
  242. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_web_protocol/test_element.py +0 -0
  243. {pymobiledevice3-7.0.2 → pymobiledevice3-7.0.4}/tests/services/test_webinspector.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pymobiledevice3
3
- Version: 7.0.2
3
+ Version: 7.0.4
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>
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '7.0.2'
32
- __version_tuple__ = version_tuple = (7, 0, 2)
31
+ __version__ = version = '7.0.4'
32
+ __version_tuple__ = version_tuple = (7, 0, 4)
33
33
 
34
- __commit_id__ = commit_id = 'g9d93df02a'
34
+ __commit_id__ = commit_id = 'ge24aa0e7e'
@@ -141,10 +141,8 @@ async def _tunneld(udid: Optional[str] = None) -> Optional[RemoteServiceDiscover
141
141
  raise NoDeviceConnectedError()
142
142
 
143
143
  if udid != "":
144
- try:
145
- # Connect to the specified device
146
- service_provider = next(rsd for rsd in rsds if rsd.udid == udid)
147
- except IndexError:
144
+ service_provider = next((rsd for rsd in rsds if rsd.udid == udid), None)
145
+ if service_provider is None:
148
146
  raise DeviceNotFoundError(udid) from None
149
147
  else:
150
148
  service_provider = rsds[0] if len(rsds) == 1 else prompt_device_list(rsds)
@@ -3,13 +3,13 @@ import logging
3
3
  import os
4
4
  import posixpath
5
5
  import shlex
6
- import signal
7
6
  from datetime import datetime
7
+ from enum import IntEnum
8
8
  from pathlib import Path
9
9
  from typing import Annotated, NamedTuple, Optional
10
10
 
11
11
  import typer
12
- from click.exceptions import MissingParameter, UsageError
12
+ from click.exceptions import BadParameter, MissingParameter, UsageError
13
13
  from typer_injector import InjectingTyper
14
14
 
15
15
  from pymobiledevice3.cli.cli_common import ServiceProviderDep, print_json, user_requested_colored_output
@@ -80,22 +80,73 @@ def applist(service_provider: ServiceProviderDep) -> None:
80
80
  print_json(apps)
81
81
 
82
82
 
83
+ class Signals(IntEnum):
84
+ """Platform-independent version of `signal.Signals`, allowing names to be used on Windows."""
85
+
86
+ HUP = 1
87
+ INT = 2
88
+ QUIT = 3
89
+ ILL = 4
90
+ TRAP = 5
91
+ ABRT = 6
92
+ EMT = 7
93
+ FPE = 8
94
+ KILL = 9
95
+ BUS = 10
96
+ SEGV = 11
97
+ SYS = 12
98
+ PIPE = 13
99
+ ALRM = 14
100
+ TERM = 15
101
+ URG = 16
102
+ STOP = 17
103
+ TSTP = 18
104
+ CONT = 19
105
+ CHLD = 20
106
+ TTIN = 21
107
+ TTOU = 22
108
+ IO = 23
109
+ XCPU = 24
110
+ XFSZ = 25
111
+ VTALRM = 26
112
+ PROF = 27
113
+ WINCH = 28
114
+ INFO = 29
115
+ USR1 = 30
116
+ USR2 = 31
117
+
118
+
83
119
  @cli.command("signal")
84
120
  def send_signal(
85
121
  service_provider: ServiceProviderDep,
86
122
  pid: int,
87
- sig: Optional[int] = None,
123
+ sig: Annotated[
124
+ Optional[int],
125
+ typer.Argument(),
126
+ ] = None,
88
127
  signal_name: Annotated[
89
- Optional[signal.Signals],
128
+ Optional[str],
90
129
  typer.Option("--signal-name", "-s"),
91
130
  ] = None,
92
131
  ) -> None:
93
132
  """Send a signal to a PID (choose numeric SIG or --signal-name)."""
94
- if not sig and not signal_name:
95
- raise MissingParameter(param_type="argument|option", param_hint="'SIG|SIGNAL-NAME'")
96
- if sig and signal_name:
133
+ if sig is not None and signal_name is not None:
97
134
  raise UsageError(message="Cannot give SIG and SIGNAL-NAME together")
98
- sig = sig or signal_name.value
135
+
136
+ if signal_name is not None:
137
+ normalized_signal_name = signal_name.upper().removeprefix("SIG")
138
+ try:
139
+ sig = Signals[normalized_signal_name]
140
+ except KeyError:
141
+ raise BadParameter(f"{signal_name!r} is not a valid signal") from None
142
+ elif sig is not None:
143
+ try:
144
+ sig = Signals(sig)
145
+ except ValueError:
146
+ raise BadParameter(f"{sig} is not a valid signal") from None
147
+ else:
148
+ raise MissingParameter(param_type="argument|option", param_hint="'SIG|SIGNAL-NAME'")
149
+
99
150
  with DvtSecureSocketProxyService(lockdown=service_provider) as dvt:
100
151
  ProcessControl(dvt).signal(pid, sig)
101
152
 
@@ -3,6 +3,7 @@ import dataclasses
3
3
  import logging
4
4
  import sys
5
5
  import tempfile
6
+ from contextlib import nullcontext
6
7
  from functools import partial
7
8
  from pathlib import Path
8
9
  from typing import Annotated, Optional, TextIO
@@ -195,7 +196,7 @@ async def tunnel_task(
195
196
 
196
197
  async def start_tunnel_task(
197
198
  connection_type: ConnectionType,
198
- secrets: TextIO,
199
+ secrets: Optional[TextIO],
199
200
  udid: Optional[str] = None,
200
201
  script_mode: bool = False,
201
202
  max_idle_timeout: float = MAX_IDLE_TIMEOUT,
@@ -226,7 +227,6 @@ async def start_tunnel_task(
226
227
  @cli.command("start-tunnel")
227
228
  @sudo_required
228
229
  def cli_start_tunnel(
229
- *,
230
230
  connection_type: Annotated[
231
231
  ConnectionType,
232
232
  typer.Option(
@@ -241,9 +241,9 @@ def cli_start_tunnel(
241
241
  typer.Option(help="UDID for a specific device to look for"),
242
242
  ] = None,
243
243
  secrets: Annotated[
244
- Path,
244
+ Optional[Path],
245
245
  typer.Option(help="File to write TLS secrets for Wireshark decryption."),
246
- ],
246
+ ] = None,
247
247
  script_mode: Annotated[
248
248
  bool,
249
249
  typer.Option(help="Print only HOST and port for scripts instead of formatted output."),
@@ -265,7 +265,7 @@ def cli_start_tunnel(
265
265
  """start tunnel"""
266
266
  if not verify_tunnel_imports():
267
267
  return
268
- with secrets.open("wt") as secrets_file:
268
+ with secrets.open("wt") if secrets is not None else nullcontext() as secrets_file:
269
269
  asyncio.run(
270
270
  start_tunnel_task(
271
271
  connection_type,
@@ -573,7 +573,8 @@ class AfcService(LockdownService):
573
573
  """
574
574
  Create a directory on the device.
575
575
 
576
- Note: Unlike os.makedirs, this does not create parent directories automatically.
576
+ Note: This behaves like os.makedirs and will create parent directories as needed.
577
+ It is idempotent and will not raise an error if the directory already exists.
577
578
 
578
579
  :param filename: Path of the directory to create
579
580
  :return: Response data from the operation
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pymobiledevice3
3
- Version: 7.0.2
3
+ Version: 7.0.4
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>
File without changes