axis 52__tar.gz → 54__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 (109) hide show
  1. {axis-52 → axis-54}/PKG-INFO +7 -7
  2. {axis-52 → axis-54}/axis/vapix/interfaces/applications/applications.py +2 -2
  3. {axis-52 → axis-54}/axis/vapix/models/applications/application.py +4 -4
  4. {axis-52 → axis-54}/axis/vapix/models/parameters/image.py +12 -12
  5. {axis-52 → axis-54}/axis.egg-info/PKG-INFO +7 -7
  6. axis-54/axis.egg-info/entry_points.txt +2 -0
  7. {axis-52 → axis-54}/axis.egg-info/requires.txt +5 -5
  8. {axis-52 → axis-54}/pyproject.toml +7 -7
  9. {axis-52 → axis-54}/setup.py +1 -1
  10. axis-52/axis.egg-info/entry_points.txt +0 -2
  11. {axis-52 → axis-54}/LICENSE +0 -0
  12. {axis-52 → axis-54}/README.md +0 -0
  13. {axis-52 → axis-54}/axis/__init__.py +0 -0
  14. {axis-52 → axis-54}/axis/__main__.py +0 -0
  15. {axis-52 → axis-54}/axis/configuration.py +0 -0
  16. {axis-52 → axis-54}/axis/device.py +0 -0
  17. {axis-52 → axis-54}/axis/errors.py +0 -0
  18. {axis-52 → axis-54}/axis/event_stream.py +0 -0
  19. {axis-52 → axis-54}/axis/models/__init__.py +0 -0
  20. {axis-52 → axis-54}/axis/models/event.py +0 -0
  21. {axis-52 → axis-54}/axis/py.typed +0 -0
  22. {axis-52 → axis-54}/axis/rtsp.py +0 -0
  23. {axis-52 → axis-54}/axis/stream_manager.py +0 -0
  24. {axis-52 → axis-54}/axis/vapix/__init__.py +0 -0
  25. {axis-52 → axis-54}/axis/vapix/interfaces/__init__.py +0 -0
  26. {axis-52 → axis-54}/axis/vapix/interfaces/api_discovery.py +0 -0
  27. {axis-52 → axis-54}/axis/vapix/interfaces/api_handler.py +0 -0
  28. {axis-52 → axis-54}/axis/vapix/interfaces/applications/__init__.py +0 -0
  29. {axis-52 → axis-54}/axis/vapix/interfaces/applications/application_handler.py +0 -0
  30. {axis-52 → axis-54}/axis/vapix/interfaces/applications/fence_guard.py +0 -0
  31. {axis-52 → axis-54}/axis/vapix/interfaces/applications/loitering_guard.py +0 -0
  32. {axis-52 → axis-54}/axis/vapix/interfaces/applications/motion_guard.py +0 -0
  33. {axis-52 → axis-54}/axis/vapix/interfaces/applications/object_analytics.py +0 -0
  34. {axis-52 → axis-54}/axis/vapix/interfaces/applications/vmd4.py +0 -0
  35. {axis-52 → axis-54}/axis/vapix/interfaces/basic_device_info.py +0 -0
  36. {axis-52 → axis-54}/axis/vapix/interfaces/event_instances.py +0 -0
  37. {axis-52 → axis-54}/axis/vapix/interfaces/light_control.py +0 -0
  38. {axis-52 → axis-54}/axis/vapix/interfaces/mqtt.py +0 -0
  39. {axis-52 → axis-54}/axis/vapix/interfaces/parameters/__init__.py +0 -0
  40. {axis-52 → axis-54}/axis/vapix/interfaces/parameters/brand.py +0 -0
  41. {axis-52 → axis-54}/axis/vapix/interfaces/parameters/image.py +0 -0
  42. {axis-52 → axis-54}/axis/vapix/interfaces/parameters/io_port.py +0 -0
  43. {axis-52 → axis-54}/axis/vapix/interfaces/parameters/param_cgi.py +0 -0
  44. {axis-52 → axis-54}/axis/vapix/interfaces/parameters/param_handler.py +0 -0
  45. {axis-52 → axis-54}/axis/vapix/interfaces/parameters/properties.py +0 -0
  46. {axis-52 → axis-54}/axis/vapix/interfaces/parameters/ptz.py +0 -0
  47. {axis-52 → axis-54}/axis/vapix/interfaces/parameters/stream_profile.py +0 -0
  48. {axis-52 → axis-54}/axis/vapix/interfaces/pir_sensor_configuration.py +0 -0
  49. {axis-52 → axis-54}/axis/vapix/interfaces/port_cgi.py +0 -0
  50. {axis-52 → axis-54}/axis/vapix/interfaces/port_management.py +0 -0
  51. {axis-52 → axis-54}/axis/vapix/interfaces/ptz.py +0 -0
  52. {axis-52 → axis-54}/axis/vapix/interfaces/pwdgrp_cgi.py +0 -0
  53. {axis-52 → axis-54}/axis/vapix/interfaces/stream_profiles.py +0 -0
  54. {axis-52 → axis-54}/axis/vapix/interfaces/user_groups.py +0 -0
  55. {axis-52 → axis-54}/axis/vapix/interfaces/view_areas.py +0 -0
  56. {axis-52 → axis-54}/axis/vapix/models/__init__.py +0 -0
  57. {axis-52 → axis-54}/axis/vapix/models/api.py +0 -0
  58. {axis-52 → axis-54}/axis/vapix/models/api_discovery.py +0 -0
  59. {axis-52 → axis-54}/axis/vapix/models/applications/__init__.py +0 -0
  60. {axis-52 → axis-54}/axis/vapix/models/applications/fence_guard.py +0 -0
  61. {axis-52 → axis-54}/axis/vapix/models/applications/loitering_guard.py +0 -0
  62. {axis-52 → axis-54}/axis/vapix/models/applications/motion_guard.py +0 -0
  63. {axis-52 → axis-54}/axis/vapix/models/applications/object_analytics.py +0 -0
  64. {axis-52 → axis-54}/axis/vapix/models/applications/vmd4.py +0 -0
  65. {axis-52 → axis-54}/axis/vapix/models/basic_device_info.py +0 -0
  66. {axis-52 → axis-54}/axis/vapix/models/event_instance.py +0 -0
  67. {axis-52 → axis-54}/axis/vapix/models/light_control.py +0 -0
  68. {axis-52 → axis-54}/axis/vapix/models/mqtt.py +0 -0
  69. {axis-52 → axis-54}/axis/vapix/models/parameters/__init__.py +0 -0
  70. {axis-52 → axis-54}/axis/vapix/models/parameters/brand.py +0 -0
  71. {axis-52 → axis-54}/axis/vapix/models/parameters/io_port.py +0 -0
  72. {axis-52 → axis-54}/axis/vapix/models/parameters/param_cgi.py +0 -0
  73. {axis-52 → axis-54}/axis/vapix/models/parameters/properties.py +0 -0
  74. {axis-52 → axis-54}/axis/vapix/models/parameters/ptz.py +0 -0
  75. {axis-52 → axis-54}/axis/vapix/models/parameters/stream_profile.py +0 -0
  76. {axis-52 → axis-54}/axis/vapix/models/pir_sensor_configuration.py +0 -0
  77. {axis-52 → axis-54}/axis/vapix/models/port_cgi.py +0 -0
  78. {axis-52 → axis-54}/axis/vapix/models/port_management.py +0 -0
  79. {axis-52 → axis-54}/axis/vapix/models/ptz_cgi.py +0 -0
  80. {axis-52 → axis-54}/axis/vapix/models/pwdgrp_cgi.py +0 -0
  81. {axis-52 → axis-54}/axis/vapix/models/stream_profile.py +0 -0
  82. {axis-52 → axis-54}/axis/vapix/models/user_group.py +0 -0
  83. {axis-52 → axis-54}/axis/vapix/models/view_area.py +0 -0
  84. {axis-52 → axis-54}/axis/vapix/vapix.py +0 -0
  85. {axis-52 → axis-54}/axis.egg-info/SOURCES.txt +0 -0
  86. {axis-52 → axis-54}/axis.egg-info/dependency_links.txt +0 -0
  87. {axis-52 → axis-54}/axis.egg-info/top_level.txt +0 -0
  88. {axis-52 → axis-54}/setup.cfg +0 -0
  89. {axis-52 → axis-54}/tests/test_api_discovery.py +0 -0
  90. {axis-52 → axis-54}/tests/test_api_handler.py +0 -0
  91. {axis-52 → axis-54}/tests/test_basic_device_info.py +0 -0
  92. {axis-52 → axis-54}/tests/test_configuration.py +0 -0
  93. {axis-52 → axis-54}/tests/test_device.py +0 -0
  94. {axis-52 → axis-54}/tests/test_event.py +0 -0
  95. {axis-52 → axis-54}/tests/test_event_instances.py +0 -0
  96. {axis-52 → axis-54}/tests/test_event_stream.py +0 -0
  97. {axis-52 → axis-54}/tests/test_light_control.py +0 -0
  98. {axis-52 → axis-54}/tests/test_mqtt.py +0 -0
  99. {axis-52 → axis-54}/tests/test_pir_sensor_configuration.py +0 -0
  100. {axis-52 → axis-54}/tests/test_port_cgi.py +0 -0
  101. {axis-52 → axis-54}/tests/test_port_management.py +0 -0
  102. {axis-52 → axis-54}/tests/test_ptz.py +0 -0
  103. {axis-52 → axis-54}/tests/test_pwdgrp_cgi.py +0 -0
  104. {axis-52 → axis-54}/tests/test_rtsp.py +0 -0
  105. {axis-52 → axis-54}/tests/test_stream_manager.py +0 -0
  106. {axis-52 → axis-54}/tests/test_stream_profiles.py +0 -0
  107. {axis-52 → axis-54}/tests/test_user_groups.py +0 -0
  108. {axis-52 → axis-54}/tests/test_vapix.py +0 -0
  109. {axis-52 → axis-54}/tests/test_view_areas.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: axis
