@bharper/atv-js 0.2.6 → 0.3.4

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 (283) hide show
  1. package/dist/index.d.ts +15 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +89 -9
  4. package/dist/index.js.map +1 -1
  5. package/dist/mdns.d.ts.map +1 -1
  6. package/dist/mdns.js +96 -11
  7. package/dist/mdns.js.map +1 -1
  8. package/examples/print-device-json.js +22 -0
  9. package/package.json +2 -3
  10. package/pyatv/.codecov.yml +38 -0
  11. package/pyatv/.github/FUNDING.yml +3 -0
  12. package/pyatv/.github/ISSUE_TEMPLATE/bug_report.yml +80 -0
  13. package/pyatv/.github/ISSUE_TEMPLATE/config.yml +1 -0
  14. package/pyatv/.github/ISSUE_TEMPLATE/feature_request.yml +22 -0
  15. package/pyatv/.github/ISSUE_TEMPLATE/implementation-proposal.yml +29 -0
  16. package/pyatv/.github/ISSUE_TEMPLATE/investigation.yml +16 -0
  17. package/pyatv/.github/ISSUE_TEMPLATE/minor-change.yml +10 -0
  18. package/pyatv/.github/ISSUE_TEMPLATE/question-or-idea.yml +11 -0
  19. package/pyatv/.github/dependabot.yml +26 -0
  20. package/pyatv/.github/workflows/codeql-analysis.yml +71 -0
  21. package/pyatv/.github/workflows/release.yml +160 -0
  22. package/pyatv/.github/workflows/tests.yml +104 -0
  23. package/pyatv/.gitpod.yml +23 -0
  24. package/pyatv/CHANGES.md +3708 -0
  25. package/pyatv/CODE_OF_CONDUCT.md +76 -0
  26. package/pyatv/CONTRIBUTING.md +72 -0
  27. package/pyatv/CONTRIBUTORS.md +3 -0
  28. package/pyatv/Dockerfile +15 -0
  29. package/pyatv/LICENSE.md +9 -0
  30. package/pyatv/MANIFEST.in +14 -0
  31. package/pyatv/README.md +111 -0
  32. package/pyatv/base_versions.txt +13 -0
  33. package/pyatv/chickn.yaml +75 -0
  34. package/pyatv/docs/404.html +24 -0
  35. package/pyatv/docs/CNAME +1 -0
  36. package/pyatv/docs/Gemfile +31 -0
  37. package/pyatv/docs/_config.yml +121 -0
  38. package/pyatv/docs/_includes/api +10 -0
  39. package/pyatv/docs/_includes/atvremote_scan +32 -0
  40. package/pyatv/docs/_includes/code +6 -0
  41. package/pyatv/docs/_includes/issue +14 -0
  42. package/pyatv/docs/_includes/pypi +5 -0
  43. package/pyatv/docs/_layouts/template.html +109 -0
  44. package/pyatv/docs/api/pyatv.conf.html +312 -0
  45. package/pyatv/docs/api/pyatv.const.html +974 -0
  46. package/pyatv/docs/api/pyatv.convert.html +106 -0
  47. package/pyatv/docs/api/pyatv.exceptions.html +489 -0
  48. package/pyatv/docs/api/pyatv.helpers.html +102 -0
  49. package/pyatv/docs/api/pyatv.html +120 -0
  50. package/pyatv/docs/api/pyatv.interface.html +2369 -0
  51. package/pyatv/docs/api/pyatv.settings.html +484 -0
  52. package/pyatv/docs/api/pyatv.storage.file_storage.html +102 -0
  53. package/pyatv/docs/api/pyatv.storage.html +186 -0
  54. package/pyatv/docs/api/pyatv.storage.memory_storage.html +83 -0
  55. package/pyatv/docs/assets/css/custom.css +19 -0
  56. package/pyatv/docs/assets/css/hljs.css +1 -0
  57. package/pyatv/docs/assets/css/normalize.css +349 -0
  58. package/pyatv/docs/assets/css/pdoc.css +287 -0
  59. package/pyatv/docs/assets/css/sanitize.css +566 -0
  60. package/pyatv/docs/assets/css/style.scss +9 -0
  61. package/pyatv/docs/assets/img/logo.svg +63 -0
  62. package/pyatv/docs/assets/js/highlight.9.12.0.min.js +3 -0
  63. package/pyatv/docs/assets/js/mermaid.8.9.2.min.js +32 -0
  64. package/pyatv/docs/assets/js/mermaid.min.js.map +1 -0
  65. package/pyatv/docs/development/apps.md +81 -0
  66. package/pyatv/docs/development/audio.md +42 -0
  67. package/pyatv/docs/development/control.md +56 -0
  68. package/pyatv/docs/development/development.md +15 -0
  69. package/pyatv/docs/development/device_info.md +36 -0
  70. package/pyatv/docs/development/examples.md +44 -0
  71. package/pyatv/docs/development/features.md +70 -0
  72. package/pyatv/docs/development/keyboard.md +51 -0
  73. package/pyatv/docs/development/listeners.md +144 -0
  74. package/pyatv/docs/development/logging.md +55 -0
  75. package/pyatv/docs/development/metadata.md +115 -0
  76. package/pyatv/docs/development/power_management.md +53 -0
  77. package/pyatv/docs/development/scan_pair_and_connect.md +331 -0
  78. package/pyatv/docs/development/services.md +9 -0
  79. package/pyatv/docs/development/storage.md +259 -0
  80. package/pyatv/docs/development/stream.md +241 -0
  81. package/pyatv/docs/development/testing.md +9 -0
  82. package/pyatv/docs/documentation/atvlog.md +64 -0
  83. package/pyatv/docs/documentation/atvproxy.md +244 -0
  84. package/pyatv/docs/documentation/atvremote.md +639 -0
  85. package/pyatv/docs/documentation/atvscript.md +275 -0
  86. package/pyatv/docs/documentation/concepts.md +168 -0
  87. package/pyatv/docs/documentation/documentation.md +130 -0
  88. package/pyatv/docs/documentation/getting_started.md +248 -0
  89. package/pyatv/docs/documentation/protocols.md +1959 -0
  90. package/pyatv/docs/documentation/supported_features.md +246 -0
  91. package/pyatv/docs/documentation/tutorial.md +1062 -0
  92. package/pyatv/docs/documentation/workspace.code-workspace +7 -0
  93. package/pyatv/docs/favicon.ico +0 -0
  94. package/pyatv/docs/index.md +109 -0
  95. package/pyatv/docs/internals/design.md +354 -0
  96. package/pyatv/docs/internals/documentation.md +84 -0
  97. package/pyatv/docs/internals/interfaces.md +95 -0
  98. package/pyatv/docs/internals/internals.md +157 -0
  99. package/pyatv/docs/internals/submit_pr.md +56 -0
  100. package/pyatv/docs/internals/testing.md +176 -0
  101. package/pyatv/docs/internals/tools.md +574 -0
  102. package/pyatv/docs/pdoc_templates/config.mako +46 -0
  103. package/pyatv/docs/pdoc_templates/html.mako +454 -0
  104. package/pyatv/docs/support/acknowledgements.md +87 -0
  105. package/pyatv/docs/support/faq.md +214 -0
  106. package/pyatv/docs/support/migration.md +138 -0
  107. package/pyatv/docs/support/scanning_issues.md +110 -0
  108. package/pyatv/docs/support/support.md +18 -0
  109. package/pyatv/docs/support/troubleshooting.md +83 -0
  110. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFadeMessage.proto +13 -0
  111. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFadeMessage_pb2.pyi +37 -0
  112. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFadeResponseMessage.proto +11 -0
  113. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFadeResponseMessage_pb2.pyi +32 -0
  114. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFormatSettingsMessage.proto +5 -0
  115. package/pyatv/pyatv/protocols/mrp/protobuf/AudioFormatSettingsMessage_pb2.pyi +27 -0
  116. package/pyatv/pyatv/protocols/mrp/protobuf/ClientUpdatesConfigMessage.proto +16 -0
  117. package/pyatv/pyatv/protocols/mrp/protobuf/ClientUpdatesConfigMessage_pb2.pyi +44 -0
  118. package/pyatv/pyatv/protocols/mrp/protobuf/CommandInfo.proto +117 -0
  119. package/pyatv/pyatv/protocols/mrp/protobuf/CommandInfo_pb2.pyi +325 -0
  120. package/pyatv/pyatv/protocols/mrp/protobuf/CommandOptions.proto +36 -0
  121. package/pyatv/pyatv/protocols/mrp/protobuf/CommandOptions_pb2.pyi +115 -0
  122. package/pyatv/pyatv/protocols/mrp/protobuf/Common.proto +79 -0
  123. package/pyatv/pyatv/protocols/mrp/protobuf/Common_pb2.pyi +228 -0
  124. package/pyatv/pyatv/protocols/mrp/protobuf/ConfigureConnectionMessage.proto +11 -0
  125. package/pyatv/pyatv/protocols/mrp/protobuf/ConfigureConnectionMessage_pb2.pyi +32 -0
  126. package/pyatv/pyatv/protocols/mrp/protobuf/ContentItem.proto +27 -0
  127. package/pyatv/pyatv/protocols/mrp/protobuf/ContentItemMetadata.proto +213 -0
  128. package/pyatv/pyatv/protocols/mrp/protobuf/ContentItemMetadata_pb2.pyi +630 -0
  129. package/pyatv/pyatv/protocols/mrp/protobuf/ContentItem_pb2.pyi +94 -0
  130. package/pyatv/pyatv/protocols/mrp/protobuf/CryptoPairingMessage.proto +15 -0
  131. package/pyatv/pyatv/protocols/mrp/protobuf/CryptoPairingMessage_pb2.pyi +46 -0
  132. package/pyatv/pyatv/protocols/mrp/protobuf/DeviceInfoMessage.proto +69 -0
  133. package/pyatv/pyatv/protocols/mrp/protobuf/DeviceInfoMessage_pb2.pyi +226 -0
  134. package/pyatv/pyatv/protocols/mrp/protobuf/GenericMessage.proto +12 -0
  135. package/pyatv/pyatv/protocols/mrp/protobuf/GenericMessage_pb2.pyi +35 -0
  136. package/pyatv/pyatv/protocols/mrp/protobuf/GetKeyboardSessionMessage.proto +11 -0
  137. package/pyatv/pyatv/protocols/mrp/protobuf/GetKeyboardSessionMessage_pb2.pyi +26 -0
  138. package/pyatv/pyatv/protocols/mrp/protobuf/GetRemoteTextInputSessionMessage.proto +10 -0
  139. package/pyatv/pyatv/protocols/mrp/protobuf/GetRemoteTextInputSessionMessage_pb2.pyi +26 -0
  140. package/pyatv/pyatv/protocols/mrp/protobuf/GetVolumeMessage.proto +11 -0
  141. package/pyatv/pyatv/protocols/mrp/protobuf/GetVolumeMessage_pb2.pyi +32 -0
  142. package/pyatv/pyatv/protocols/mrp/protobuf/GetVolumeResultMessage.proto +11 -0
  143. package/pyatv/pyatv/protocols/mrp/protobuf/GetVolumeResultMessage_pb2.pyi +32 -0
  144. package/pyatv/pyatv/protocols/mrp/protobuf/KeyboardMessage.proto +88 -0
  145. package/pyatv/pyatv/protocols/mrp/protobuf/KeyboardMessage_pb2.pyi +261 -0
  146. package/pyatv/pyatv/protocols/mrp/protobuf/LanguageOption.proto +9 -0
  147. package/pyatv/pyatv/protocols/mrp/protobuf/LanguageOption_pb2.pyi +42 -0
  148. package/pyatv/pyatv/protocols/mrp/protobuf/ModifyOutputContextRequestMessage.proto +23 -0
  149. package/pyatv/pyatv/protocols/mrp/protobuf/ModifyOutputContextRequestMessage_pb2.pyi +86 -0
  150. package/pyatv/pyatv/protocols/mrp/protobuf/NotificationMessage.proto +12 -0
  151. package/pyatv/pyatv/protocols/mrp/protobuf/NotificationMessage_pb2.pyi +38 -0
  152. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingClient.proto +12 -0
  153. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingClient_pb2.pyi +49 -0
  154. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingInfo.proto +24 -0
  155. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingInfo_pb2.pyi +79 -0
  156. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingPlayer.proto +11 -0
  157. package/pyatv/pyatv/protocols/mrp/protobuf/NowPlayingPlayer_pb2.pyi +45 -0
  158. package/pyatv/pyatv/protocols/mrp/protobuf/Origin.proto +17 -0
  159. package/pyatv/pyatv/protocols/mrp/protobuf/OriginClientPropertiesMessage.proto +11 -0
  160. package/pyatv/pyatv/protocols/mrp/protobuf/OriginClientPropertiesMessage_pb2.pyi +32 -0
  161. package/pyatv/pyatv/protocols/mrp/protobuf/Origin_pb2.pyi +63 -0
  162. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueue.proto +15 -0
  163. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueCapabilities.proto +7 -0
  164. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueCapabilities_pb2.pyi +33 -0
  165. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueContext.proto +5 -0
  166. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueContext_pb2.pyi +27 -0
  167. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueRequestMessage.proto +29 -0
  168. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueueRequestMessage_pb2.pyi +87 -0
  169. package/pyatv/pyatv/protocols/mrp/protobuf/PlaybackQueue_pb2.pyi +53 -0
  170. package/pyatv/pyatv/protocols/mrp/protobuf/PlayerClientPropertiesMessage.proto +13 -0
  171. package/pyatv/pyatv/protocols/mrp/protobuf/PlayerClientPropertiesMessage_pb2.pyi +37 -0
  172. package/pyatv/pyatv/protocols/mrp/protobuf/PlayerPath.proto +11 -0
  173. package/pyatv/pyatv/protocols/mrp/protobuf/PlayerPath_pb2.pyi +39 -0
  174. package/pyatv/pyatv/protocols/mrp/protobuf/ProtocolMessage.proto +171 -0
  175. package/pyatv/pyatv/protocols/mrp/protobuf/ProtocolMessage_pb2.pyi +377 -0
  176. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterForGameControllerEventsMessage.proto +18 -0
  177. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterForGameControllerEventsMessage_pb2.pyi +54 -0
  178. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterHIDDeviceMessage.proto +12 -0
  179. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterHIDDeviceMessage_pb2.pyi +34 -0
  180. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterHIDDeviceResultMessage.proto +12 -0
  181. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterHIDDeviceResultMessage_pb2.pyi +35 -0
  182. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterVoiceInputDeviceMessage.proto +12 -0
  183. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterVoiceInputDeviceMessage_pb2.pyi +34 -0
  184. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterVoiceInputDeviceResponseMessage.proto +12 -0
  185. package/pyatv/pyatv/protocols/mrp/protobuf/RegisterVoiceInputDeviceResponseMessage_pb2.pyi +35 -0
  186. package/pyatv/pyatv/protocols/mrp/protobuf/RemoteTextInputMessage.proto +13 -0
  187. package/pyatv/pyatv/protocols/mrp/protobuf/RemoteTextInputMessage_pb2.pyi +38 -0
  188. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveClientMessage.proto +12 -0
  189. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveClientMessage_pb2.pyi +34 -0
  190. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveEndpointsMessage.proto +11 -0
  191. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveEndpointsMessage_pb2.pyi +34 -0
  192. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveOutputDevicesMessage.proto +12 -0
  193. package/pyatv/pyatv/protocols/mrp/protobuf/RemoveOutputDevicesMessage_pb2.pyi +38 -0
  194. package/pyatv/pyatv/protocols/mrp/protobuf/RemovePlayerMessage.proto +12 -0
  195. package/pyatv/pyatv/protocols/mrp/protobuf/RemovePlayerMessage_pb2.pyi +34 -0
  196. package/pyatv/pyatv/protocols/mrp/protobuf/SendButtonEventMessage.proto +13 -0
  197. package/pyatv/pyatv/protocols/mrp/protobuf/SendButtonEventMessage_pb2.pyi +38 -0
  198. package/pyatv/pyatv/protocols/mrp/protobuf/SendCommandMessage.proto +16 -0
  199. package/pyatv/pyatv/protocols/mrp/protobuf/SendCommandMessage_pb2.pyi +43 -0
  200. package/pyatv/pyatv/protocols/mrp/protobuf/SendCommandResultMessage.proto +100 -0
  201. package/pyatv/pyatv/protocols/mrp/protobuf/SendCommandResultMessage_pb2.pyi +286 -0
  202. package/pyatv/pyatv/protocols/mrp/protobuf/SendHIDEventMessage.proto +41 -0
  203. package/pyatv/pyatv/protocols/mrp/protobuf/SendHIDEventMessage_pb2.pyi +63 -0
  204. package/pyatv/pyatv/protocols/mrp/protobuf/SendPackedVirtualTouchEventMessage.proto +24 -0
  205. package/pyatv/pyatv/protocols/mrp/protobuf/SendPackedVirtualTouchEventMessage_pb2.pyi +64 -0
  206. package/pyatv/pyatv/protocols/mrp/protobuf/SendVoiceInputMessage.proto +38 -0
  207. package/pyatv/pyatv/protocols/mrp/protobuf/SendVoiceInputMessage_pb2.pyi +134 -0
  208. package/pyatv/pyatv/protocols/mrp/protobuf/SetArtworkMessage.proto +11 -0
  209. package/pyatv/pyatv/protocols/mrp/protobuf/SetArtworkMessage_pb2.pyi +32 -0
  210. package/pyatv/pyatv/protocols/mrp/protobuf/SetConnectionStateMessage.proto +18 -0
  211. package/pyatv/pyatv/protocols/mrp/protobuf/SetConnectionStateMessage_pb2.pyi +54 -0
  212. package/pyatv/pyatv/protocols/mrp/protobuf/SetDefaultSupportedCommandsMessage.proto +28 -0
  213. package/pyatv/pyatv/protocols/mrp/protobuf/SetDefaultSupportedCommandsMessage_pb2.pyi +74 -0
  214. package/pyatv/pyatv/protocols/mrp/protobuf/SetDiscoveryModeMessage.proto +12 -0
  215. package/pyatv/pyatv/protocols/mrp/protobuf/SetDiscoveryModeMessage_pb2.pyi +35 -0
  216. package/pyatv/pyatv/protocols/mrp/protobuf/SetHiliteModeMessage.proto +11 -0
  217. package/pyatv/pyatv/protocols/mrp/protobuf/SetHiliteModeMessage_pb2.pyi +32 -0
  218. package/pyatv/pyatv/protocols/mrp/protobuf/SetNowPlayingClientMessage.proto +12 -0
  219. package/pyatv/pyatv/protocols/mrp/protobuf/SetNowPlayingClientMessage_pb2.pyi +34 -0
  220. package/pyatv/pyatv/protocols/mrp/protobuf/SetNowPlayingPlayerMessage.proto +12 -0
  221. package/pyatv/pyatv/protocols/mrp/protobuf/SetNowPlayingPlayerMessage_pb2.pyi +34 -0
  222. package/pyatv/pyatv/protocols/mrp/protobuf/SetRecordingStateMessage.proto +17 -0
  223. package/pyatv/pyatv/protocols/mrp/protobuf/SetRecordingStateMessage_pb2.pyi +54 -0
  224. package/pyatv/pyatv/protocols/mrp/protobuf/SetStateMessage.proto +27 -0
  225. package/pyatv/pyatv/protocols/mrp/protobuf/SetStateMessage_pb2.pyi +72 -0
  226. package/pyatv/pyatv/protocols/mrp/protobuf/SetVolumeMessage.proto +12 -0
  227. package/pyatv/pyatv/protocols/mrp/protobuf/SetVolumeMessage_pb2.pyi +35 -0
  228. package/pyatv/pyatv/protocols/mrp/protobuf/SupportedCommands.proto +7 -0
  229. package/pyatv/pyatv/protocols/mrp/protobuf/SupportedCommands_pb2.pyi +30 -0
  230. package/pyatv/pyatv/protocols/mrp/protobuf/TextInputMessage.proto +23 -0
  231. package/pyatv/pyatv/protocols/mrp/protobuf/TextInputMessage_pb2.pyi +76 -0
  232. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionKey.proto +6 -0
  233. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionKey_pb2.pyi +30 -0
  234. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionMessage.proto +15 -0
  235. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionMessage_pb2.pyi +42 -0
  236. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionPacket.proto +11 -0
  237. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionPacket_pb2.pyi +41 -0
  238. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionPackets.proto +7 -0
  239. package/pyatv/pyatv/protocols/mrp/protobuf/TransactionPackets_pb2.pyi +30 -0
  240. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateClientMessage.proto +12 -0
  241. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateClientMessage_pb2.pyi +34 -0
  242. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateContentItemArtworkMessage.proto +14 -0
  243. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateContentItemArtworkMessage_pb2.pyi +41 -0
  244. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateContentItemMessage.proto +14 -0
  245. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateContentItemMessage_pb2.pyi +41 -0
  246. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateEndPointsMessage.proto +25 -0
  247. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateEndPointsMessage_pb2.pyi +74 -0
  248. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateOutputDeviceMessage.proto +88 -0
  249. package/pyatv/pyatv/protocols/mrp/protobuf/UpdateOutputDeviceMessage_pb2.pyi +277 -0
  250. package/pyatv/pyatv/protocols/mrp/protobuf/UpdatePlayerPath.proto +12 -0
  251. package/pyatv/pyatv/protocols/mrp/protobuf/UpdatePlayerPath_pb2.pyi +34 -0
  252. package/pyatv/pyatv/protocols/mrp/protobuf/VirtualTouchDeviceDescriptorMessage.proto +8 -0
  253. package/pyatv/pyatv/protocols/mrp/protobuf/VirtualTouchDeviceDescriptorMessage_pb2.pyi +36 -0
  254. package/pyatv/pyatv/protocols/mrp/protobuf/VoiceInputDeviceDescriptorMessage.proto +8 -0
  255. package/pyatv/pyatv/protocols/mrp/protobuf/VoiceInputDeviceDescriptorMessage_pb2.pyi +35 -0
  256. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeControlAvailabilityMessage.proto +23 -0
  257. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeControlAvailabilityMessage_pb2.pyi +71 -0
  258. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeControlCapabilitiesDidChangeMessage.proto +14 -0
  259. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeControlCapabilitiesDidChangeMessage_pb2.pyi +40 -0
  260. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeDidChangeMessage.proto +13 -0
  261. package/pyatv/pyatv/protocols/mrp/protobuf/VolumeDidChangeMessage_pb2.pyi +38 -0
  262. package/pyatv/pyatv/protocols/mrp/protobuf/WakeDeviceMessage.proto +11 -0
  263. package/pyatv/pyatv/protocols/mrp/protobuf/WakeDeviceMessage_pb2.pyi +26 -0
  264. package/pyatv/pyatv/py.typed +0 -0
  265. package/pyatv/pylintrc +49 -0
  266. package/pyatv/pyproject.toml +74 -0
  267. package/pyatv/requirements/requirements.txt +14 -0
  268. package/pyatv/requirements/requirements_docs.txt +2 -0
  269. package/pyatv/requirements/requirements_test.txt +20 -0
  270. package/pyatv/scripts/build_docs.sh +17 -0
  271. package/pyatv/scripts/setup_dev_env.sh +83 -0
  272. package/pyatv/setup.cfg +14 -0
  273. package/pyatv/tests/data/README +23 -0
  274. package/pyatv/tests/data/audio_10_frames.wav +0 -0
  275. package/pyatv/tests/data/audio_1_packet_metadata.wav +0 -0
  276. package/pyatv/tests/data/audio_3_packets.wav +0 -0
  277. package/pyatv/tests/data/only_metadata.wav +0 -0
  278. package/pyatv/tests/data/only_title.wav +0 -0
  279. package/pyatv/tests/data/static_3sec.ogg +0 -0
  280. package/pyatv/tests/data/testfile.txt +1 -0
  281. package/pyatv/tests/support/pyatv.code-workspace +14 -0
  282. package/src/index.ts +122 -8
  283. package/src/mdns.ts +64 -11
