lifx-async 4.3.1__py3-none-any.whl → 4.3.2__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.
lifx/effects/base.py CHANGED
@@ -59,6 +59,16 @@ class LIFXEffect(ABC):
59
59
  self.conductor: Conductor | None = None
60
60
  self.participants: list[Light] = []
61
61
 
62
+ @property
63
+ @abstractmethod
64
+ def name(self) -> str:
65
+ """Return the name of the effect.
66
+
67
+ Returns:
68
+ The effect name as a string
69
+ """
70
+ raise NotImplementedError("Subclasses must implement name property")
71
+
62
72
  async def async_perform(self, participants: list[Light]) -> None:
63
73
  """Perform common setup and play the effect.
64
74
 
lifx/effects/colorloop.py CHANGED
@@ -127,6 +127,15 @@ class EffectColorloop(LIFXEffect):
127
127
  self._running = False
128
128
  self._stop_event = asyncio.Event()
129
129
 
130
+ @property
131
+ def name(self) -> str:
132
+ """Return the name of the effect.
133
+
134
+ Returns:
135
+ The effect name 'colorloop'
136
+ """
137
+ return "colorloop"
138
+
130
139
  async def async_play(self) -> None:
131
140
  """Execute the colorloop effect continuously."""
132
141
  self._running = True
lifx/effects/pulse.py CHANGED
@@ -136,6 +136,15 @@ class EffectPulse(LIFXEffect):
136
136
  if self.cycles < 1:
137
137
  raise ValueError(f"Cycles must be 1 or higher, got {self.cycles}")
138
138
 
139
+ @property
140
+ def name(self) -> str:
141
+ """Return the name of the effect.
142
+
143
+ Returns:
144
+ The effect name 'pulse'
145
+ """
146
+ return "pulse"
147
+
139
148
  async def async_play(self) -> None:
140
149
  """Execute the pulse effect on all participants."""
141
150
  # Determine colors for each light
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lifx-async
3
- Version: 4.3.1
3
+ Version: 4.3.2
4
4
  Summary: A modern, type-safe, async Python library for controlling LIFX lights
5
5
  Author-email: Avi Miller <me@dje.li>
6
6
  Maintainer-email: Avi Miller <me@dje.li>
@@ -12,12 +12,12 @@ lifx/devices/light.py,sha256=9rL24fa44Y7QrRBDSQuG6xpWsaPbQTTm4ExvrDnYWHo,27572
12
12
  lifx/devices/matrix.py,sha256=aN5e57R7uLA2YqcQi_mMjh1grrPiivMnT13M7_VDA0Q,30852
13
13
  lifx/devices/multizone.py,sha256=c-lXcp8c1Mhs8me6smGkqQFrOOxdoGjWrOO5HnAVooY,27209
14
14
  lifx/effects/__init__.py,sha256=4DF31yp7RJic5JoltMlz5dCtF5KQobU6NOUtLUKkVKE,1509
15
- lifx/effects/base.py,sha256=3tYbACeQVP1Ed2x_aVZGaH6S4Q6HOTCgNfCmDrj2Pxo,10032
16
- lifx/effects/colorloop.py,sha256=vIyXIxpL00MXSla8QJmFCq2zWsCilKTm9w2kMfXHTm8,15659
15
+ lifx/effects/base.py,sha256=YO0Hbg2VYHKPtfYnWxmrtzYoPGOi9BUXhn8HVFKv5IM,10283
16
+ lifx/effects/colorloop.py,sha256=kuuyENJS2irAN8vZAFsDa2guQdDbmmc4PJNiyZTfFPE,15840
17
17
  lifx/effects/conductor.py,sha256=0Aizn2gpo2kTqwSF4p9Qat8S4F53xwHJwVjOJONduKc,15036
18
18
  lifx/effects/const.py,sha256=03LfL8v9PtoUs6-2IR3aa6nkyA4Otdno51SFJtntC-U,795
19
19
  lifx/effects/models.py,sha256=MS5D-cxD0Ar8XhqbqKAc9q2sk38IP1vPkYwd8V7jCr8,2446
20
- lifx/effects/pulse.py,sha256=dEFeiHhi7PXDlRwQGuyAA15Jxcdlrk-HvnSq3u2bMOc,8548
20
+ lifx/effects/pulse.py,sha256=t5eyjfFWG1xT-RXKghRqHYJ9CG_50tPu4jsDapJZ2mw,8721
21
21
  lifx/effects/state_manager.py,sha256=iDfYowiCN5IJqcR1s-pM0mQEJpe-RDsMcOOSMmtPVDE,8983
22
22
  lifx/network/__init__.py,sha256=uSyA8r8qISG7qXUHbX8uk9A2E8rvDADgCcf94QIZ9so,499
23
23
  lifx/network/connection.py,sha256=dgkTptyFf_3Cfd2_UCh_M75lVmIHTdGuU92nzqQcsdY,37358
@@ -40,7 +40,7 @@ lifx/theme/canvas.py,sha256=4h7lgN8iu_OdchObGDgbxTqQLCb-FRKC-M-YCWef_i4,8048
40
40
  lifx/theme/generators.py,sha256=L0X6_iApLx6XDboGlYunaVsl6nvUCqMfn23VQmRkyCk,6125
41
41
  lifx/theme/library.py,sha256=tKlKZNqJp8lRGDnilWyDm_Qr1vCRGGwuvWVS82anNpQ,21326
42
42
  lifx/theme/theme.py,sha256=qMEx_8E41C0Cc6f083XHiAXEglTv4YlXW0UFsG1rQKg,5521
43
- lifx_async-4.3.1.dist-info/METADATA,sha256=miSo_De7eFOGsGNt00VmNoOYEbilXpocG9RCR_KPHMU,2609
44
- lifx_async-4.3.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
45
- lifx_async-4.3.1.dist-info/licenses/LICENSE,sha256=eBz48GRA3gSiWn3rYZAz2Ewp35snnhV9cSqkVBq7g3k,1832
46
- lifx_async-4.3.1.dist-info/RECORD,,
43
+ lifx_async-4.3.2.dist-info/METADATA,sha256=UUHjdQF5POJCyRlAARy0tL5egZKRkM-AAD9yA-R8pWo,2609
44
+ lifx_async-4.3.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
45
+ lifx_async-4.3.2.dist-info/licenses/LICENSE,sha256=eBz48GRA3gSiWn3rYZAz2Ewp35snnhV9cSqkVBq7g3k,1832
46
+ lifx_async-4.3.2.dist-info/RECORD,,