3
- Version: 52
3
+ Version: 54
4
4
  Summary: A Python library for communicating with devices from Axis Communications
5
5
  Home-page: https://github.com/Kane610/axis
6
- Download-URL: https://github.com/Kane610/axis/archive/v52.tar.gz
6
+ Download-URL: https://github.com/Kane610/axis/archive/v53.tar.gz
7
7
  Author: Robert Svensson
8
8
  Author-email: Robert Svensson <Kane610@users.noreply.github.com>
9
9
  License: MIT
@@ -27,16 +27,16 @@ Requires-Dist: xmltodict>=0.13.0
27
27
  Provides-Extra: requirements
28
28
  Requires-Dist: httpx==0.27.0; extra == "requirements"
29
29
  Requires-Dist: orjson==3.9.15; extra == "requirements"
30
- Requires-Dist: packaging==23.2; extra == "requirements"
30
+ Requires-Dist: packaging==24.0; extra == "requirements"
31
31
  Requires-Dist: xmltodict==0.13.0; extra == "requirements"
32
32
  Provides-Extra: requirements-test
33
- Requires-Dist: mypy==1.8.0; extra == "requirements-test"
34
- Requires-Dist: pytest==8.1.0; extra == "requirements-test"
33
+ Requires-Dist: mypy==1.9.0; extra == "requirements-test"
34
+ Requires-Dist: pytest==8.1.1; extra == "requirements-test"
35
35
  Requires-Dist: pytest-aiohttp==1.0.5; extra == "requirements-test"
