pyobs-brot 2.0.0.dev17__tar.gz → 2.0.2__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 (28) hide show
  1. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/PKG-INFO +3 -3
  2. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/pyobs_brot/brotdome.py +10 -1
  3. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/pyobs_brot/brottelescope.py +18 -0
  4. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/pyproject.toml +3 -3
  5. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/uv.lock +37 -37
  6. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/.github/dependabot.yml +0 -0
  7. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/.github/workflows/dependabot-automerge.yml +0 -0
  8. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/.github/workflows/pypi.yml +0 -0
  9. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/.github/workflows/pyrefly.yml +0 -0
  10. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/.github/workflows/pytest.yml +0 -0
  11. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/.github/workflows/ruff.yml +0 -0
  12. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/.gitignore +0 -0
  13. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/.pre-commit-config.yaml +0 -0
  14. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/.readthedocs.yml +0 -0
  15. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/LICENSE +0 -0
  16. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/README.md +0 -0
  17. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/docs/Makefile +0 -0
  18. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/docs/make.bat +0 -0
  19. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/docs/requirements.txt +0 -0
  20. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/docs/source/_static/pyobs.gif +0 -0
  21. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/docs/source/conf.py +0 -0
  22. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/docs/source/index.rst +0 -0
  23. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/pyobs_brot/__init__.py +0 -0
  24. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/pyobs_brot/brotroof.py +0 -0
  25. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/specs/index.md +0 -0
  26. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/tests/test_brotroof.py +0 -0
  27. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/tests/test_brottelescope.py +0 -0
  28. {pyobs_brot-2.0.0.dev17 → pyobs_brot-2.0.2}/tests/test_import.py +0 -0
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: pyobs-brot
3
- Version: 2.0.0.dev17
3
+ Version: 2.0.2
4
4
  Summary: pyobs module for BROTlib telescopes
5
5
  Author-email: Tim-Oliver Husser <thusser@uni-goettingen.de>, Lukas Melzig <lukas.melzig@stud.uni-goettingen.de>
6
6
  License-Expression: MIT
7
7
  License-File: LICENSE
8
8
  Requires-Python: >=3.11
9
- Requires-Dist: astropy<8,>=7.0.1
9
+ Requires-Dist: astropy<9,>=7.0.1
10
10
  Requires-Dist: paho-mqtt>=2.1.0
11
11
  Requires-Dist: pybrotlib>=1.1.5
12
- Requires-Dist: pyobs-core<3,>=2.0.0.dev82
12
+ Requires-Dist: pyobs-core<3,>=2.6.0
@@ -6,7 +6,7 @@ from pybrotlib import BROT
6
6
  from pybrotlib.components.dome import DomeShutterStatus, DomeStatus
7
7
  from pybrotlib.transport import MQTTTransport
8
8
  from pyobs.events import RoofClosingEvent, RoofOpenedEvent
9
- from pyobs.interfaces import AltAzState, IDome, IPointingAltAz
9
+ from pyobs.interfaces import AltAzState, FitsHeaderEntry, IDome, IPointingAltAz
10
10
  from pyobs.modules import timeout
11
11
  from pyobs.modules.roof.basedome import BaseDome
12
12
  from pyobs.utils import exceptions as exc
@@ -167,5 +167,14 @@ class BrotDome(BaseDome, IDome):
167
167
  log.error(mess)
168
168
  await self._change_motion_status(MotionStatus.ERROR)
169
169
 
170
+ async def get_fits_header_before(
171
+ self, namespaces: list[str] | None = None, **kwargs: Any
172
+ ) -> dict[str, FitsHeaderEntry]:
173
+ """Returns FITS header for the current status of this module."""
174
+
175
+ hdr = await BaseDome.get_fits_header_before(self, namespaces, **kwargs)
176
+ hdr["DOMESHUT"] = FitsHeaderEntry(self.brot.dome.shutter.name, "Dome shutter status")
177
+ return hdr
178
+
170
179
 
171
180
  __all__ = ["BrotDome"]
