HAP-python 4.9.2__py3-none-any.whl → 5.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,38 +1,38 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: HAP-python
3
- Version: 4.9.2
3
+ Version: 5.0.0
4
4
  Summary: HomeKit Accessory Protocol implementation in python
5
- Home-page: https://github.com/ikalchev/HAP-python
6
- License: Apache License 2.0
5
+ Author: Ivan Kalchev
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Source, https://github.com/ikalchev/HAP-python
7
8
  Project-URL: Bug Reports, https://github.com/ikalchev/HAP-python/issues
8
9
  Project-URL: Documentation, http://hap-python.readthedocs.io/en/latest/
9
- Project-URL: Source, https://github.com/ikalchev/HAP-python/tree/master
10
10
  Classifier: Development Status :: 5 - Production/Stable
11
11
  Classifier: Intended Audience :: Developers
12
12
  Classifier: Intended Audience :: End Users/Desktop
13
- Classifier: License :: OSI Approved :: Apache Software License
14
13
  Classifier: Natural Language :: English
15
14
  Classifier: Operating System :: OS Independent
16
- Classifier: Programming Language :: Python :: 3.5
17
- Classifier: Programming Language :: Python :: 3.6
18
- Classifier: Programming Language :: Python :: 3.7
19
- Classifier: Programming Language :: Python :: 3.8
20
15
  Classifier: Programming Language :: Python :: 3.9
21
16
  Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
22
20
  Classifier: Topic :: Home Automation
23
21
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
24
- Requires-Python: >=3.7
22
+ Requires-Python: >=3.9
25
23
  Description-Content-Type: text/markdown
26
24
  License-File: LICENSE
27
- Requires-Dist: async-timeout
25
+ License-File: AUTHORS
26
+ Requires-Dist: async_timeout; python_version < "3.11"
28
27
  Requires-Dist: cryptography
29
28
  Requires-Dist: chacha20poly1305-reuseable
30
- Requires-Dist: orjson >=3.7.2
31
- Requires-Dist: zeroconf >=0.36.2
29
+ Requires-Dist: orjson>=3.7.2
30
+ Requires-Dist: zeroconf>=0.36.2
32
31
  Requires-Dist: h11
33
32
  Provides-Extra: qrcode
34
- Requires-Dist: base36 ; extra == 'qrcode'
35
- Requires-Dist: pyqrcode ; extra == 'qrcode'
33
+ Requires-Dist: base36; extra == "qrcode"
34
+ Requires-Dist: pyqrcode; extra == "qrcode"
35
+ Dynamic: license-file
36
36
 