36
- Requires-Dist: pytest-asyncio==0.23.5; extra == "requirements-test"
36
+ Requires-Dist: pytest-asyncio==0.23.5.post1; extra == "requirements-test"
37
37
  Requires-Dist: pytest-cov==4.1.0; extra == "requirements-test"
38
38
  Requires-Dist: respx==0.20.2; extra == "requirements-test"
39
- Requires-Dist: ruff==0.3.1; extra == "requirements-test"
39
+ Requires-Dist: ruff==0.3.2; extra == "requirements-test"
40
40
  Requires-Dist: types-orjson==3.6.2; extra == "requirements-test"
41
41
  Requires-Dist: types-xmltodict==v0.13.0.3; extra == "requirements-test"
42
42
  Provides-Extra: requirements-dev
@@ -32,9 +32,9 @@ class ApplicationsHandler(ApiHandler[Application]):
32
32
 
33
33
  async def _api_request(self) -> dict[str, Application]:
34
34
  """Get default data of API discovery."""
35
- return await self.get_api_list()
35
+ return await self.list_applications()
36
36
 
37
- async def get_api_list(self) -> dict[str, Application]:
37
+ async def list_applications(self) -> dict[str, Application]:
38
38
  """List all APIs registered on API Discovery service."""
39
39
  bytes_data = await self.vapix.api_request(ListApplicationsRequest())