@@ -66,6 +66,7 @@ class BrotBaseTelescope(
66
66
  self.brot = BROT(self.mqtt, name)
67
67
  self.temperatures: dict[str, str] = {} if temperatures is None else temperatures
68
68
  self._missing_temperature_sensors: set[str] = set()
69
+ self._temperature_readings: dict[str, float] = {}
69
70
  self.focus_offset = 0.0
70
71
  self._roof = roof
71
72
 
@@ -155,6 +156,7 @@ class BrotBaseTelescope(
155
156
  for sensor in self.mqtt.telemetry.AUXILIARY.SENSOR.values():
156
157
  if sensor.NAME == loc:
157
158
  readings.append(SensorReading(name=name, value=sensor.VALUE))
159
+ self._temperature_readings[name] = sensor.VALUE
158
160
  found = True
159
161
  if not found:
160
162
  missing.append(f"{name} ({loc})")
@@ -315,6 +317,22 @@ class BrotBaseTelescope(
315
317
  async def stop_pointing_series(self, **kwargs: Any) -> None:
316
318
  pass
317
319
 
320
+ async def get_fits_header_before(
321
+ self, namespaces: list[str] | None = None, **kwargs: Any
322
+ ) -> dict[str, FitsHeaderEntry]:
323
+ hdr = await BaseTelescope.get_fits_header_before(self, namespaces, **kwargs)
324
+
325
+ hdr["FOCOFF"] = FitsHeaderEntry(self.focus_offset, "Focus offset [mm]")
326
+
327
+ tel = self.brot.telescope._telemetry
328
+ hdr["PNTHAOF"] = FitsHeaderEntry(tel.POINTING.OFFSETS.HA, "Pointing model HA correction")
329
+ hdr["PNTDCOF"] = FitsHeaderEntry(tel.POINTING.OFFSETS.DEC, "Pointing model Dec correction")
330
+
331
+ for name, value in self._temperature_readings.items():
332
+ hdr[f"TEMP-{name.upper()}"] = FitsHeaderEntry(value, f"Temperature of {name} sensor [C]")
333
+
334
+ return hdr
335
+
318
336
 
319
337
  class BrotRaDecTelescope(BrotBaseTelescope, IOffsetsRaDec):
320
338
  def __init__(
@@ -1,13 +1,13 @@
1
1
  [project]
2
2
  name = "pyobs-brot"
3
- version = "2.0.0.dev17"
3
+ version = "2.0.2"
4
4
  description = "pyobs module for BROTlib telescopes"
5
5
  authors = [{ name = "Tim-Oliver Husser", email = "thusser@uni-goettingen.de" }, { name = "Lukas Melzig", email = "lukas.melzig@stud.uni-goettingen.de" }]
6
6
  requires-python = ">=3.11"
7
7
  license = "MIT"
8
8
  dependencies = [
9
- "astropy>=7.0.1,<8",
10
- "pyobs-core>=2.0.0.dev82,<3",
9
+ "astropy>=7.0.1,<9",
10
+ "pyobs-core>=2.6.0,<3",
11
11
  "paho-mqtt>=2.1.0",
12
12
  "pybrotlib>=1.1.5",
13
13
  ]
@@ -201,7 +201,7 @@ sdist = { url = "https://files.pythonhosted.org/packages/48/80/1be3af06717245a51
201
201
 
202
202
  [[package]]
203
203
  name = "astropy"
204
- version = "7.2.2"
204
+ version = "8.0.1"
205
205
  source = { registry = "https://pypi.org/simple" }
206
206
  dependencies = [
207
207
  { name = "astropy-iers-data" },
@@ -211,16 +211,16 @@ dependencies = [
211
211
  { name = "pyerfa" },
212
212
  { name = "pyyaml" },
213
213
  ]
214
- sdist = { url = "https://files.pythonhosted.org/packages/24/3a/33c6c5c34d366edbb74bc01b9b95d9956686f6d3c54eff9e405703a77e64/astropy-7.2.2.tar.gz", hash = "sha256:d48d6025636fa1330594603b9c01345561b6da404e2115852a9136db13f455cd", size = 7095594, upload-time = "2026-07-05T07:17:32.464Z" }
214
+ sdist = { url = "https://files.pythonhosted.org/packages/0e/c4/21be4313ddfde5f60e0607fd307f367b9e0f0bf153a89b10cbd036dd8cfd/astropy-8.0.1.tar.gz", hash = "sha256:45ca31d5b91fa294cd590a4791a32db94de7f9c8a343155f4d5877baa82351da", size = 7152500, upload-time = "2026-07-05T07:24:48.482Z" }
215
215
  wheels = [
216
- { url = "https://files.pythonhosted.org/packages/6e/a5/ebafe112fd29a86569cbde3bc6461563169df352097ab5ae61bbb5cab49a/astropy-7.2.2-cp311-abi3-macosx_10_9_x86_64.whl", hash = "sha256:b082021721761c15e23cc26bca0efdd74e8fce534ace188abff15e95e1144fa9", size = 6484161, upload-time = "2026-07-05T07:17:15.41Z" },
217
- { url = "https://files.pythonhosted.org/packages/d7/15/3b92ba9a72fb8984cb297abc25ca2ed9cf89547364d19ce8ada283f59ddb/astropy-7.2.2-cp311-abi3-macosx_11_0_arm64.whl", hash = "sha256:7cceacf26c1492a6234e63a2b5a638b55d4ae88b5d899912b4c357bb7ea8ee03", size = 6455352, upload-time = "2026-07-05T07:17:17.472Z" },
218
- { url = "https://files.pythonhosted.org/packages/6b/e5/43b5e736a93083d4af2af257dad252b539324ef024c3316c651be6f651c5/astropy-7.2.2-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0b0a168ec6b4fa50344b61b0b2f372695f601bdf0ea627b27ec23d9543ef5206", size = 9823132, upload-time = "2026-07-05T07:17:19.275Z" },
219
- { url = "https://files.pythonhosted.org/packages/a7/6f/994a4374eb1bb6fc94133b7afdfdecbfc5fb854184436583780ce5a83bf8/astropy-7.2.2-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:82b4270397a8f62ca7d0d4e268c1412b83a401c148f7525ac75ae7fd85790856", size = 9854265, upload-time = "2026-07-05T07:17:22.366Z" },
220
- { url = "https://files.pythonhosted.org/packages/68/3d/34dcfcf7b6b6dd7e3556d01c32003ed3082a856e95aaa30e633b79b1fb48/astropy-7.2.2-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:54cb7e5a866052e075596ac42fabf6166c5e9b49924d0ff5ec3c6c3a9db1592b", size = 9810572, upload-time = "2026-07-05T07:17:24.454Z" },
221
- { url = "https://files.pythonhosted.org/packages/66/93/0dca114f12fbb6201b28d6a67b17dc154b2ae985daa89c3f1528cc4cd0ca/astropy-7.2.2-cp311-abi3-win32.whl", hash = "sha256:c5aa4f94b0761b371157ee56c7779ace3c72de94680dabd8fe72ff6f8aebd700", size = 6263588, upload-time = "2026-07-05T07:17:26.832Z" },
222
- { url = "https://files.pythonhosted.org/packages/4b/ed/ace3d77d6308f955933364f6f76dc4889cc63fdcd7a0c18b1e1a8180fa7d/astropy-7.2.2-cp311-abi3-win_amd64.whl", hash = "sha256:3e3fd54268be95a5b13113bbe380b4f8b2b6431bd58a6853edb82d4528766b8f", size = 6387753, upload-time = "2026-07-05T07:17:28.741Z" },
223
- { url = "https://files.pythonhosted.org/packages/66/42/31c0a9dd9d32e443bcd160f8624ba63355f8cd033468fd0409a7e186b434/astropy-7.2.2-cp311-abi3-win_arm64.whl", hash = "sha256:30f989a0d2cba6273d4645a4274e4d29aef842832c14a3cf622bdedb7aa05c6d", size = 6262370, upload-time = "2026-07-05T07:17:30.556Z" },
216
+ { url = "https://files.pythonhosted.org/packages/ac/80/69a84af0b35d55a859cde38e16b71553840a156bdf7dc4b767ec2b2d2829/astropy-8.0.1-cp311-abi3-macosx_10_9_x86_64.whl", hash = "sha256:24813c764d5ea111e7f716127121e22a0cfe233ca1eac2ed23c4a3848390610e", size = 6635649, upload-time = "2026-07-05T07:24:31.957Z" },
217
+ { url = "https://files.pythonhosted.org/packages/a6/34/074f367d5699a1008b24c50acc1539f05f2cfc881b1901f4b110d57eae20/astropy-8.0.1-cp311-abi3-macosx_11_0_arm64.whl", hash = "sha256:222f0b9837e79fd3d101e6d4e4579e3aa98c490000bb01e35cd32fd3e3c12bf5", size = 6607950, upload-time = "2026-07-05T07:24:34.148Z" },
218
+ { url = "https://files.pythonhosted.org/packages/56/3b/d29035da0a08e3b0b03d63abe9ce69b900d8ef7863dc557a2e34ebf56a4e/astropy-8.0.1-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9a4044396c15969bb029b648521f7c25d294e982dbd23e7c2c7dd328178b8b98", size = 10414634, upload-time = "2026-07-05T07:24:36.129Z" },
219
+ { url = "https://files.pythonhosted.org/packages/fa/14/6f4427419f8a02e1d0a885fb64d8d4454c5d443627aa7cb1a3a36e16abb7/astropy-8.0.1-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fa11d56855e10107ea2231a6b6a33dbf1edbea6890adf34634c1f1d8f25c5a5a", size = 10452095, upload-time = "2026-07-05T07:24:38.424Z" },
220
+ { url = "https://files.pythonhosted.org/packages/b2/ef/a5cf36a402c4511a776405f12d0b35196f55f4312ce407012a2fbcf1e4e0/astropy-8.0.1-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5b482bc6c57c966e6c6234410a1d9afbcf92bcac858cf287812f8c99ddc3fafc", size = 10407732, upload-time = "2026-07-05T07:24:40.774Z" },
221
+ { url = "https://files.pythonhosted.org/packages/58/6d/59e7fb6f9ade53889c9553afff89991b8076c021581ba66eb51d913ca6c9/astropy-8.0.1-cp311-abi3-win32.whl", hash = "sha256:13a6ef59347a15c55406bb630e0d25d0248a179af84fae06a7ddb85a229065b2", size = 6394540, upload-time = "2026-07-05T07:24:43.146Z" },
222
+ { url = "https://files.pythonhosted.org/packages/ec/6a/8534fd98e2d3eb51cbaa261e6c6b59e4ad969a1787d72bb1208499080dbd/astropy-8.0.1-cp311-abi3-win_amd64.whl", hash = "sha256:ee9024f2237243ebc98726f8eff2efbf201ea4e0bba1d21f6e2dee0cb499fbdf", size = 6529976, upload-time = "2026-07-05T07:24:44.693Z" },
223
+ { url = "https://files.pythonhosted.org/packages/8a/df/96b8bf4ec218d03969a8b904ade5fc5b1a63f4a7f02c4e107b6264bcf152/astropy-8.0.1-cp311-abi3-win_arm64.whl", hash = "sha256:435e784f2cd9a4c31a03102e6ad27a51b901a8d5587bc78afe8d28e41eb44824", size = 6395252, upload-time = "2026-07-05T07:24:46.56Z" },
224
224
  ]
225
225
 
226
226
  [[package]]
@@ -1935,7 +1935,7 @@ wheels = [
1935
1935
 
1936
1936
  [[package]]
1937
1937
  name = "pyobs-brot"
1938
- version = "2.0.0.dev17"
1938
+ version = "2.0.2"
1939
1939
  source = { editable = "." }
1940
1940
  dependencies = [
1941
1941
  { name = "astropy" },
@@ -1956,10 +1956,10 @@ dev = [
1956
1956
 
1957
1957
  [package.metadata]
1958
1958
  requires-dist = [
1959
- { name = "astropy", specifier = ">=7.0.1,<8" },
1959
+ { name = "astropy", specifier = ">=7.0.1,<9" },
1960
1960
  { name = "paho-mqtt", specifier = ">=2.1.0" },
1961
1961
  { name = "pybrotlib", specifier = ">=1.1.5" },
1962
- { name = "pyobs-core", specifier = ">=2.0.0.dev82,<3" },
1962
+ { name = "pyobs-core", specifier = ">=2.6.0,<3" },
1963
1963
  ]
1964
1964
 
1965
1965
  [package.metadata.requires-dev]
@@ -1974,7 +1974,7 @@ dev = [
1974
1974
 
1975
1975
  [[package]]
1976
1976
  name = "pyobs-core"
1977
- version = "2.0.0.dev82"
1977
+ version = "2.6.0"
1978
1978
  source = { registry = "https://pypi.org/simple" }
1979
1979
  dependencies = [
1980
1980
  { name = "aiohttp" },
@@ -2006,9 +2006,9 @@ dependencies = [
2006
2006
  { name = "tenacity" },
2007
2007
  { name = "typing-extensions" },
2008
2008
  ]
2009
- sdist = { url = "https://files.pythonhosted.org/packages/13/b8/e0d2a5fa390e15eebd01c86a75360e47e72823036b9e8793f73961c4e24a/pyobs_core-2.0.0.dev82.tar.gz", hash = "sha256:eb5e6510e0ba113700876db409cdce4b5d57e6df399421fc8cf174ec9e5076a8", size = 362959, upload-time = "2026-08-19T04:27:17.94Z" }
2009
+ sdist = { url = "https://files.pythonhosted.org/packages/09/17/8691e3d7d52abeea5fc1a64f78d9174d321f3b42eb6795991bde7050c7f3/pyobs_core-2.6.0.tar.gz", hash = "sha256:9e8f0028374eb5a1da15d1b13f1a417fdb0e19ba6e6fb1abb35cb126bf402eb0", size = 407527, upload-time = "2026-09-03T16:55:03.68Z" }
2010
2010
  wheels = [
2011
- { url = "https://files.pythonhosted.org/packages/81/17/83f22b85cfd9dea2c18396738d12fcd631232b2e8a111700133b037a7673/pyobs_core-2.0.0.dev82-py3-none-any.whl", hash = "sha256:b0cfe7d7a9dff89a8650ff4c01cdd3423f8ca9188aeef1d799d3e61085484bb2", size = 585768, upload-time = "2026-08-19T04:27:16.531Z" },
2011
+ { url = "https://files.pythonhosted.org/packages/a6/ba/ce9ee7826d68c6cbf38f492a983ec70f470fff33acc479fa5e2834be90a1/pyobs_core-2.6.0-py3-none-any.whl", hash = "sha256:582e6ad096c0a09d83b8f335c7032c25d46b7e389359eb71715355836ec126f2", size = 636747, upload-time = "2026-09-03T16:55:01.745Z" },
2012
2012
  ]
2013
2013
 
2014
2014
  [[package]]
@@ -2232,27 +2232,27 @@ wheels = [
2232
2232
 
2233
2233
  [[package]]
2234
2234
  name = "ruff"
2235
- version = "0.16.4"
2236
- source = { registry = "https://pypi.org/simple" }
2237
- sdist = { url = "https://files.pythonhosted.org/packages/00/8f/d8074b1f25e003164087a8bfe79a0f1a3945135764dbb6aaab04103dcaf9/ruff-0.16.4.tar.gz", hash = "sha256:13171aa9d9af2240ee3504e639de73122c67e74036de5ba2e1d01422cd17e3dc", size = 4899731, upload-time = "2026-08-20T17:43:59.196Z" }
2238
- wheels = [
2239
- { url = "https://files.pythonhosted.org/packages/ff/80/779895ef584e089d22f2c6df0d0e99a65ec2df0805f1fffd439415b8c1f0/ruff-0.16.4-py3-none-linux_armv6l.whl", hash = "sha256:df4075f71ddac40b9934af60c3ec8a53047dd5a5fdc43224e6e4e8e9a27cb6f7", size = 10006909, upload-time = "2026-08-20T17:43:16.888Z" },
2240
- { url = "https://files.pythonhosted.org/packages/a9/e6/f553199b5e8927a05cb5c422d921fd0656b29ab976e91c44802107c6b0da/ruff-0.16.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:0c95538517af68004306b0fb3214ff2f2af67a65092aee77cd9eb86db6656604", size = 10240201, upload-time = "2026-08-20T17:43:19.337Z" },
2241
- { url = "https://files.pythonhosted.org/packages/1c/70/4a6dc4bb34da4dee35e30f09bbd1bfbdd26f33b62fb9b8df31f08a199cd2/ruff-0.16.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:963f83df8e69e575b64d67dd447ebbc917db41a14bf38d4593a4183e7aaa8255", size = 9835122, upload-time = "2026-08-20T17:43:21.708Z" },
2242
- { url = "https://files.pythonhosted.org/packages/24/12/c6e22d686372c15bcb7af99831f1a1be96df696491babf4f24e4f942c527/ruff-0.16.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32a5057c7ff3f6e6480a48fccfb3a412a690f48a3d03ac5cf08177d6c2da3ade", size = 9977162, upload-time = "2026-08-20T17:43:24.236Z" },
2243
- { url = "https://files.pythonhosted.org/packages/46/49/72b10ec912f5ab5854992eaf7aa7cd36729b6937d9dc4e0fb41b3bf428ec/ruff-0.16.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b3dce8d9b0c57c265b91885a66a567d8ea1372e8eb4e250fa8e5e3f579e99cff", size = 9829789, upload-time = "2026-08-20T17:43:26.966Z" },
2244
- { url = "https://files.pythonhosted.org/packages/fa/80/0f30e32e7f6ee26edc39075502db9d368d788a44a79b55f763eb4ab03796/ruff-0.16.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7dc651db49283c69f8e72c834eec4fe5573e4c646856aebece0ce385dceb2a80", size = 10527949, upload-time = "2026-08-20T17:43:29.384Z" },
2245
- { url = "https://files.pythonhosted.org/packages/52/3d/86e8ad3542169e56cac3859a343afdb9df2ad54d35a59ce1e67baee83421/ruff-0.16.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3817b87dbcabc92f13b05019257c5b89b5b4d51b5fb20f56fb5235ceb723cd07", size = 11333695, upload-time = "2026-08-20T17:43:31.872Z" },
2246
- { url = "https://files.pythonhosted.org/packages/d0/16/481c29b380c20a0054a8261066665e1b3488e23636c49d0a43e75975b9bb/ruff-0.16.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e9fce1499134b2c8c68e5166f95705a5812062bb93aacc5f9873bb1a27084bc7", size = 10727741, upload-time = "2026-08-20T17:43:34.596Z" },
2247
- { url = "https://files.pythonhosted.org/packages/5e/b6/56bc0b8cf45b54b28b3a5e6381c8945d51b5b18adf659454c32295209a31/ruff-0.16.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2d812e482f5a7e02eee26cd73d2a37ebbdf47d795ea63ba1b89110ae93e9fb3", size = 10286522, upload-time = "2026-08-20T17:43:37.288Z" },
2248
- { url = "https://files.pythonhosted.org/packages/e8/8b/b345b4fb110f2fbe2bd31eabd271e5e8b3b7e4ee6c0e02f2dc6be78db000/ruff-0.16.4-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:6baaf984aa7976edf93d3b627fe2d1d22ee94bbca05fa6f90fc76d73924e3454", size = 10584182, upload-time = "2026-08-20T17:43:39.984Z" },
2249
- { url = "https://files.pythonhosted.org/packages/29/e5/827b34041c35f58774a9681a4213994c164fc987800f4dddabcf451da0bf/ruff-0.16.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:bdfcf0b28662eb890372d50f92c283bb94e67e7635ed93c7fd533970acff7b2b", size = 10134195, upload-time = "2026-08-20T17:43:42.351Z" },
2250
- { url = "https://files.pythonhosted.org/packages/0f/10/d0bffcdd6729b87afc82ba0ef377173356a7dc8e972f5179968cf2fdf98c/ruff-0.16.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:b66b02cb9b04f537643cadf5768e5f98dc461890d530cb67113d71c8c76e605d", size = 9825821, upload-time = "2026-08-20T17:43:44.532Z" },
2251
- { url = "https://files.pythonhosted.org/packages/f5/32/0db2a863b796ca62d83e92a07a3ccf00921b14db02059347576a2fda3d4b/ruff-0.16.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:8528bf9a4b291a60bf02ea453511e8ce6215bd2b982ee80405b66b008b6c30a0", size = 10267658, upload-time = "2026-08-20T17:43:46.989Z" },
2252
- { url = "https://files.pythonhosted.org/packages/b2/a0/fbdeb59e48c6261f523e56c8f12e9c08fbe693786595cc7e3959207a9232/ruff-0.16.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:fbd85d2875fdd67e833213a651f613bbf25303abf6aa822a5121f4531195678d", size = 10697071, upload-time = "2026-08-20T17:43:49.891Z" },
2253
- { url = "https://files.pythonhosted.org/packages/aa/28/0c6dd865859c6d17bc8ccc34cb72b0e02d6c7eb25e8a1e22b5bea681e2c0/ruff-0.16.4-py3-none-win32.whl", hash = "sha256:312769988007aaeb8e189b443ccdd03c0e6374489e053467be6d96518ebff76e", size = 10021687, upload-time = "2026-08-20T17:43:52.281Z" },
2254
- { url = "https://files.pythonhosted.org/packages/a3/03/e724450f621698117f9aa6dd241c94d0274ae96781378dc86745ae29f0e7/ruff-0.16.4-py3-none-win_amd64.whl", hash = "sha256:05d9d27a18c4bcbefada602480ec9e01e0bc949d432e0ced5df77edac195919c", size = 10567657, upload-time = "2026-08-20T17:43:54.78Z" },
2255
- { url = "https://files.pythonhosted.org/packages/0e/fe/da8b9e1347696bb22120b77280ec5ce25d500ca5cb39d5ad6e5c18de19c1/ruff-0.16.4-py3-none-win_arm64.whl", hash = "sha256:a3a61621c9b6f6a89573e938a080e648f1695baa3f58570a3a707bc51ff65a21", size = 10451579, upload-time = "2026-08-20T17:43:57.135Z" },
2235
+ version = "0.16.5"
2236
+ source = { registry = "https://pypi.org/simple" }
2237
+ sdist = { url = "https://files.pythonhosted.org/packages/f3/85/c8e12473c93018f92d19dd988a294202e1c27426c47ec4de53ffb847b8d8/ruff-0.16.5.tar.gz", hash = "sha256:1b88500f9ffbcab3dedb0082c9f9492e91ec3d618aac1236a3e0189938f7040b", size = 4912003, upload-time = "2026-08-27T16:34:18.258Z" }
2238
+ wheels = [
2239
+ { url = "https://files.pythonhosted.org/packages/c6/b6/77c90a970fe2dae17a723acbd011043ea97c98d7deacccefdc4ba74ec512/ruff-0.16.5-py3-none-linux_armv6l.whl", hash = "sha256:12e5f673e774c35fbb62f288809c7653b73445f8ecec6b6063fd6ea3521aa14b", size = 10011941, upload-time = "2026-08-27T16:33:41.287Z" },
2240
+ { url = "https://files.pythonhosted.org/packages/4b/46/6cf67cf6411885a1d6f7f6d801682f155536a85176d10b605e2ceffed8bd/ruff-0.16.5-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:eda58a5802de40e7ed5b32b64e0b32539338cc6fcd2c78f61e3ad6a0d79f51c3", size = 10204049, upload-time = "2026-08-27T16:33:44.056Z" },
2241
+ { url = "https://files.pythonhosted.org/packages/46/fd/c8720ca7a090abf0c2fef4abe8a5ef6e5127ed15196d8886ff75a2b370e2/ruff-0.16.5-py3-none-macosx_11_0_arm64.whl", hash = "sha256:c5ae9a7b9a8875131f40f8fe967cc86abf899779efd663cb7ce3d572d01da7eb", size = 9809037, upload-time = "2026-08-27T16:33:46.257Z" },
2242
+ { url = "https://files.pythonhosted.org/packages/43/45/a684caacdedaca180f52bacccc40bf0789d2c5a7c75f25324853e9eaedb5/ruff-0.16.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b719b0a1f4d59710d283ab2965f621684a108a9e41da622e3b23f0326cd0025", size = 9964129, upload-time = "2026-08-27T16:33:48.352Z" },
2243
+ { url = "https://files.pythonhosted.org/packages/9e/f2/5d2bcdaca6b5b93d1b4dfc166cd2aebf7680143a1b38a28759df13a94d31/ruff-0.16.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2298f2780ed1be0c5cb1361e32ab7b1467f3cce7dabe101d2210a314f2fe42e9", size = 9821518, upload-time = "2026-08-27T16:33:50.57Z" },
2244
+ { url = "https://files.pythonhosted.org/packages/aa/ff/011cce29accf9257d5974145b733fc653a37985ed6825413a3987cefbfe0/ruff-0.16.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:258f29035a2dd021e7861e631b227a5b3f14e50c1184c9a6a122c5f4576154d7", size = 10534835, upload-time = "2026-08-27T16:33:52.522Z" },
2245
+ { url = "https://files.pythonhosted.org/packages/d7/5a/f0cf109bada9bba0e96c90c21c9f9251803f57225c32d293327a03c710d6/ruff-0.16.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b9a4f0432966834019c74d1b7e5c51224305d7713f3d7faf3e7451f1a3be3cde", size = 11252550, upload-time = "2026-08-27T16:33:54.521Z" },
2246
+ { url = "https://files.pythonhosted.org/packages/63/4d/1d481aaea2046c6a7ed7c291f9004c669cce3c087b6b376ed5b08271e3fe/ruff-0.16.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b5eb3a8c3d0ade9cea42b591fd530368e8798380e30e0a308b85a5cf718f09ea", size = 10777949, upload-time = "2026-08-27T16:33:56.88Z" },
2247
+ { url = "https://files.pythonhosted.org/packages/ee/34/ee245ca55f64443233034b3d02b03236b19242004281247c079390b7facd/ruff-0.16.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef0f69e191a13a3c9816f63163c88790cb12cd157bbbb384e9c44745702ab105", size = 10311656, upload-time = "2026-08-27T16:33:59.12Z" },
2248
+ { url = "https://files.pythonhosted.org/packages/a7/4d/c33a333e341c0a2b96c715b52d89a606f5a34cd4ac493cd9b8d0187186b8/ruff-0.16.5-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:0eeab41fbea2c42f98dfb9822cdccda9d24ba38d49f6dc945b5c236d48f0ef29", size = 10532125, upload-time = "2026-08-27T16:34:01.166Z" },
2249
+ { url = "https://files.pythonhosted.org/packages/30/e1/a64cef78b40192497bb98a27a8aa8f2c98ee9ee15bc97f7712d94ef32937/ruff-0.16.5-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:f0768e9df4300713fff30733c87575f68b6f1d8de41184e505b7fdd9c0c95eaf", size = 10097648, upload-time = "2026-08-27T16:34:03.16Z" },
2250
+ { url = "https://files.pythonhosted.org/packages/cc/4e/4cdc9ed3c3e109d2f71e62572a37457298d7bc7501ec3138babb7ed32bbd/ruff-0.16.5-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:95cc70cdc7aa80c338de356279d2adbeb2de0f520b9ecd8aba75b94e95e02f91", size = 9829344, upload-time = "2026-08-27T16:34:05.134Z" },
2251
+ { url = "https://files.pythonhosted.org/packages/39/4a/31ed35ce31729955fc583ee0d176d6e784c1290cb0b0a75cb2134c1ab72a/ruff-0.16.5-py3-none-musllinux_1_2_i686.whl", hash = "sha256:d185c8398ded1bfd91c0c2cb258346307571eccc473a8490af8c3977399c384a", size = 10277117, upload-time = "2026-08-27T16:34:07.425Z" },
2252
+ { url = "https://files.pythonhosted.org/packages/a8/a0/60356d86687b4b666d593df213f4dc3041750d024cb7bf2cfa81cfd65c2e/ruff-0.16.5-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:fb8e3a3c4c6a784150a7ced53b015f4b253fc2bf97a610886419ead64b4756ef", size = 10711653, upload-time = "2026-08-27T16:34:09.712Z" },
2253
+ { url = "https://files.pythonhosted.org/packages/ed/20/656d67f5b25ca9bda4e02b1de25867b2954e1d19e03648060f167ad0f4cc/ruff-0.16.5-py3-none-win32.whl", hash = "sha256:288b0a5f080492fe5635db849f9e2e84aa3cce7b7f0e955997d416c507c76a26", size = 10034250, upload-time = "2026-08-27T16:34:11.8Z" },
2254
+ { url = "https://files.pythonhosted.org/packages/5b/42/ee8e68a207b9127fcde6c3d7e197def432f346cb1af159e1fa14ca0d1cdc/ruff-0.16.5-py3-none-win_amd64.whl", hash = "sha256:ddc6385fb2137f616357ca03d6c74f4be987f80fed4008566b754f6032b8546f", size = 10516714, upload-time = "2026-08-27T16:34:13.963Z" },
2255
+ { url = "https://files.pythonhosted.org/packages/73/e3/7df5a396e445b9ba49ce9a9437439a4d80042c61c0ade199abf8d16de1ac/ruff-0.16.5-py3-none-win_arm64.whl", hash = "sha256:a64abe90968719b851bb7cedffaa8753fbdbdadab483089682db623f3edc587e", size = 10391564, upload-time = "2026-08-27T16:34:16.064Z" },
2256
2256
  ]
2257
2257
 
2258
2258
  [[package]]
File without changes
File without changes
File without changes