37
37
  [![PyPI version](https://badge.fury.io/py/HAP-python.svg)](https://badge.fury.io/py/HAP-python) [![Build Status](https://github.com/ikalchev/HAP-python/workflows/CI/badge.svg)](https://github.com/ikalchev/HAP-python) [![codecov](https://codecov.io/gh/ikalchev/HAP-python/branch/master/graph/badge.svg)](https://codecov.io/gh/ikalchev/HAP-python) [![Python Versions](https://img.shields.io/pypi/pyversions/HAP-python.svg)](https://pypi.python.org/pypi/HAP-python/) [![Documentation Status](https://readthedocs.org/projects/hap-python/badge/?version=latest)](http://hap-python.readthedocs.io/en/latest/?badge=latest) [![Downloads](https://pepy.tech/badge/hap-python)](https://pepy.tech/project/hap-python)
38
38
  # HAP-python
@@ -0,0 +1,29 @@
1
+ hap_python-5.0.0.dist-info/licenses/AUTHORS,sha256=4HH52IALsP6sVCPC5ubq2JFZLkrNs5CB5C2sv5hIck8,146
2
+ hap_python-5.0.0.dist-info/licenses/LICENSE,sha256=LrTeF25wlyXctZssWXE96vBTnfNTOLqUwUOjM9bEgz4,12247
3
+ pyhap/__init__.py,sha256=m6_RifBB16HaM9isxKRg-JCOg2ro6ZDkrcEDzWMj_J4,497
4
+ pyhap/accessory.py,sha256=CA0C_jCZzv19uFQ6Wl3ySp54bcYQwjnKHbhKJiZUoGQ,14504
5
+ pyhap/accessory_driver.py,sha256=jYImYtUW93DANLB2mf7eKZhrI0KvQ1U4EKOW_biX8kA,37328
6
+ pyhap/camera.py,sha256=MEuNbI9QQ6wpr2iviPWkDZMKdYOidCDM7nSLNRoXzB4,35186
7
+ pyhap/characteristic.py,sha256=zpdPrP8NVNtzRA-u7fdmlfGXdp9knWbQumQftacy7hk,15996
8
+ pyhap/const.py,sha256=kA4yRbTABQdQwjfTGyL24kTR1UuTyEnXZCX-VAeWLCg,2711
9
+ pyhap/encoder.py,sha256=yUkzprPbpukqqdfoDvPO8r2YYmCcXRdEXtqTFyzzguY,4929
10
+ pyhap/hap_crypto.py,sha256=-jDQFaXjKl1VBsdC1Iuy8NrZ2rL7ZmzyuHKuuKayoCs,4341
11
+ pyhap/hap_event.py,sha256=iIF5rfzT-GlpYWFMLwc9FCSJ7E9m7GNm-nCjyKOyGpc,613
12
+ pyhap/hap_handler.py,sha256=azWHVx_Ex5MY-LRsG3KGcqMzQBZrp1SZ7JbxavOlOSI,31427
13
+ pyhap/hap_protocol.py,sha256=hZdhsn73G0pR0fxzgcOgsTIjj02BqMGIR892yU8Inpo,11726
14
+ pyhap/hap_server.py,sha256=UVrQxidMpofK7Efjt5PhikyvnGR5mPMDEZCoNIfVmjI,3485
15
+ pyhap/hsrp.py,sha256=KkuuMnzb-yrMiD7_XFH9Ug1_Rz7iM1BvPYVHam_5uPE,3345
16
+ pyhap/iid_manager.py,sha256=6V2hfWDPDPnq9wvI289Qa7oTQGcrhuxsueb7a2IJ-30,2409
17
+ pyhap/loader.py,sha256=pPRES5YYFdi8SkGihpz8F43efMOS6MEkTwitevJFgTQ,2372
18
+ pyhap/params.py,sha256=575Vpw9eGub5CcQhWl3OTH02kGj_1cgxwSEeZy9nFbQ,1253
19
+ pyhap/service.py,sha256=Gb_zXK2-5DhWP7GEUigtcUaWCADiiJtvpR2f_MC8VUg,5259
20
+ pyhap/state.py,sha256=JzrdNGlNqorL1P34U_jmvF7e8QsApVG6LaOqMZIYMo8,4036
21
+ pyhap/tlv.py,sha256=J_f2qedysCB3YILQqxFN44_xu_W5tMTJMi4aZN14izk,2277
22
+ pyhap/util.py,sha256=vxk9sXXqfJOpwcrziRyQm470hhZxD8HK6vH0B75WDPs,4726
23
+ pyhap/resources/characteristics.json,sha256=TZIFyjKDcZTQ5BrmiEpRehLriWUkdZXtQjanpasdwkE,36308
24
+ pyhap/resources/services.json,sha256=h3GEEhHljXbpjkO9jCtdgrryGjON0AWWtiUkyIEmk9U,14809
25
+ pyhap/resources/snapshot.jpg,sha256=gEtbqbcZsBS5KIUGPzwpAWJtWCYSNYVFdBz3tDJNtF4,203005
26
+ hap_python-5.0.0.dist-info/METADATA,sha256=wayo8wYE2aahxa46I8j_I7HKOaa-7hDk8WvF3A646VM,13776
27
+ hap_python-5.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
28
+ hap_python-5.0.0.dist-info/top_level.txt,sha256=gyP7nasmNVouCMu7rblCl6SaFZoFJV7O-F2g9vFi2V0,6
29
+ hap_python-5.0.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.3.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -0,0 +1,6 @@
1
+ cdce8p
2
+ jslay88
3
+ Ivan Kalchev <ikalchev> - Maintainer of the library
4
+ Lee Marlow <lmarlow>
5
+ Matthew Schinckel <schinckel>
6
+ Miroslav Kudrnac <mkudrnac>
pyhap/accessory.py CHANGED
@@ -1,4 +1,5 @@
1
1
  """Module for the Accessory classes."""
2
+
2
3
  import itertools
3
4
  import logging
4
5
  from typing import TYPE_CHECKING, Any, Callable, Dict, Iterable, List, Optional
@@ -207,7 +208,8 @@ class Accessory:
207
208
  int(self.driver.state.pincode.replace(b"-", b""), 10) & 0x7FFFFFFF
208
209
  ) # pincode
209
210
 
210
- encoded_payload = base36.dumps(payload).upper() # pylint: disable=possibly-used-before-assignment
211
+ # pylint: disable-next=possibly-used-before-assignment
212
+ encoded_payload = base36.dumps(payload).upper()
211
213
  encoded_payload = encoded_payload.rjust(9, "0")
212
214
 
213
215
  return "X-HM://" + encoded_payload + self.driver.state.setup_id
pyhap/accessory_driver.py CHANGED
@@ -15,6 +15,7 @@ one Accessory in it). If so, a task is created to send the event to the subscrib
15
15
  terminates the call chain and concludes the publishing process from the Characteristic,
16
16
  the Characteristic does not block waiting for the actual send to happen.
17
17
  """
18
+
18
19
  import asyncio
19
20
  import base64
20
21
  from collections import defaultdict
@@ -212,7 +213,7 @@ class AccessoryDriver:
212
213
  advertised_address=None,
213
214
  interface_choice=None,
214
215
  async_zeroconf_instance=None,
215
- zeroconf_server=None
216
+ zeroconf_server=None,
216
217
  ):
217
218
  """
218
219
  Initialize a new AccessoryDriver object.
@@ -323,7 +324,7 @@ class AccessoryDriver:
323
324
  and os.name != "nt"
324
325
  ):
325
326
  logger.debug("Setting child watcher")
326
- watcher = asyncio.SafeChildWatcher() # pylint: disable=deprecated-class
327
+ watcher = asyncio.SafeChildWatcher() # pylint: disable=deprecated-class
327
328
  watcher.attach_loop(self.loop)
328
329
  asyncio.set_child_watcher(watcher)
329
330
  else:
@@ -647,7 +648,11 @@ class AccessoryDriver:
647
648
  mode="w", dir=temp_dir, delete=False
648
649
  ) as file_handle:
649
650
  tmp_filename = file_handle.name
650
- logger.debug("Created temp persist file '%s' named '%s'", file_handle, tmp_filename)
651
+ logger.debug(
652
+ "Created temp persist file '%s' named '%s'",
653
+ file_handle,
654
+ tmp_filename,
655
+ )
651
656
  self.encoder.persist(file_handle, self.state)
652
657
  if (
653
658
  os.name == "nt"