40
40
  response = ListApplicationsResponse.decode(bytes_data)
@@ -75,10 +75,10 @@ class ApplicationStatus(enum.StrEnum):
75
75
  class Application(ApiItem):
76
76
  """Representation of an Application instance."""
77
77
 
78
- application_id: str
78
+ application_id: str | None
79
79
  """Id of application."""
80
80
 
81
- configuration_page: str
81
+ configuration_page: str | None
82
82
  """Relative URL to application configuration page."""
83
83
 
84
84
  license_name: str
@@ -130,8 +130,8 @@ class Application(ApiItem):
130
130
  """Decode dict to class object."""
131
131
  return cls(
132
132
  id=data["Name"],
133
- application_id=data["ApplicationID"],
134
- configuration_page=data["ConfigurationPage"],
133
+ application_id=data.get("ApplicationID"),
134
+ configuration_page=data.get("ConfigurationPage"),
135
135
  license_name=data.get("LicenseName", ""),
136
136
  license_status=ApplicationLicense(data["License"]),
137
137
  license_expiration_date=data.get("LicenseExpirationDate", ""),
@@ -111,11 +111,11 @@ class ImageParamT(TypedDict):
111
111
  Source: str
112
112
  Appearance: ImageAppearanceParamT
113
113
  MPEG: ImageMpegParamT
114
- Overlay: ImageOverlayParamT
115
- RateControl: ImageRateControlParamT
116
- SizeControl: ImageSizeControlParamT
114
+ Overlay: NotRequired[ImageOverlayParamT]
115
+ RateControl: NotRequired[ImageRateControlParamT]
116
+ SizeControl: NotRequired[ImageSizeControlParamT]
117
117
  Stream: ImageStreamParamT
118
- Text: ImageTextParamT
118
+ Text: NotRequired[ImageTextParamT]
119
119
  TriggerData: NotRequired[ImageTriggerDataParamT]
120
120
 
121
121
 
@@ -128,11 +128,11 @@ class ImageParam(ParamItem):
128
128
  source: str
129
129
  appearance: ImageAppearanceParamT
130
130
  mpeg: ImageMpegParamT
131
- overlay: ImageOverlayParamT
132
- rate_control: ImageRateControlParamT
133
- size_control: ImageSizeControlParamT
131
+ overlay: ImageOverlayParamT | None
132
+ rate_control: ImageRateControlParamT | None
133
+ size_control: ImageSizeControlParamT | None
134
134
  stream: ImageStreamParamT
135
- text: ImageTextParamT
135
+ text: ImageTextParamT | None
136
136
  trigger_data: ImageTriggerDataParamT | None
137
137
 
138
138
  @classmethod
@@ -146,11 +146,11 @@ class ImageParam(ParamItem):
146
146
  source=raw["Source"],
147
147
  appearance=raw["Appearance"],
148
148
  mpeg=raw["MPEG"],
149
- overlay=raw["Overlay"],
150
- rate_control=raw["RateControl"],
151
- size_control=raw["SizeControl"],
149
+ overlay=raw.get("Overlay"),
150
+ rate_control=raw.get("RateControl"),
151
+ size_control=raw.get("SizeControl"),
152
152
  stream=raw["Stream"],
153
- text=raw["Text"],
153
+ text=raw.get("Text"),
154
154
  trigger_data=raw.get("TriggerData"),
155
155
  )
156
156
 
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: axis
3
- Version: 52
3
+ Version: 54
4
4
  Summary: A Python library for communicating with devices from Axis Communications
5
5
  Home-page: https://github.com/Kane610/axis
6
- Download-URL: https://github.com/Kane610/axis/archive/v52.tar.gz
6
+ Download-URL: https://github.com/Kane610/axis/archive/v53.tar.gz
7
7
  Author: Robert Svensson
8
8
  Author-email: Robert Svensson <Kane610@users.noreply.github.com>
9
9
  License: MIT
@@ -27,16 +27,16 @@ Requires-Dist: xmltodict>=0.13.0
27
27
  Provides-Extra: requirements
28
28
  Requires-Dist: httpx==0.27.0; extra == "requirements"
29
29
  Requires-Dist: orjson==3.9.15; extra == "requirements"
