PyChromecast 13.1.0__tar.gz → 14.0.1__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.
- {PyChromecast-13.1.0/PyChromecast.egg-info → PyChromecast-14.0.1}/PKG-INFO +26 -12
- PyChromecast-13.1.0/README.rst → PyChromecast-14.0.1/PyChromecast.egg-info/PKG-INFO +38 -4
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/PyChromecast.egg-info/SOURCES.txt +9 -5
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/PyChromecast.egg-info/requires.txt +1 -1
- PyChromecast-13.1.0/PKG-INFO → PyChromecast-14.0.1/README.rst +21 -24
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/__init__.py +148 -86
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/config.py +9 -4
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/const.py +6 -2
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/controllers/__init__.py +94 -43
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/controllers/bbciplayer.py +14 -4
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/controllers/bbcsounds.py +14 -3
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/controllers/bubbleupnp.py +2 -2
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/controllers/dashcast.py +24 -6
- PyChromecast-14.0.1/pychromecast/controllers/homeassistant.py +225 -0
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/controllers/homeassistant_media.py +1 -1
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/controllers/media.py +211 -185
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/controllers/multizone.py +135 -91
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/controllers/nrkradio.py +2 -1
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/controllers/nrktv.py +2 -1
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/controllers/plex.py +151 -88
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/controllers/receiver.py +131 -60
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/controllers/shaka.py +1 -1
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/controllers/supla.py +22 -16
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/controllers/yleareena.py +26 -24
- PyChromecast-14.0.1/pychromecast/controllers/youtube.py +184 -0
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/dial.py +85 -60
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/discovery.py +157 -91
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/error.py +22 -16
- PyChromecast-14.0.1/pychromecast/generated/authority_keys_pb2.py +29 -0
- PyChromecast-14.0.1/pychromecast/generated/authority_keys_pb2.pyi +19 -0
- PyChromecast-14.0.1/pychromecast/generated/cast_channel_pb2.py +45 -0
- PyChromecast-14.0.1/pychromecast/generated/cast_channel_pb2.pyi +103 -0
- {PyChromecast-13.1.0/pychromecast → PyChromecast-14.0.1/pychromecast/generated}/logging_pb2.py +29 -161
- PyChromecast-14.0.1/pychromecast/generated/logging_pb2.pyi +267 -0
- PyChromecast-14.0.1/pychromecast/generated/readme.txt +2 -0
- PyChromecast-14.0.1/pychromecast/models.py +45 -0
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/quick_play.py +12 -2
- PyChromecast-14.0.1/pychromecast/response_handler.py +73 -0
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/pychromecast/socket_client.py +203 -196
- PyChromecast-14.0.1/pyproject.toml +48 -0
- PyChromecast-14.0.1/requirements.txt +3 -0
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/setup.cfg +3 -1
- PyChromecast-13.1.0/pychromecast/authority_keys_pb2.py +0 -46
- PyChromecast-13.1.0/pychromecast/cast_channel_pb2.py +0 -98
- PyChromecast-13.1.0/pychromecast/controllers/homeassistant.py +0 -150
- PyChromecast-13.1.0/pychromecast/controllers/youtube.py +0 -114
- PyChromecast-13.1.0/pychromecast/models.py +0 -27
- PyChromecast-13.1.0/pyproject.toml +0 -2
- PyChromecast-13.1.0/requirements.txt +0 -3
- PyChromecast-13.1.0/setup.py +0 -28
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/LICENSE +0 -0
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/MANIFEST.in +0 -0
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/PyChromecast.egg-info/dependency_links.txt +0 -0
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/PyChromecast.egg-info/not-zip-safe +0 -0
- {PyChromecast-13.1.0 → PyChromecast-14.0.1}/PyChromecast.egg-info/top_level.txt +0 -0
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PyChromecast
|
|
3
|
-
Version:
|
|
3
|
+
Version: 14.0.1
|
|
4
4
|
Summary: Python module to talk to Google Chromecast.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Author-email: paulus@paulusschoutsen.nl
|
|
8
|
-
License: MIT
|
|
5
|
+
Author-email: Paulus Schoutsen <paulus@paulusschoutsen.nl>
|
|
6
|
+
Project-URL: Homepage, https://github.com/home-assistant-libs/pychromecast
|
|
9
7
|
Platform: any
|
|
10
8
|
Classifier: Intended Audience :: Developers
|
|
11
9
|
Classifier: License :: OSI Approved :: MIT License
|
|
@@ -13,10 +11,9 @@ Classifier: Operating System :: OS Independent
|
|
|
13
11
|
Classifier: Programming Language :: Python
|
|
14
12
|
Classifier: Programming Language :: Python :: 3
|
|
15
13
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
14
|
+
Requires-Python: >=3.11.0
|
|
15
|
+
Description-Content-Type: text/x-rst
|
|
16
16
|
License-File: LICENSE
|
|
17
|
-
Requires-Dist: protobuf>=3.19.1
|
|
18
|
-
Requires-Dist: zeroconf>=0.25.1
|
|
19
|
-
Requires-Dist: casttube>=0.2.0
|
|
20
17
|
|
|
21
18
|
pychromecast |Build Status|
|
|
22
19
|
===========================
|
|
@@ -24,7 +21,7 @@ pychromecast |Build Status|
|
|
|
24
21
|
.. |Build Status| image:: https://travis-ci.org/balloob/pychromecast.svg?branch=master
|
|
25
22
|
:target: https://travis-ci.org/balloob/pychromecast
|
|
26
23
|
|
|
27
|
-
Library for Python 3.
|
|
24
|
+
Library for Python 3.11+ to communicate with the Google Chromecast. It
|
|
28
25
|
currently supports:
|
|
29
26
|
|
|
30
27
|
- Auto discovering connected Chromecasts on the network
|
|
@@ -67,6 +64,16 @@ How to use
|
|
|
67
64
|
>> [cc.cast_info.friendly_name for cc in chromecasts]
|
|
68
65
|
['Living Room']
|
|
69
66
|
|
|
67
|
+
>> # Discover and connect to more than one device
|
|
68
|
+
>> chromecasts, browser = pychromecast.get_listed_chromecasts(friendly_names=["Living Room","Bed Room","Kitchen"])
|
|
69
|
+
>> [cc.device.friendly_name for cc in chromecasts]
|
|
70
|
+
["Living Room","Bed Room","Kitchen"]
|
|
71
|
+
|
|
72
|
+
>> # If you are seeing less devices get discovered than expected add the below parameter. You can lessen or extend the timeout as needed.
|
|
73
|
+
>> chromecasts, browser = pychromecast.get_listed_chromecasts(friendly_names=["Living Room","Bed Room","Kitchen"],discovery_timeout=30)
|
|
74
|
+
>> [cc.device.friendly_name for cc in chromecasts]
|
|
75
|
+
["Living Room","Bed Room","Kitchen"]
|
|
76
|
+
|
|
70
77
|
>> cast = chromecasts[0]
|
|
71
78
|
>> # Start worker thread and wait for cast device to be ready
|
|
72
79
|
>> cast.wait()
|
|
@@ -167,6 +174,16 @@ to the IGNORE\_CEC list in PyChromecast like in the example below.
|
|
|
167
174
|
pychromecast.IGNORE_CEC.append('*') # Ignore CEC on all devices
|
|
168
175
|
pychromecast.IGNORE_CEC.append('Living Room') # Ignore CEC on Chromecasts named Living Room
|
|
169
176
|
|
|
177
|
+
Networking requirements
|
|
178
|
+
-----------------------
|
|
179
|
+
Pychromecast relies on mDNS to discover cast devices. The mDNS protocol relies on multicast UDP on port 5353 which comes with several implications for discovery to work:
|
|
180
|
+
|
|
181
|
+
- Multicast UDP must be forwarded by WiFI routers; some WiFi routers are known to drop multicast UDP traffic.
|
|
182
|
+
- The device running pychromecast must allow both inbound and outbound traffic on port 5353.
|
|
183
|
+
- The device running pychromecast must be on the same subnet as the cast devices because mDNS packets are not routed across subnets.
|
|
184
|
+
|
|
185
|
+
If not all of these conditions are met, discovery will not work. In cases where these conditions are impossible to meet, it's possible to pass a list of known IP-addresses or host names to the discovery functions.
|
|
186
|
+
|
|
170
187
|
Thanks
|
|
171
188
|
------
|
|
172
189
|
|
|
@@ -174,7 +191,4 @@ I would like to thank `Fred Clift`_ for laying the socket client ground
|
|
|
174
191
|
work. Without him it would not have been possible!
|
|
175
192
|
|
|
176
193
|
.. _Linux style wildcard: http://tldp.org/LDP/GNU-Linux-Tools-Summary/html/x11655.htm
|
|
177
|
-
.. _@am0s: https://github.com/am0s
|
|
178
|
-
.. _@rmkraus: https://github.com/rmkraus
|
|
179
|
-
.. _@balloob: https://github.com/balloob
|
|
180
194
|
.. _Fred Clift: https://github.com/minektur
|
|
@@ -1,10 +1,27 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: PyChromecast
|
|
3
|
+
Version: 14.0.1
|
|
4
|
+
Summary: Python module to talk to Google Chromecast.
|
|
5
|
+
Author-email: Paulus Schoutsen <paulus@paulusschoutsen.nl>
|
|
6
|
+
Project-URL: Homepage, https://github.com/home-assistant-libs/pychromecast
|
|
7
|
+
Platform: any
|
|
8
|
+
Classifier: Intended Audience :: Developers
|
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Programming Language :: Python
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
14
|
+
Requires-Python: >=3.11.0
|
|
15
|
+
Description-Content-Type: text/x-rst
|
|
16
|
+
License-File: LICENSE
|
|
17
|
+
|
|
1
18
|
pychromecast |Build Status|
|
|
2
19
|
===========================
|
|
3
20
|
|
|
4
21
|
.. |Build Status| image:: https://travis-ci.org/balloob/pychromecast.svg?branch=master
|
|
5
22
|
:target: https://travis-ci.org/balloob/pychromecast
|
|
6
23
|
|
|
7
|
-
Library for Python 3.
|
|
24
|
+
Library for Python 3.11+ to communicate with the Google Chromecast. It
|
|
8
25
|
currently supports:
|
|
9
26
|
|
|
10
27
|
- Auto discovering connected Chromecasts on the network
|
|
@@ -47,6 +64,16 @@ How to use
|
|
|
47
64
|
>> [cc.cast_info.friendly_name for cc in chromecasts]
|
|
48
65
|
['Living Room']
|
|
49
66
|
|
|
67
|
+
>> # Discover and connect to more than one device
|
|
68
|
+
>> chromecasts, browser = pychromecast.get_listed_chromecasts(friendly_names=["Living Room","Bed Room","Kitchen"])
|
|
69
|
+
>> [cc.device.friendly_name for cc in chromecasts]
|
|
70
|
+
["Living Room","Bed Room","Kitchen"]
|
|
71
|
+
|
|
72
|
+
>> # If you are seeing less devices get discovered than expected add the below parameter. You can lessen or extend the timeout as needed.
|
|
73
|
+
>> chromecasts, browser = pychromecast.get_listed_chromecasts(friendly_names=["Living Room","Bed Room","Kitchen"],discovery_timeout=30)
|
|
74
|
+
>> [cc.device.friendly_name for cc in chromecasts]
|
|
75
|
+
["Living Room","Bed Room","Kitchen"]
|
|
76
|
+
|
|
50
77
|
>> cast = chromecasts[0]
|
|
51
78
|
>> # Start worker thread and wait for cast device to be ready
|
|
52
79
|
>> cast.wait()
|
|
@@ -147,6 +174,16 @@ to the IGNORE\_CEC list in PyChromecast like in the example below.
|
|
|
147
174
|
pychromecast.IGNORE_CEC.append('*') # Ignore CEC on all devices
|
|
148
175
|
pychromecast.IGNORE_CEC.append('Living Room') # Ignore CEC on Chromecasts named Living Room
|
|
149
176
|
|
|
177
|
+
Networking requirements
|
|
178
|
+
-----------------------
|
|
179
|
+
Pychromecast relies on mDNS to discover cast devices. The mDNS protocol relies on multicast UDP on port 5353 which comes with several implications for discovery to work:
|
|
180
|
+
|
|
181
|
+
- Multicast UDP must be forwarded by WiFI routers; some WiFi routers are known to drop multicast UDP traffic.
|
|
182
|
+
- The device running pychromecast must allow both inbound and outbound traffic on port 5353.
|
|
183
|
+
- The device running pychromecast must be on the same subnet as the cast devices because mDNS packets are not routed across subnets.
|
|
184
|
+
|
|
185
|
+
If not all of these conditions are met, discovery will not work. In cases where these conditions are impossible to meet, it's possible to pass a list of known IP-addresses or host names to the discovery functions.
|
|
186
|
+
|
|
150
187
|
Thanks
|
|
151
188
|
------
|
|
152
189
|
|
|
@@ -154,7 +191,4 @@ I would like to thank `Fred Clift`_ for laying the socket client ground
|
|
|
154
191
|
work. Without him it would not have been possible!
|
|
155
192
|
|
|
156
193
|
.. _Linux style wildcard: http://tldp.org/LDP/GNU-Linux-Tools-Summary/html/x11655.htm
|
|
157
|
-
.. _@am0s: https://github.com/am0s
|
|
158
|
-
.. _@rmkraus: https://github.com/rmkraus
|
|
159
|
-
.. _@balloob: https://github.com/balloob
|
|
160
194
|
.. _Fred Clift: https://github.com/minektur
|
|
@@ -4,7 +4,6 @@ README.rst
|
|
|
4
4
|
pyproject.toml
|
|
5
5
|
requirements.txt
|
|
6
6
|
setup.cfg
|
|
7
|
-
setup.py
|
|
8
7
|
PyChromecast.egg-info/PKG-INFO
|
|
9
8
|
PyChromecast.egg-info/SOURCES.txt
|
|
10
9
|
PyChromecast.egg-info/dependency_links.txt
|
|
@@ -12,16 +11,14 @@ PyChromecast.egg-info/not-zip-safe
|
|
|
12
11
|
PyChromecast.egg-info/requires.txt
|
|
13
12
|
PyChromecast.egg-info/top_level.txt
|
|
14
13
|
pychromecast/__init__.py
|
|
15
|
-
pychromecast/authority_keys_pb2.py
|
|
16
|
-
pychromecast/cast_channel_pb2.py
|
|
17
14
|
pychromecast/config.py
|
|
18
15
|
pychromecast/const.py
|
|
19
16
|
pychromecast/dial.py
|
|
20
17
|
pychromecast/discovery.py
|
|
21
18
|
pychromecast/error.py
|
|
22
|
-
pychromecast/logging_pb2.py
|
|
23
19
|
pychromecast/models.py
|
|
24
20
|
pychromecast/quick_play.py
|
|
21
|
+
pychromecast/response_handler.py
|
|
25
22
|
pychromecast/socket_client.py
|
|
26
23
|
pychromecast/controllers/__init__.py
|
|
27
24
|
pychromecast/controllers/bbciplayer.py
|
|
@@ -39,4 +36,11 @@ pychromecast/controllers/receiver.py
|
|
|
39
36
|
pychromecast/controllers/shaka.py
|
|
40
37
|
pychromecast/controllers/supla.py
|
|
41
38
|
pychromecast/controllers/yleareena.py
|
|
42
|
-
pychromecast/controllers/youtube.py
|
|
39
|
+
pychromecast/controllers/youtube.py
|
|
40
|
+
pychromecast/generated/authority_keys_pb2.py
|
|
41
|
+
pychromecast/generated/authority_keys_pb2.pyi
|
|
42
|
+
pychromecast/generated/cast_channel_pb2.py
|
|
43
|
+
pychromecast/generated/cast_channel_pb2.pyi
|
|
44
|
+
pychromecast/generated/logging_pb2.py
|
|
45
|
+
pychromecast/generated/logging_pb2.pyi
|
|
46
|
+
pychromecast/generated/readme.txt
|
|
@@ -1,30 +1,10 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: PyChromecast
|
|
3
|
-
Version: 13.1.0
|
|
4
|
-
Summary: Python module to talk to Google Chromecast.
|
|
5
|
-
Home-page: https://github.com/balloob/pychromecast
|
|
6
|
-
Author: Paulus Schoutsen
|
|
7
|
-
Author-email: paulus@paulusschoutsen.nl
|
|
8
|
-
License: MIT
|
|
9
|
-
Platform: any
|
|
10
|
-
Classifier: Intended Audience :: Developers
|
|
11
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
12
|
-
Classifier: Operating System :: OS Independent
|
|
13
|
-
Classifier: Programming Language :: Python
|
|
14
|
-
Classifier: Programming Language :: Python :: 3
|
|
15
|
-
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
16
|
-
License-File: LICENSE
|
|
17
|
-
Requires-Dist: protobuf>=3.19.1
|
|
18
|
-
Requires-Dist: zeroconf>=0.25.1
|
|
19
|
-
Requires-Dist: casttube>=0.2.0
|
|
20
|
-
|
|
21
1
|
pychromecast |Build Status|
|
|
22
2
|
===========================
|
|
23
3
|
|
|
24
4
|
.. |Build Status| image:: https://travis-ci.org/balloob/pychromecast.svg?branch=master
|
|
25
5
|
:target: https://travis-ci.org/balloob/pychromecast
|
|
26
6
|
|
|
27
|
-
Library for Python 3.
|
|
7
|
+
Library for Python 3.11+ to communicate with the Google Chromecast. It
|
|
28
8
|
currently supports:
|
|
29
9
|
|
|
30
10
|
- Auto discovering connected Chromecasts on the network
|
|
@@ -67,6 +47,16 @@ How to use
|
|
|
67
47
|
>> [cc.cast_info.friendly_name for cc in chromecasts]
|
|
68
48
|
['Living Room']
|
|
69
49
|
|
|
50
|
+
>> # Discover and connect to more than one device
|
|
51
|
+
>> chromecasts, browser = pychromecast.get_listed_chromecasts(friendly_names=["Living Room","Bed Room","Kitchen"])
|
|
52
|
+
>> [cc.device.friendly_name for cc in chromecasts]
|
|
53
|
+
["Living Room","Bed Room","Kitchen"]
|
|
54
|
+
|
|
55
|
+
>> # If you are seeing less devices get discovered than expected add the below parameter. You can lessen or extend the timeout as needed.
|
|
56
|
+
>> chromecasts, browser = pychromecast.get_listed_chromecasts(friendly_names=["Living Room","Bed Room","Kitchen"],discovery_timeout=30)
|
|
57
|
+
>> [cc.device.friendly_name for cc in chromecasts]
|
|
58
|
+
["Living Room","Bed Room","Kitchen"]
|
|
59
|
+
|
|
70
60
|
>> cast = chromecasts[0]
|
|
71
61
|
>> # Start worker thread and wait for cast device to be ready
|
|
72
62
|
>> cast.wait()
|
|
@@ -167,6 +157,16 @@ to the IGNORE\_CEC list in PyChromecast like in the example below.
|
|
|
167
157
|
pychromecast.IGNORE_CEC.append('*') # Ignore CEC on all devices
|
|
168
158
|
pychromecast.IGNORE_CEC.append('Living Room') # Ignore CEC on Chromecasts named Living Room
|
|
169
159
|
|
|
160
|
+
Networking requirements
|
|
161
|
+
-----------------------
|
|
162
|
+
Pychromecast relies on mDNS to discover cast devices. The mDNS protocol relies on multicast UDP on port 5353 which comes with several implications for discovery to work:
|
|
163
|
+
|
|
164
|
+
- Multicast UDP must be forwarded by WiFI routers; some WiFi routers are known to drop multicast UDP traffic.
|
|
165
|
+
- The device running pychromecast must allow both inbound and outbound traffic on port 5353.
|
|
166
|
+
- The device running pychromecast must be on the same subnet as the cast devices because mDNS packets are not routed across subnets.
|
|
167
|
+
|
|
168
|
+
If not all of these conditions are met, discovery will not work. In cases where these conditions are impossible to meet, it's possible to pass a list of known IP-addresses or host names to the discovery functions.
|
|
169
|
+
|
|
170
170
|
Thanks
|
|
171
171
|
------
|
|
172
172
|
|
|
@@ -174,7 +174,4 @@ I would like to thank `Fred Clift`_ for laying the socket client ground
|
|
|
174
174
|
work. Without him it would not have been possible!
|
|
175
175
|
|
|
176
176
|
.. _Linux style wildcard: http://tldp.org/LDP/GNU-Linux-Tools-Summary/html/x11655.htm
|
|
177
|
-
.. _@am0s: https://github.com/am0s
|
|
178
|
-
.. _@rmkraus: https://github.com/rmkraus
|
|
179
|
-
.. _@balloob: https://github.com/balloob
|
|
180
177
|
.. _Fred Clift: https://github.com/minektur
|