@@ -0,0 +1,484 @@
1
+ ---
2
+ layout: template
3
+ title: API - pyatv.settings
4
+ permalink: /api/settings/
5
+ link_group: api
6
+ ---
7
+ <nav id="sidebar">
8
+ <h1>Index</h1>
9
+ <div class="toc">
10
+ <ul></ul>
11
+ </div>
12
+ This module has additional documentation
13
+ <a title="test" href=/development/storage>here</a>.
14
+ <ul id="index">
15
+ <li><h3>Super-module</h3>
16
+ <ul>
17
+ <li><code><a title="pyatv" href="..">pyatv</a></code></li>
18
+ </ul>
19
+ </li>
20
+ <li><h3><a href="#header-classes">Classes</a></h3>
21
+ <ul>
22
+ <li>
23
+ <h4><code><a title="pyatv.settings.AirPlaySettings" href="#pyatv.settings.AirPlaySettings">AirPlaySettings</a></code></h4>
24
+ <ul class="">
25
+ <li><code><a title="pyatv.settings.AirPlaySettings.credentials" href="#pyatv.settings.AirPlaySettings.credentials">credentials</a></code></li>
26
+ <li><code><a title="pyatv.settings.AirPlaySettings.identifier" href="#pyatv.settings.AirPlaySettings.identifier">identifier</a></code></li>
27
+ <li><code><a title="pyatv.settings.AirPlaySettings.mrp_tunnel" href="#pyatv.settings.AirPlaySettings.mrp_tunnel">mrp_tunnel</a></code></li>
28
+ <li><code><a title="pyatv.settings.AirPlaySettings.password" href="#pyatv.settings.AirPlaySettings.password">password</a></code></li>
29
+ </ul>
30
+ </li>
31
+ <li>
32
+ <h4><code><a title="pyatv.settings.AirPlayVersion" href="#pyatv.settings.AirPlayVersion">AirPlayVersion</a></code></h4>
33
+ <ul class="">
34
+ <li><code><a title="pyatv.settings.AirPlayVersion.Auto" href="#pyatv.settings.AirPlayVersion.Auto">Auto</a></code></li>
35
+ <li><code><a title="pyatv.settings.AirPlayVersion.V1" href="#pyatv.settings.AirPlayVersion.V1">V1</a></code></li>
36
+ <li><code><a title="pyatv.settings.AirPlayVersion.V2" href="#pyatv.settings.AirPlayVersion.V2">V2</a></code></li>
37
+ </ul>
38
+ </li>
39
+ <li>
40
+ <h4><code><a title="pyatv.settings.CompanionSettings" href="#pyatv.settings.CompanionSettings">CompanionSettings</a></code></h4>
41
+ <ul class="">
42
+ <li><code><a title="pyatv.settings.CompanionSettings.credentials" href="#pyatv.settings.CompanionSettings.credentials">credentials</a></code></li>
43
+ <li><code><a title="pyatv.settings.CompanionSettings.identifier" href="#pyatv.settings.CompanionSettings.identifier">identifier</a></code></li>
44
+ </ul>
45
+ </li>
46
+ <li>
47
+ <h4><code><a title="pyatv.settings.DmapSettings" href="#pyatv.settings.DmapSettings">DmapSettings</a></code></h4>
48
+ <ul class="">
49
+ <li><code><a title="pyatv.settings.DmapSettings.credentials" href="#pyatv.settings.DmapSettings.credentials">credentials</a></code></li>
50
+ <li><code><a title="pyatv.settings.DmapSettings.identifier" href="#pyatv.settings.DmapSettings.identifier">identifier</a></code></li>
51
+ </ul>
52
+ </li>
53
+ <li>
54
+ <h4><code><a title="pyatv.settings.InfoSettings" href="#pyatv.settings.InfoSettings">InfoSettings</a></code></h4>
55
+ <ul class="two-column">
56
+ <li><code><a title="pyatv.settings.InfoSettings.device_id" href="#pyatv.settings.InfoSettings.device_id">device_id</a></code></li>
57
+ <li><code><a title="pyatv.settings.InfoSettings.fill_missing_rp_id" href="#pyatv.settings.InfoSettings.fill_missing_rp_id">fill_missing_rp_id</a></code></li>
58
+ <li><code><a title="pyatv.settings.InfoSettings.mac" href="#pyatv.settings.InfoSettings.mac">mac</a></code></li>
59
+ <li><code><a title="pyatv.settings.InfoSettings.mac_validator" href="#pyatv.settings.InfoSettings.mac_validator">mac_validator</a></code></li>
60
+ <li><code><a title="pyatv.settings.InfoSettings.model" href="#pyatv.settings.InfoSettings.model">model</a></code></li>
61
+ <li><code><a title="pyatv.settings.InfoSettings.name" href="#pyatv.settings.InfoSettings.name">name</a></code></li>
62
+ <li><code><a title="pyatv.settings.InfoSettings.os_build" href="#pyatv.settings.InfoSettings.os_build">os_build</a></code></li>
63
+ <li><code><a title="pyatv.settings.InfoSettings.os_name" href="#pyatv.settings.InfoSettings.os_name">os_name</a></code></li>
64
+ <li><code><a title="pyatv.settings.InfoSettings.os_version" href="#pyatv.settings.InfoSettings.os_version">os_version</a></code></li>
65
+ <li><code><a title="pyatv.settings.InfoSettings.rp_id" href="#pyatv.settings.InfoSettings.rp_id">rp_id</a></code></li>
66
+ </ul>
67
+ </li>
68
+ <li>
69
+ <h4><code><a title="pyatv.settings.MrpSettings" href="#pyatv.settings.MrpSettings">MrpSettings</a></code></h4>
70
+ <ul class="">
71
+ <li><code><a title="pyatv.settings.MrpSettings.credentials" href="#pyatv.settings.MrpSettings.credentials">credentials</a></code></li>
72
+ <li><code><a title="pyatv.settings.MrpSettings.identifier" href="#pyatv.settings.MrpSettings.identifier">identifier</a></code></li>
73
+ </ul>
74
+ </li>
75
+ <li>
76
+ <h4><code><a title="pyatv.settings.MrpTunnel" href="#pyatv.settings.MrpTunnel">MrpTunnel</a></code></h4>
77
+ <ul class="">
78
+ <li><code><a title="pyatv.settings.MrpTunnel.Auto" href="#pyatv.settings.MrpTunnel.Auto">Auto</a></code></li>
79
+ <li><code><a title="pyatv.settings.MrpTunnel.Disable" href="#pyatv.settings.MrpTunnel.Disable">Disable</a></code></li>
80
+ <li><code><a title="pyatv.settings.MrpTunnel.Force" href="#pyatv.settings.MrpTunnel.Force">Force</a></code></li>
81
+ </ul>
82
+ </li>
83
+ <li>
84
+ <h4><code><a title="pyatv.settings.ProtocolSettings" href="#pyatv.settings.ProtocolSettings">ProtocolSettings</a></code></h4>
85
+ <ul class="">
86
+ <li><code><a title="pyatv.settings.ProtocolSettings.airplay" href="#pyatv.settings.ProtocolSettings.airplay">airplay</a></code></li>
87
+ <li><code><a title="pyatv.settings.ProtocolSettings.companion" href="#pyatv.settings.ProtocolSettings.companion">companion</a></code></li>
88
+ <li><code><a title="pyatv.settings.ProtocolSettings.dmap" href="#pyatv.settings.ProtocolSettings.dmap">dmap</a></code></li>
89
+ <li><code><a title="pyatv.settings.ProtocolSettings.mrp" href="#pyatv.settings.ProtocolSettings.mrp">mrp</a></code></li>
90
+ <li><code><a title="pyatv.settings.ProtocolSettings.raop" href="#pyatv.settings.ProtocolSettings.raop">raop</a></code></li>
91
+ </ul>
92
+ </li>
93
+ <li>
94
+ <h4><code><a title="pyatv.settings.RaopSettings" href="#pyatv.settings.RaopSettings">RaopSettings</a></code></h4>
95
+ <ul class="two-column">
96
+ <li><code><a title="pyatv.settings.RaopSettings.control_port" href="#pyatv.settings.RaopSettings.control_port">control_port</a></code></li>
97
+ <li><code><a title="pyatv.settings.RaopSettings.credentials" href="#pyatv.settings.RaopSettings.credentials">credentials</a></code></li>
98
+ <li><code><a title="pyatv.settings.RaopSettings.identifier" href="#pyatv.settings.RaopSettings.identifier">identifier</a></code></li>
99
+ <li><code><a title="pyatv.settings.RaopSettings.password" href="#pyatv.settings.RaopSettings.password">password</a></code></li>
100
+ <li><code><a title="pyatv.settings.RaopSettings.protocol_version" href="#pyatv.settings.RaopSettings.protocol_version">protocol_version</a></code></li>
101
+ <li><code><a title="pyatv.settings.RaopSettings.timing_port" href="#pyatv.settings.RaopSettings.timing_port">timing_port</a></code></li>
102
+ </ul>
103
+ </li>
104
+ <li>
105
+ <h4><code><a title="pyatv.settings.Settings" href="#pyatv.settings.Settings">Settings</a></code></h4>
106
+ <ul class="">
107
+ <li><code><a title="pyatv.settings.Settings.info" href="#pyatv.settings.Settings.info">info</a></code></li>
108
+ <li><code><a title="pyatv.settings.Settings.protocols" href="#pyatv.settings.Settings.protocols">protocols</a></code></li>
109
+ </ul>
110
+ </li>
111
+ </ul>
112
+ </li>
113
+ </ul>
114
+ </nav>
115
+ <article id="content">
116
+ <header>
117
+ <h1 class="title">Module <code>pyatv.settings</code></h1>
118
+ </header>
119
+ <section id="section-intro">
120
+ <p>Settings for configuring pyatv.</p>
121
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/settings.py#L1-L179" class="git-link">Browse git</a></div>
122
+ </section>
123
+ <section>
124
+ </section>
125
+ <section>
126
+ </section>
127
+ <section>
128
+ </section>
129
+ <section>
130
+ <h2 class="section-title" id="header-classes">Classes</h2>
131
+ <dl>
132
+ <dt id="pyatv.settings.AirPlaySettings"><code class="flex name class">
133
+ <span>class <span class="ident">AirPlaySettings</span></span>
134
+ <span>(</span><span>**data: Any)</span>
135
+ </code></dt>
136
+ <dd>
137
+ <section class="desc"><p>Settings related to AirPlay.</p>
138
+ <p>Create a new model by parsing and validating input data from keyword arguments.</p>
139
+ <p>Raises ValidationError if the input data cannot be parsed to form a valid model.</p></section>
140
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/settings.py#L107-L114" class="git-link">Browse git</a></div>
141
+ <h3>Ancestors</h3>
142
+ <ul class="hlist">
143
+ <li>pydantic.v1.main.BaseModel</li>
144
+ <li>pydantic.v1.utils.Representation</li>
145
+ </ul>
146
+ <h3>Class variables</h3>
147
+ <dl>
148
+ <dt id="pyatv.settings.AirPlaySettings.credentials"><code class="name">var <span class="ident">credentials</span> -> str | None</code></dt>
149
+ <dd>
150
+ <section class="desc"></section>
151
+ </dd>
152
+ <dt id="pyatv.settings.AirPlaySettings.identifier"><code class="name">var <span class="ident">identifier</span> -> str | None</code></dt>
153
+ <dd>
154
+ <section class="desc"></section>
155
+ </dd>
156
+ <dt id="pyatv.settings.AirPlaySettings.mrp_tunnel"><code class="name">var <span class="ident">mrp_tunnel</span> -> <a title="pyatv.settings.MrpTunnel" href="#pyatv.settings.MrpTunnel">MrpTunnel</a></code></dt>
157
+ <dd>
158
+ <section class="desc"></section>
159
+ </dd>
160
+ <dt id="pyatv.settings.AirPlaySettings.password"><code class="name">var <span class="ident">password</span> -> str | None</code></dt>
161
+ <dd>
162
+ <section class="desc"></section>
163
+ </dd>
164
+ </dl>
165
+ </dd>
166
+ <dt id="pyatv.settings.AirPlayVersion"><code class="flex name class">
167
+ <span>class <span class="ident">AirPlayVersion</span></span>
168
+ <span>(</span><span>*args, **kwds)</span>
169
+ </code></dt>
170
+ <dd>
171
+ <section class="desc"><p>AirPlay version to use.</p></section>
172
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/settings.py#L49-L59" class="git-link">Browse git</a></div>
173
+ <h3>Ancestors</h3>
174
+ <ul class="hlist">
175
+ <li>builtins.str</li>
176
+ <li>enum.Enum</li>
177
+ </ul>
178
+ <h3>Class variables</h3>
179
+ <dl>
180
+ <dt id="pyatv.settings.AirPlayVersion.Auto"><code class="name">var <span class="ident">Auto</span> = auto</code></dt>
181
+ <dd>
182
+ <section class="desc"><p>Automatically determine what version to use.</p></section>
183
+ </dd>
184
+ <dt id="pyatv.settings.AirPlayVersion.V1"><code class="name">var <span class="ident">V1</span> = 1</code></dt>
185
+ <dd>
186
+ <section class="desc"><p>Use version 1 of AirPlay.</p></section>
187
+ </dd>
188
+ <dt id="pyatv.settings.AirPlayVersion.V2"><code class="name">var <span class="ident">V2</span> = 2</code></dt>
189
+ <dd>
190
+ <section class="desc"><p>Use version 2 of AirPlay.</p></section>
191
+ </dd>
192
+ </dl>
193
+ </dd>
194
+ <dt id="pyatv.settings.CompanionSettings"><code class="flex name class">
195
+ <span>class <span class="ident">CompanionSettings</span></span>
196
+ <span>(</span><span>**data: Any)</span>
197
+ </code></dt>
198
+ <dd>
199
+ <section class="desc"><p>Settings related to Companion.</p>
200
+ <p>Create a new model by parsing and validating input data from keyword arguments.</p>
201
+ <p>Raises ValidationError if the input data cannot be parsed to form a valid model.</p></section>
202
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/settings.py#L117-L121" class="git-link">Browse git</a></div>
203
+ <h3>Ancestors</h3>
204
+ <ul class="hlist">
205
+ <li>pydantic.v1.main.BaseModel</li>
206
+ <li>pydantic.v1.utils.Representation</li>
207
+ </ul>
208
+ <h3>Class variables</h3>
209
+ <dl>
210
+ <dt id="pyatv.settings.CompanionSettings.credentials"><code class="name">var <span class="ident">credentials</span> -> str | None</code></dt>
211
+ <dd>
212
+ <section class="desc"></section>
213
+ </dd>
214
+ <dt id="pyatv.settings.CompanionSettings.identifier"><code class="name">var <span class="ident">identifier</span> -> str | None</code></dt>
215
+ <dd>
216
+ <section class="desc"></section>
217
+ </dd>
218
+ </dl>
219
+ </dd>
220
+ <dt id="pyatv.settings.DmapSettings"><code class="flex name class">
221
+ <span>class <span class="ident">DmapSettings</span></span>
222
+ <span>(</span><span>**data: Any)</span>
223
+ </code></dt>
224
+ <dd>
225
+ <section class="desc"><p>Settings related to DMAP.</p>
226
+ <p>Create a new model by parsing and validating input data from keyword arguments.</p>
227
+ <p>Raises ValidationError if the input data cannot be parsed to form a valid model.</p></section>
228
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/settings.py#L124-L128" class="git-link">Browse git</a></div>
229
+ <h3>Ancestors</h3>
230
+ <ul class="hlist">
231
+ <li>pydantic.v1.main.BaseModel</li>
232
+ <li>pydantic.v1.utils.Representation</li>
233
+ </ul>
234
+ <h3>Class variables</h3>
235
+ <dl>
236
+ <dt id="pyatv.settings.DmapSettings.credentials"><code class="name">var <span class="ident">credentials</span> -> str | None</code></dt>
237
+ <dd>
238
+ <section class="desc"></section>
239
+ </dd>
240
+ <dt id="pyatv.settings.DmapSettings.identifier"><code class="name">var <span class="ident">identifier</span> -> str | None</code></dt>
241
+ <dd>
242
+ <section class="desc"></section>
243
+ </dd>
244
+ </dl>
245
+ </dd>
246
+ <dt id="pyatv.settings.InfoSettings"><code class="flex name class">
247
+ <span>class <span class="ident">InfoSettings</span></span>
248
+ <span>(</span><span>**data: Any)</span>
249
+ </code></dt>
250
+ <dd>
251
+ <section class="desc"><p>Information related settings.</p>
252
+ <p>Create a new model by parsing and validating input data from keyword arguments.</p>
253
+ <p>Raises ValidationError if the input data cannot be parsed to form a valid model.</p></section>
254
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/settings.py#L78-L104" class="git-link">Browse git</a></div>
255
+ <h3>Ancestors</h3>
256
+ <ul class="hlist">
257
+ <li>pydantic.v1.main.BaseModel</li>
258
+ <li>pydantic.v1.utils.Representation</li>
259
+ </ul>
260
+ <h3>Class variables</h3>
261
+ <dl>
262
+ <dt id="pyatv.settings.InfoSettings.device_id"><code class="name">var <span class="ident">device_id</span> -> str</code></dt>
263
+ <dd>
264
+ <section class="desc"></section>
265
+ </dd>
266
+ <dt id="pyatv.settings.InfoSettings.mac"><code class="name">var <span class="ident">mac</span> -> str</code></dt>
267
+ <dd>
268
+ <section class="desc"></section>
269
+ </dd>
270
+ <dt id="pyatv.settings.InfoSettings.model"><code class="name">var <span class="ident">model</span> -> str</code></dt>
271
+ <dd>
272
+ <section class="desc"></section>
273
+ </dd>
274
+ <dt id="pyatv.settings.InfoSettings.name"><code class="name">var <span class="ident">name</span> -> str</code></dt>
275
+ <dd>
276
+ <section class="desc"></section>
277
+ </dd>
278
+ <dt id="pyatv.settings.InfoSettings.os_build"><code class="name">var <span class="ident">os_build</span> -> str</code></dt>
279
+ <dd>
280
+ <section class="desc"></section>
281
+ </dd>
282
+ <dt id="pyatv.settings.InfoSettings.os_name"><code class="name">var <span class="ident">os_name</span> -> str</code></dt>
283
+ <dd>
284
+ <section class="desc"></section>
285
+ </dd>
286
+ <dt id="pyatv.settings.InfoSettings.os_version"><code class="name">var <span class="ident">os_version</span> -> str</code></dt>
287
+ <dd>
288
+ <section class="desc"></section>
289
+ </dd>
290
+ <dt id="pyatv.settings.InfoSettings.rp_id"><code class="name">var <span class="ident">rp_id</span> -> str | None</code></dt>
291
+ <dd>
292
+ <section class="desc"></section>
293
+ </dd>
294
+ </dl>
295
+ <h3>Static methods</h3>
296
+ <dl>
297
+ <dt id="pyatv.settings.InfoSettings.fill_missing_rp_id">
298
+ <code class="name flex">
299
+ <span>def <span class="ident">fill_missing_rp_id</span></span>(<span>v)</span>
300
+ </code>
301
+ </dt>
302
+ <dd>
303
+ <section class="desc"><p>Generate a new random rp_id if it is missing.</p></section>
304
+ </dd>
305
+ <dt id="pyatv.settings.InfoSettings.mac_validator">
306
+ <code class="name flex">
307
+ <span>def <span class="ident">mac_validator</span></span>(<span>mac: str) -> str</span>
308
+ </code>
309
+ </dt>
310
+ <dd>
311
+ <section class="desc"><p>Validate MAC address to be correct.</p></section>
312
+ </dd>
313
+ </dl>
314
+ </dd>
315
+ <dt id="pyatv.settings.MrpSettings"><code class="flex name class">
316
+ <span>class <span class="ident">MrpSettings</span></span>
317
+ <span>(</span><span>**data: Any)</span>
318
+ </code></dt>
319
+ <dd>
320
+ <section class="desc"><p>Settings related to MRP.</p>
321
+ <p>Create a new model by parsing and validating input data from keyword arguments.</p>
322
+ <p>Raises ValidationError if the input data cannot be parsed to form a valid model.</p></section>
323
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/settings.py#L131-L135" class="git-link">Browse git</a></div>
324
+ <h3>Ancestors</h3>
325
+ <ul class="hlist">
326
+ <li>pydantic.v1.main.BaseModel</li>
327
+ <li>pydantic.v1.utils.Representation</li>
328
+ </ul>
329
+ <h3>Class variables</h3>
330
+ <dl>
331
+ <dt id="pyatv.settings.MrpSettings.credentials"><code class="name">var <span class="ident">credentials</span> -> str | None</code></dt>
332
+ <dd>
333
+ <section class="desc"></section>
334
+ </dd>
335
+ <dt id="pyatv.settings.MrpSettings.identifier"><code class="name">var <span class="ident">identifier</span> -> str | None</code></dt>
336
+ <dd>
337
+ <section class="desc"></section>
338
+ </dd>
339
+ </dl>
340
+ </dd>
341
+ <dt id="pyatv.settings.MrpTunnel"><code class="flex name class">
342
+ <span>class <span class="ident">MrpTunnel</span></span>
343
+ <span>(</span><span>*args, **kwds)</span>
344
+ </code></dt>
345
+ <dd>
346
+ <section class="desc"><p>How MRP tunneling over AirPlay is handled.</p></section>
347
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/settings.py#L62-L72" class="git-link">Browse git</a></div>
348
+ <h3>Ancestors</h3>
349
+ <ul class="hlist">
350
+ <li>builtins.str</li>
351
+ <li>enum.Enum</li>
352
+ </ul>
353
+ <h3>Class variables</h3>
354
+ <dl>
355
+ <dt id="pyatv.settings.MrpTunnel.Auto"><code class="name">var <span class="ident">Auto</span> = auto</code></dt>
356
+ <dd>
357
+ <section class="desc"><p>Automatically set up MRP tunnel if supported by remote device.</p></section>
358
+ </dd>
359
+ <dt id="pyatv.settings.MrpTunnel.Disable"><code class="name">var <span class="ident">Disable</span> = disable</code></dt>
360
+ <dd>
361
+ <section class="desc"><p>Fully disable set up of MRP tunnel.</p></section>
362
+ </dd>
363
+ <dt id="pyatv.settings.MrpTunnel.Force"><code class="name">var <span class="ident">Force</span> = force</code></dt>
364
+ <dd>
365
+ <section class="desc"><p>Force set up of MRP tunnel even if remote device does not supports it.</p></section>
366
+ </dd>
367
+ </dl>
368
+ </dd>
369
+ <dt id="pyatv.settings.ProtocolSettings"><code class="flex name class">
370
+ <span>class <span class="ident">ProtocolSettings</span></span>
371
+ <span>(</span><span>**data: Any)</span>
372
+ </code></dt>
373
+ <dd>
374
+ <section class="desc"><p>Container for protocol specific settings.</p>
375
+ <p>Create a new model by parsing and validating input data from keyword arguments.</p>
376
+ <p>Raises ValidationError if the input data cannot be parsed to form a valid model.</p></section>
377
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/settings.py#L165-L172" class="git-link">Browse git</a></div>
378
+ <h3>Ancestors</h3>
379
+ <ul class="hlist">
380
+ <li>pydantic.v1.main.BaseModel</li>
381
+ <li>pydantic.v1.utils.Representation</li>
382
+ </ul>
383
+ <h3>Class variables</h3>
384
+ <dl>
385
+ <dt id="pyatv.settings.ProtocolSettings.airplay"><code class="name">var <span class="ident">airplay</span> -> <a title="pyatv.settings.AirPlaySettings" href="#pyatv.settings.AirPlaySettings">AirPlaySettings</a></code></dt>
386
+ <dd>
387
+ <section class="desc"></section>
388
+ </dd>
389
+ <dt id="pyatv.settings.ProtocolSettings.companion"><code class="name">var <span class="ident">companion</span> -> <a title="pyatv.settings.CompanionSettings" href="#pyatv.settings.CompanionSettings">CompanionSettings</a></code></dt>
390
+ <dd>
391
+ <section class="desc"></section>
392
+ </dd>
393
+ <dt id="pyatv.settings.ProtocolSettings.dmap"><code class="name">var <span class="ident">dmap</span> -> <a title="pyatv.settings.DmapSettings" href="#pyatv.settings.DmapSettings">DmapSettings</a></code></dt>
394
+ <dd>
395
+ <section class="desc"></section>
396
+ </dd>
397
+ <dt id="pyatv.settings.ProtocolSettings.mrp"><code class="name">var <span class="ident">mrp</span> -> <a title="pyatv.settings.MrpSettings" href="#pyatv.settings.MrpSettings">MrpSettings</a></code></dt>
398
+ <dd>
399
+ <section class="desc"></section>
400
+ </dd>
401
+ <dt id="pyatv.settings.ProtocolSettings.raop"><code class="name">var <span class="ident">raop</span> -> <a title="pyatv.settings.RaopSettings" href="#pyatv.settings.RaopSettings">RaopSettings</a></code></dt>
402
+ <dd>
403
+ <section class="desc"></section>
404
+ </dd>
405
+ </dl>
406
+ </dd>
407
+ <dt id="pyatv.settings.RaopSettings"><code class="flex name class">
408
+ <span>class <span class="ident">RaopSettings</span></span>
409
+ <span>(</span><span>**data: Any)</span>
410
+ </code></dt>
411
+ <dd>
412
+ <section class="desc"><p>Settings related to RAOP.</p>
413
+ <p>Create a new model by parsing and validating input data from keyword arguments.</p>
414
+ <p>Raises ValidationError if the input data cannot be parsed to form a valid model.</p></section>
415
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/settings.py#L138-L162" class="git-link">Browse git</a></div>
416
+ <h3>Ancestors</h3>
417
+ <ul class="hlist">
418
+ <li>pydantic.v1.main.BaseModel</li>
419
+ <li>pydantic.v1.utils.Representation</li>
420
+ </ul>
421
+ <h3>Class variables</h3>
422
+ <dl>
423
+ <dt id="pyatv.settings.RaopSettings.control_port"><code class="name">var <span class="ident">control_port</span> -> int</code></dt>
424
+ <dd>
425
+ <section class="desc"><p>Server side (UDP) port used by control server.</p>
426
+ <p>Set to 0 to use random free port.</p></section>
427
+ </dd>
428
+ <dt id="pyatv.settings.RaopSettings.credentials"><code class="name">var <span class="ident">credentials</span> -> str | None</code></dt>
429
+ <dd>
430
+ <section class="desc"></section>
431
+ </dd>
432
+ <dt id="pyatv.settings.RaopSettings.identifier"><code class="name">var <span class="ident">identifier</span> -> str | None</code></dt>
433
+ <dd>
434
+ <section class="desc"></section>
435
+ </dd>
436
+ <dt id="pyatv.settings.RaopSettings.password"><code class="name">var <span class="ident">password</span> -> str | None</code></dt>
437
+ <dd>
438
+ <section class="desc"></section>
439
+ </dd>
440
+ <dt id="pyatv.settings.RaopSettings.protocol_version"><code class="name">var <span class="ident">protocol_version</span> -> <a title="pyatv.settings.AirPlayVersion" href="#pyatv.settings.AirPlayVersion">AirPlayVersion</a></code></dt>
441
+ <dd>
442
+ <section class="desc"><p>Protocol version used.</p>
443
+ <p>In reality this corresponds to the AirPlay version used. Set to 0 for automatic
444
+ mode (recommended), or 1 or 2 for AirPlay 1 or 2 respectively.</p></section>
445
+ </dd>
446
+ <dt id="pyatv.settings.RaopSettings.timing_port"><code class="name">var <span class="ident">timing_port</span> -> int</code></dt>
447
+ <dd>
448
+ <section class="desc"><p>Server side (UDP) port used by timing server.</p>
449
+ <p>Set to 0 to use random free port.</p></section>
450
+ </dd>
451
+ </dl>
452
+ </dd>
453
+ <dt id="pyatv.settings.Settings"><code class="flex name class">
454
+ <span>class <span class="ident">Settings</span></span>
455
+ <span>(</span><span>**data: Any)</span>
456
+ </code></dt>
457
+ <dd>
458
+ <section class="desc"><p>Settings container class.</p>
459
+ <p>Create a new model by parsing and validating input data from keyword arguments.</p>
460
+ <p>Raises ValidationError if the input data cannot be parsed to form a valid model.</p></section>
461
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/settings.py#L175-L179" class="git-link">Browse git</a></div>
462
+ <h3>Ancestors</h3>
463
+ <ul class="hlist">
464
+ <li>pydantic.v1.main.BaseModel</li>
465
+ <li>pydantic.v1.utils.Representation</li>
466
+ </ul>
467
+ <h3>Class variables</h3>
468
+ <dl>
469
+ <dt id="pyatv.settings.Settings.info"><code class="name">var <span class="ident">info</span> -> <a title="pyatv.settings.InfoSettings" href="#pyatv.settings.InfoSettings">InfoSettings</a></code></dt>
470
+ <dd>
471
+ <section class="desc"></section>
472
+ </dd>
473
+ <dt id="pyatv.settings.Settings.protocols"><code class="name">var <span class="ident">protocols</span> -> <a title="pyatv.settings.ProtocolSettings" href="#pyatv.settings.ProtocolSettings">ProtocolSettings</a></code></dt>
474
+ <dd>
475
+ <section class="desc"></section>
476
+ </dd>
477
+ </dl>
478
+ </dd>
479
+ </dl>
480
+ </section>
481
+ </article>
482
+ <footer id="footer">
483
+ <p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite>.</p>
484
+ </footer>
@@ -0,0 +1,102 @@
1
+ ---
2
+ layout: template
3
+ title: API - pyatv.storage.file_storage
4
+ permalink: /api/storage/file_storage/
5
+ link_group: api
6
+ ---
7
+ <nav id="sidebar">
8
+ <h1>Index</h1>
9
+ <div class="toc">
10
+ <ul></ul>
11
+ </div>
12
+ This module has additional documentation
13
+ <a title="test" href=/development/storage>here</a>.
14
+ <ul id="index">
15
+ <li><h3>Super-module</h3>
16
+ <ul>
17
+ <li><code><a title="pyatv.storage" href="..">pyatv.storage</a></code></li>
18
+ </ul>
19
+ </li>
20
+ <li><h3><a href="#header-classes">Classes</a></h3>
21
+ <ul>
22
+ <li>
23
+ <h4><code><a title="pyatv.storage.file_storage.FileStorage" href="#pyatv.storage.file_storage.FileStorage">FileStorage</a></code></h4>
24
+ <ul class="">
25
+ <li><code><a title="pyatv.storage.file_storage.FileStorage.default_storage" href="#pyatv.storage.file_storage.FileStorage.default_storage">default_storage</a></code></li>
26
+ </ul>
27
+ </li>
28
+ </ul>
29
+ </li>
30
+ </ul>
31
+ </nav>
32
+ <article id="content">
33
+ <header>
34
+ <h1 class="title">Module <code>pyatv.storage.file_storage</code></h1>
35
+ </header>
36
+ <section id="section-intro">
37
+ <p>File based storage module.</p>
38
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/storage/file_storage.py#L1-L70" class="git-link">Browse git</a></div>
39
+ </section>
40
+ <section>
41
+ </section>
42
+ <section>
43
+ </section>
44
+ <section>
45
+ </section>
46
+ <section>
47
+ <h2 class="section-title" id="header-classes">Classes</h2>
48
+ <dl>
49
+ <dt id="pyatv.storage.file_storage.FileStorage"><code class="flex name class">
50
+ <span>class <span class="ident">FileStorage</span></span>
51
+ <span>(</span><span>filename: str, loop: asyncio.events.AbstractEventLoop)</span>
52
+ </code></dt>
53
+ <dd>
54
+ <section class="desc"><p>Storage module storing settings in a file.</p>
55
+ <p>Initialize a new FileStorage instance.</p></section>
56
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/storage/file_storage.py#L16-L70" class="git-link">Browse git</a></div>
57
+ <h3>Ancestors</h3>
58
+ <ul class="hlist">
59
+ <li><a title="pyatv.storage.AbstractStorage" href="#pyatv.storage.AbstractStorage">AbstractStorage</a></li>
60
+ <li><a title="pyatv.interface.Storage" href="../../interface#pyatv.interface.Storage">Storage</a></li>
61
+ <li>abc.ABC</li>
62
+ </ul>
63
+ <h3>Static methods</h3>
64
+ <dl>
65
+ <dt id="pyatv.storage.file_storage.FileStorage.default_storage">
66
+ <code class="name flex">
67
+ <span>def <span class="ident">default_storage</span></span>(<span>loop: asyncio.events.AbstractEventLoop) -> <a title="pyatv.storage.file_storage.FileStorage" href="#pyatv.storage.file_storage.FileStorage">FileStorage</a></span>
68
+ </code>
69
+ </dt>
70
+ <dd>
71
+ <section class="desc"><p>Return file storage with default path.</p>
72
+ <p>This corresponds to the default file storage path that pyatv uses internally,
73
+ e.g. in atvremote. Use this if you want to hook into that storage in your own
74
+ applications.</p>
75
+ <p>The path used for this file is $HOME/.pyatv.conf (C:\Users\<user>.pyatv.conf
76
+ on Windows).</p></section>
77
+ <div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/storage/file_storage.py#L25-L36" class="git-link">Browse git</a></div>
78
+ </dd>
79
+ </dl>
80
+ <h3>Inherited members</h3>
81
+ <ul class="hlist">
82
+ <li><code><b><a title="pyatv.storage.AbstractStorage" href="#pyatv.storage.AbstractStorage">AbstractStorage</a></b></code>:
83
+ <ul class="hlist">
84
+ <li><code><a title="pyatv.storage.AbstractStorage.get_settings" href="#pyatv.storage.AbstractStorage.get_settings">get_settings</a></code></li>
85
+ <li><code><a title="pyatv.storage.AbstractStorage.has_changed" href="#pyatv.storage.AbstractStorage.has_changed">has_changed</a></code></li>
86
+ <li><code><a title="pyatv.storage.AbstractStorage.load" href="../../interface#pyatv.interface.Storage.load">load</a></code></li>
87
+ <li><code><a title="pyatv.storage.AbstractStorage.remove_settings" href="../../interface#pyatv.interface.Storage.remove_settings">remove_settings</a></code></li>
88
+ <li><code><a title="pyatv.storage.AbstractStorage.save" href="../../interface#pyatv.interface.Storage.save">save</a></code></li>
89
+ <li><code><a title="pyatv.storage.AbstractStorage.settings" href="../../interface#pyatv.interface.Storage.settings">settings</a></code></li>
90
+ <li><code><a title="pyatv.storage.AbstractStorage.storage_model" href="#pyatv.storage.AbstractStorage.storage_model">storage_model</a></code></li>
91
+ <li><code><a title="pyatv.storage.AbstractStorage.update_hash" href="#pyatv.storage.AbstractStorage.update_hash">update_hash</a></code></li>
92
+ <li><code><a title="pyatv.storage.AbstractStorage.update_settings" href="../../interface#pyatv.interface.Storage.update_settings">update_settings</a></code></li>
93
+ </ul>
94
+ </li>
95
+ </ul>
96
+ </dd>
97
+ </dl>
98
+ </section>
99
+ </article>
100
+ <footer id="footer">
101
+ <p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite>.</p>
102
+ </footer>