30
- Requires-Dist: packaging==23.2; extra == "requirements"
30
+ Requires-Dist: packaging==24.0; extra == "requirements"
31
31
  Requires-Dist: xmltodict==0.13.0; extra == "requirements"
32
32
  Provides-Extra: requirements-test
33
- Requires-Dist: mypy==1.8.0; extra == "requirements-test"
34
- Requires-Dist: pytest==8.1.0; extra == "requirements-test"
33
+ Requires-Dist: mypy==1.9.0; extra == "requirements-test"
34
+ Requires-Dist: pytest==8.1.1; extra == "requirements-test"
35
35
  Requires-Dist: pytest-aiohttp==1.0.5; extra == "requirements-test"
36
- Requires-Dist: pytest-asyncio==0.23.5; extra == "requirements-test"
36
+ Requires-Dist: pytest-asyncio==0.23.5.post1; extra == "requirements-test"
37
37
  Requires-Dist: pytest-cov==4.1.0; extra == "requirements-test"
38
38
  Requires-Dist: respx==0.20.2; extra == "requirements-test"
39
- Requires-Dist: ruff==0.3.1; extra == "requirements-test"
39
+ Requires-Dist: ruff==0.3.2; extra == "requirements-test"
40
40
  Requires-Dist: types-orjson==3.6.2; extra == "requirements-test"
41
41
  Requires-Dist: types-xmltodict==v0.13.0.3; extra == "requirements-test"
42
42
  Provides-Extra: requirements-dev
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ axis = axis.__main__:main
@@ -6,19 +6,19 @@ xmltodict>=0.13.0
6
6
  [requirements]
7
7
  httpx==0.27.0
8
8
  orjson==3.9.15
9
- packaging==23.2
9
+ packaging==24.0
10
10
  xmltodict==0.13.0
11
11
 
12
12
  [requirements_dev]
13
13
  pre-commit==3.6.2
14
14
 
15
15
  [requirements_test]
16
- mypy==1.8.0
17
- pytest==8.1.0
16
+ mypy==1.9.0
17
+ pytest==8.1.1
18
18
  pytest-aiohttp==1.0.5
19
- pytest-asyncio==0.23.5
19
+ pytest-asyncio==0.23.5.post1
20
20
  pytest-cov==4.1.0
21
21
  respx==0.20.2
22
- ruff==0.3.1
22
+ ruff==0.3.2
23
23
  types-orjson==3.6.2
24
24
  types-xmltodict==v0.13.0.3
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "axis"
7
- version = "52"
7
+ version = "54"
8
8
  license = {text = "MIT"}
9
9
  description = "A Python library for communicating with devices from Axis Communications"
10
10
  readme = "README.md"
@@ -30,17 +30,17 @@ dependencies = [
30
30
  requirements = [
31
31
  "httpx==0.27.0",
32
32
  "orjson==3.9.15",
33
- "packaging==23.2",
33
+ "packaging==24.0",
34
34
  "xmltodict==0.13.0",
35
35
  ]
36
36
  requirements_test = [
37
- "mypy==1.8.0",
38
- "pytest==8.1.0",
37
+ "mypy==1.9.0",
38
+ "pytest==8.1.1",
39
39
  "pytest-aiohttp==1.0.5",
40
- "pytest-asyncio==0.23.5",
40
+ "pytest-asyncio==0.23.5.post1",
41
41
  "pytest-cov==4.1.0",
42
42
  "respx==0.20.2",
43
- "ruff==0.3.1",
43
+ "ruff==0.3.2",
44
44
  "types-orjson==3.6.2",
45
45
  "types-xmltodict==v0.13.0.3",
46
46
  ]
@@ -54,7 +54,7 @@ requirements_dev = [
54
54
  "Forum" = "https://community.home-assistant.io/t/axis-camera-component/"
55
55
 
56
56
  [project.scripts]
57
- aiounifi = "axis.__main__:main"
57
+ axis = "axis.__main__:main"
58
58
 
59
59
  [tool.coverage.report]
60
60
  fail_under = 95
@@ -4,7 +4,7 @@ from setuptools import find_packages, setup
4
4
 
5
5
  MIN_PY_VERSION = "3.11"
6
6
  PACKAGES = find_packages(exclude=["tests", "tests.*"])
7
- VERSION = "52"
7
+ VERSION = "53"
8
8
 
9
9
  setup(
10
10
  name="axis",
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- aiounifi = axis.__main__:main
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes