flet-audio 0.2.0.dev51__py3-none-any.whl → 0.2.0.dev67__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.

Potentially problematic release.


This version of flet-audio might be problematic. Click here for more details.

flet_audio/__init__.py CHANGED
@@ -1,7 +1,17 @@
1
- from .audio import Audio
2
- from .types import (
1
+ from flet_audio.audio import Audio
2
+ from flet_audio.types import (
3
3
  AudioDurationChangeEvent,
4
4
  AudioPositionChangeEvent,
5
5
  AudioState,
6
6
  AudioStateChangeEvent,
7
+ ReleaseMode,
7
8
  )
9
+
10
+ __all__ = [
11
+ "Audio",
12
+ "AudioDurationChangeEvent",
13
+ "AudioPositionChangeEvent",
14
+ "AudioState",
15
+ "AudioStateChangeEvent",
16
+ "ReleaseMode",
17
+ ]
flet_audio/audio.py CHANGED
@@ -1,9 +1,8 @@
1
- import asyncio
2
1
  from typing import Optional
3
2
 
4
3
  import flet as ft
5
4
 
6
- from .types import (
5
+ from flet_audio.types import (
7
6
  AudioDurationChangeEvent,
8
7
  AudioPositionChangeEvent,
9
8
  AudioStateChangeEvent,
@@ -20,44 +19,47 @@ class Audio(ft.Service):
20
19
  AssertionError: If both [`src`][(c).] and [`src_base64`][(c).] are `None`.
21
20
 
22
21
  Note:
23
- This control is non-visual and should be added to [`Page.services`][flet.Page.services]
22
+ This control is non-visual and should be added to
23
+ [`Page.services`][flet.Page.services]
24
24
  list before it can be used.
25
25
  """
26
26
 
27
27
  src: Optional[str] = None
28
28
  """
29
- The audio source. Can be a URL or a local [asset file](https://flet.dev/docs/cookbook/assets).
29
+ The audio source.
30
+ Can be a URL or a local [asset file](https://docs.flet.dev/cookbook/assets).
30
31
 
31
32
  Note:
32
- - At least one of `src` or [`src_base64`][..] must be provided,
33
- with `src_base64` having priority if both are provided.
34
- - [Here](https://github.com/bluefireteam/audioplayers/blob/main/troubleshooting.md#supported-formats--encodings)
33
+ - At least one of `src` or [`src_base64`][flet_audio.Audio.src_base64] must be
34
+ provided, with `src_base64` having priority if both are provided.
35
+ - [Here](https://github.com/bluefireteam/audioplayers/blob/main/troubleshooting.md#supported-formats--encodings)
35
36
  is a list of supported audio formats.
36
37
  """
37
38
 
38
39
  src_base64: Optional[str] = None
39
40
  """
40
41
  Defines the contents of audio file encoded in base-64 format.
41
-
42
+
42
43
  Note:
43
- - At least one of [`src`][..] or `src_base64` must be provided,
44
- with `src_base64` having priority if both are provided.
45
- - [Here](https://github.com/bluefireteam/audioplayers/blob/main/troubleshooting.md#supported-formats--encodings)
44
+ - At least one of [`src`][flet_audio.Audio.src] or `src_base64` must be
45
+ provided, with `src_base64` having priority if both are provided.
46
+ - [Here](https://github.com/bluefireteam/audioplayers/blob/main/troubleshooting.md#supported-formats--encodings)
46
47
  is a list of supported audio formats.
47
48
  """
48
49
 
49
50
  autoplay: bool = False
50
51
  """
51
52
  Starts playing audio as soon as audio control is added to a page.
52
-
53
+
53
54
  Note:
54
- Autoplay works in desktop, mobile apps and Safari browser, but doesn't work in Chrome/Edge.
55
+ Autoplay works in desktop, mobile apps and Safari browser,
56
+ but doesn't work in Chrome/Edge.
55
57
  """
56
58
 
57
59
  volume: ft.Number = 1.0
58
60
  """
59
61
  Sets the volume (amplitude).
60
- It's value ranges between `0.0` (mute) and `1.0` (maximum volume).
62
+ It's value ranges between `0.0` (mute) and `1.0` (maximum volume).
61
63
  Intermediate values are linearly interpolated.
62
64
  """
63
65
 
@@ -65,20 +67,19 @@ class Audio(ft.Service):
65
67
  """
66
68
  Defines the stereo balance.
67
69
 
68
-
69
- * `-1` - The left channel is at full volume; the right channel is silent.
70
- * `1` - The right channel is at full volume; the left channel is silent.
70
+ * `-1` - The left channel is at full volume; the right channel is silent.
71
+ * `1` - The right channel is at full volume; the left channel is silent.
71
72
  * `0` - Both channels are at the same volume.
72
73
  """
73
74
 
74
75
  playback_rate: ft.Number = 1.0
75
76
  """
76
- Defines the playback rate.
77
-
77
+ Defines the playback rate.
78
+
78
79
  Should ideally be set when creating the constructor.
79
-
80
- Note:
81
- - iOS and macOS have limits between `0.5x` and `2x`.
80
+
81
+ Note:
82
+ - iOS and macOS have limits between `0.5x` and `2x`.
82
83
  - Android SDK version should be 23 or higher.
83
84
  """
84
85
 
@@ -92,27 +93,29 @@ class Audio(ft.Service):
92
93
  Fires when an audio is loaded/buffered.
93
94
  """
94
95
 
95
- on_duration_change: Optional[ft.EventHandler[AudioDurationChangeEvent["Audio"]]] = None
96
+ on_duration_change: Optional[ft.EventHandler[AudioDurationChangeEvent]] = None
96
97
  """
97
- Fires as soon as audio duration is available (it might take a while to download or buffer it).
98
+ Fires as soon as audio duration is available
99
+ (it might take a while to download or buffer it).
98
100
  """
99
101
 
100
- on_state_change: Optional[ft.EventHandler[AudioStateChangeEvent["Audio"]]] = None
102
+ on_state_change: Optional[ft.EventHandler[AudioStateChangeEvent]] = None
101
103
  """
102
104
  Fires when audio player state changes.
103
105
  """
104
106
 
105
- on_position_change: Optional[ft.EventHandler[AudioPositionChangeEvent["Audio"]]] = None
107
+ on_position_change: Optional[ft.EventHandler[AudioPositionChangeEvent]] = None
106
108
  """
107
- Fires when audio position is changed.
108
- Will continuously update the position of the playback every 1 second if the status is playing.
109
-
109
+ Fires when audio position is changed.
110
+ Will continuously update the position of the playback
111
+ every 1 second if the status is playing.
112
+
110
113
  Can be used for a progress bar.
111
114
  """
112
115
 
113
116
  on_seek_complete: Optional[ft.ControlEventHandler["Audio"]] = None
114
117
  """
115
- Fires on seek completions.
118
+ Fires on seek completions.
116
119
  An event is going to be sent as soon as the audio seek is finished.
117
120
  """
118
121
 
@@ -120,20 +123,7 @@ class Audio(ft.Service):
120
123
  super().before_update()
121
124
  assert self.src or self.src_base64, "either src or src_base64 must be provided"
122
125
 
123
- async def play_async(self, position: ft.DurationValue = ft.Duration(), timeout: Optional[float] = 10):
124
- """
125
- Starts playing audio from the specified `position`.
126
-
127
- Args:
128
- position: The position to start playback from.
129
- timeout: The maximum amount of time (in seconds) to wait for a response.
130
-
131
- Raises:
132
- TimeoutError: If the request times out.
133
- """
134
- await self._invoke_method_async("play", {"position": position}, timeout=timeout)
135
-
136
- def play(self, position: ft.DurationValue = ft.Duration(), timeout: Optional[float] = 10):
126
+ async def play(self, position: ft.DurationValue = 0, timeout: Optional[float] = 10):
137
127
  """
138
128
  Starts playing audio from the specified `position`.
139
129
 
@@ -144,45 +134,22 @@ class Audio(ft.Service):
144
134
  Raises:
145
135
  TimeoutError: If the request times out.
146
136
  """
147
- asyncio.create_task(self.play_async(position, timeout=timeout))
148
-
149
- async def pause_async(self, timeout: Optional[float] = 10):
150
- """
151
- Pauses the audio that is currently playing.
152
-
153
- If you call [`resume()`][(c).resume] or [`resume_async()`][(c).resume_async] later,
154
- the audio will resume from the point that it has been paused.
155
- """
156
- await self._invoke_method_async("pause", timeout=timeout)
137
+ await self._invoke_method(
138
+ method_name="play",
139
+ arguments={"position": position},
140
+ timeout=timeout,
141
+ )
157
142
 
158
- def pause(self, timeout: Optional[float] = 10):
143
+ async def pause(self, timeout: Optional[float] = 10):
159
144
  """
160
145
  Pauses the audio that is currently playing.
161
146
 
162
- If you call [`resume()`][(c).resume] or [`resume_async()`][(c).resume_async] later,
147
+ If you call [`resume()`][flet_audio.Audio.resume] later,
163
148
  the audio will resume from the point that it has been paused.
164
-
165
- Args:
166
- timeout: The maximum amount of time (in seconds) to wait for a response.
167
-
168
- Raises:
169
- TimeoutError: If the request times out.
170
- """
171
- asyncio.create_task(self.pause_async(timeout=timeout))
172
-
173
- async def resume_async(self, timeout: Optional[float] = 10):
174
149
  """
175
- Resumes the audio that has been paused or stopped.
176
-
177
- Args:
178
- timeout: The maximum amount of time (in seconds) to wait for a response.
179
-
180
- Raises:
181
- TimeoutError: If the request times out.
182
- """
183
- await self._invoke_method_async("resume", timeout=timeout)
150
+ await self._invoke_method("pause", timeout=timeout)
184
151
 
185
- def resume(self, timeout: Optional[float] = 10):
152
+ async def resume(self, timeout: Optional[float] = 10):
186
153
  """
187
154
  Resumes the audio that has been paused or stopped.
188
155
 
@@ -192,13 +159,13 @@ class Audio(ft.Service):
192
159
  Raises:
193
160
  TimeoutError: If the request times out.
194
161
  """
195
- asyncio.create_task(self.resume_async(timeout=timeout))
162
+ await self._invoke_method("resume", timeout=timeout)
196
163
 
197
- async def release_async(self, timeout: Optional[float] = 10):
164
+ async def release(self, timeout: Optional[float] = 10):
198
165
  """
199
166
  Releases the resources associated with this media player.
200
167
  These are going to be fetched or buffered again as soon as
201
- you change the source or call [`resume()`][(c).resume] or [`resume_async()`][(c).resume_async].
168
+ you change the source or call [`resume()`][flet_audio.Audio.resume].
202
169
 
203
170
  Args:
204
171
  timeout: The maximum amount of time (in seconds) to wait for a response.
@@ -206,23 +173,9 @@ class Audio(ft.Service):
206
173
  Raises:
207
174
  TimeoutError: If the request times out.
208
175
  """
209
- await self._invoke_method_async("release", timeout=timeout)
176
+ await self._invoke_method("release", timeout=timeout)
210
177
 
211
- def release(self, timeout: Optional[float] = 10):
212
- """
213
- Releases the resources associated with this media player.
214
- These are going to be fetched or buffered again as soon as
215
- you change the source or call [`resume()`][(c).resume] or [`resume_async()`][(c).resume_async].
216
-
217
- Args:
218
- timeout: The maximum amount of time (in seconds) to wait for a response.
219
-
220
- Raises:
221
- TimeoutError: If the request times out.
222
- """
223
- asyncio.create_task(self.release_async(timeout=timeout))
224
-
225
- async def seek_async(self, position: ft.DurationValue, timeout: Optional[float] = 10):
178
+ async def seek(self, position: ft.DurationValue, timeout: Optional[float] = 10):
226
179
  """
227
180
  Moves the cursor to the desired position.
228
181
 
@@ -233,22 +186,15 @@ class Audio(ft.Service):
233
186
  Raises:
234
187
  TimeoutError: If the request times out.
235
188
  """
236
- await self._invoke_method_async("seek", {"position": position}, timeout=timeout)
189
+ await self._invoke_method(
190
+ method_name="seek",
191
+ arguments={"position": position},
192
+ timeout=timeout,
193
+ )
237
194
 
238
- def seek(self, position: ft.DurationValue, timeout: Optional[float] = 10):
239
- """
240
- Moves the cursor to the desired position.
241
-
242
- Args:
243
- position: The position to seek/move to.
244
- timeout: The maximum amount of time (in seconds) to wait for a response.
245
-
246
- Raises:
247
- TimeoutError: If the request times out.
248
- """
249
- asyncio.create_task(self.seek_async(position, timeout=timeout))
250
-
251
- async def get_duration_async(self, timeout: Optional[float] = 10) -> Optional[ft.Duration]:
195
+ async def get_duration(
196
+ self, timeout: Optional[float] = 10
197
+ ) -> Optional[ft.Duration]:
252
198
  """
253
199
  Get audio duration of the audio playback.
254
200
 
@@ -264,15 +210,24 @@ class Audio(ft.Service):
264
210
  Raises:
265
211
  TimeoutError: If the request times out.
266
212
  """
267
- return await self._invoke_method_async("get_duration", timeout=timeout)
213
+ return await self._invoke_method(
214
+ method_name="get_duration",
215
+ timeout=timeout,
216
+ )
268
217
 
269
- async def get_current_position_async(self, timeout: Optional[float] = 10) -> Optional[ft.Duration]:
218
+ async def get_current_position(
219
+ self, timeout: Optional[float] = 10
220
+ ) -> Optional[ft.Duration]:
270
221
  """
271
222
  Get the current position of the audio playback.
272
223
 
273
224
  Args:
274
225
  timeout: The maximum amount of time (in seconds) to wait for a response.
226
+
275
227
  Returns:
276
228
  The current position of the audio playback.
277
229
  """
278
- return await self._invoke_method_async("get_current_position", timeout=timeout)
230
+ return await self._invoke_method(
231
+ method_name="get_current_position",
232
+ timeout=timeout,
233
+ )
flet_audio/types.py CHANGED
@@ -1,13 +1,17 @@
1
- from dataclasses import dataclass, field
1
+ from dataclasses import dataclass
2
2
  from enum import Enum
3
+ from typing import TYPE_CHECKING
3
4
 
4
5
  import flet as ft
5
6
 
7
+ if TYPE_CHECKING:
8
+ from flet_audio.audio import Audio # noqa
9
+
6
10
  __all__ = [
11
+ "AudioDurationChangeEvent",
12
+ "AudioPositionChangeEvent",
7
13
  "AudioState",
8
14
  "AudioStateChangeEvent",
9
- "AudioPositionChangeEvent",
10
- "AudioDurationChangeEvent",
11
15
  "ReleaseMode",
12
16
  ]
13
17
 
@@ -21,9 +25,10 @@ class ReleaseMode(Enum):
21
25
 
22
26
  Info:
23
27
  - On Android, the media player is quite resource-intensive, and this will
24
- let it go. Data will be buffered again when needed (if it's a remote file,
25
- it will be downloaded again).
26
- - On iOS and macOS, works just like [`Audio.release()`][(p).Audio.release] method.
28
+ let it go. Data will be buffered again when needed (if it's a remote file,
29
+ it will be downloaded again).
30
+ - On iOS and macOS, works just like
31
+ [`Audio.release()`][flet_audio.Audio.release] method.
27
32
  """
28
33
 
29
34
  LOOP = "loop"
@@ -60,7 +65,7 @@ class AudioState(Enum):
60
65
 
61
66
 
62
67
  @dataclass
63
- class AudioStateChangeEvent(ft.Event[ft.EventControlType]):
68
+ class AudioStateChangeEvent(ft.Event["Audio"]):
64
69
  """
65
70
  Event triggered when the audio playback state changes.
66
71
  """
@@ -70,7 +75,7 @@ class AudioStateChangeEvent(ft.Event[ft.EventControlType]):
70
75
 
71
76
 
72
77
  @dataclass
73
- class AudioPositionChangeEvent(ft.Event[ft.EventControlType]):
78
+ class AudioPositionChangeEvent(ft.Event["Audio"]):
74
79
  """
75
80
  Event triggered when the audio playback position changes.
76
81
  """
@@ -80,7 +85,7 @@ class AudioPositionChangeEvent(ft.Event[ft.EventControlType]):
80
85
 
81
86
 
82
87
  @dataclass
83
- class AudioDurationChangeEvent(ft.Event[ft.EventControlType]):
88
+ class AudioDurationChangeEvent(ft.Event["Audio"]):
84
89
  """
85
90
  Event triggered when the audio duration changes.
86
91
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flet-audio
3
- Version: 0.2.0.dev51
3
+ Version: 0.2.0.dev67
4
4
  Summary: Eases audio integration and playback in Flet apps.
5
5
  Author-email: Flet contributors <hello@flet.dev>
6
6
  License-Expression: Apache-2.0
@@ -41,7 +41,9 @@ This package supports the following platforms:
41
41
  | Android | ✅ |
42
42
  | Web | ✅ |
43
43
 
44
- ## Installation
44
+ ## Usage
45
+
46
+ ### Installation
45
47
 
46
48
  To install the `flet-audio` package and add it to your project dependencies:
47
49
 
@@ -61,6 +63,6 @@ To install the `flet-audio` package and add it to your project dependencies:
61
63
  poetry add flet-audio
62
64
  ```
63
65
 
64
- ## Examples
66
+ ### Examples
65
67
 
66
- For examples, see [this](./examples)
68
+ For examples, see [these](./examples).
@@ -1,18 +1,18 @@
1
- flet_audio/__init__.py,sha256=aLfmcJXT-xQPy6DAn-jQCh0fXRk5ji96Fg15PL5lo0E,151
2
- flet_audio/audio.py,sha256=IaJ_nIp410ClXFZRTlhwOLvQv9xv2heuQikCjeXeNig,9444
3
- flet_audio/types.py,sha256=YJ_RYQanID06LZ8q3APHcM7QBielawXNo5ft8Zi0VKw,2257
4
- flet_audio-0.2.0.dev51.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1
+ flet_audio/__init__.py,sha256=w1U2RdGkcYl_V-bGG1oKQExQ80axXqOyOZL4D6bJAcE,346
2
+ flet_audio/audio.py,sha256=D-VoqbSwcPCvk_kQr4JDd7AjguOF4N-cHelAk33CO18,7181
3
+ flet_audio/types.py,sha256=jhmP0-kowX5MzYezBvzDHmj7YQ7uxdY5FtNGX2qEWlk,2340
4
+ flet_audio-0.2.0.dev67.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
5
5
  flutter/flet_audio/CHANGELOG.md,sha256=66sWepPaeTc9_lzcYIGU55AlxSU5Z1XVtknXpzd_-p8,40
6
6
  flutter/flet_audio/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
7
7
  flutter/flet_audio/README.md,sha256=BEITqZ4okarTGCquI4ii6tdffGm2qyxMkMZbsedCwLQ,60
8
8
  flutter/flet_audio/analysis_options.yaml,sha256=32kjGAc-zF87inWaH5M46yGZWQDTwrwfvNLHeAocfG4,154
9
- flutter/flet_audio/pubspec.lock,sha256=Rje88uBW7vkOXea40g_LPnX_P5pFO1r-3gE_5X3Mris,25471
10
- flutter/flet_audio/pubspec.yaml,sha256=_lJ8tH_SgiuDKkYdpHOlzPYqNguX5mMlaEfZJbz_KFg,510
9
+ flutter/flet_audio/pubspec.lock,sha256=AcPwrr8mZuUNY_KCPxxQUN8a19-O0YLkWZ2WI3yO8h0,25922
10
+ flutter/flet_audio/pubspec.yaml,sha256=AzhTbc7Ccloq9APOXFIgTgkPSivh_g1ONnzKpv-zf3M,510
11
11
  flutter/flet_audio/lib/flet_audio.dart,sha256=JsHEW9Gic_011jhKpnn278pi1kiWjp9gUjfNF5rWmXs,65
12
12
  flutter/flet_audio/lib/src/audio.dart,sha256=ExGoAU9pIlR5z6ptVDXRMhD5NktkBljN9OgRy5InfIw,5108
13
13
  flutter/flet_audio/lib/src/extension.dart,sha256=okI-bxwSUB9FwgJ7TmiiHcE5yi5z66Yp1ri--V1wVnw,299
14
14
  flutter/flet_audio/lib/src/utils/audio.dart,sha256=Rpbf7xJkNB3xtwrfmXru1t2k3_TgPEnh3Ws6i_2J0EQ,346
15
- flet_audio-0.2.0.dev51.dist-info/METADATA,sha256=lxqKNt7Aj8VEWIAyF6ub3_0DIkyjcBhHfvwyG05_Zoo,1935
16
- flet_audio-0.2.0.dev51.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
17
- flet_audio-0.2.0.dev51.dist-info/top_level.txt,sha256=hZbGOXppSiKRUWJf1ZRlBKMyfijq6Y-8DffGOh10Wq4,19
18
- flet_audio-0.2.0.dev51.dist-info/RECORD,,
15
+ flet_audio-0.2.0.dev67.dist-info/METADATA,sha256=ybwIzBBdNu2ZIZnXb6WnGEf0PDussY9zhYtkSaYxIsc,1949
16
+ flet_audio-0.2.0.dev67.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
17
+ flet_audio-0.2.0.dev67.dist-info/top_level.txt,sha256=hZbGOXppSiKRUWJf1ZRlBKMyfijq6Y-8DffGOh10Wq4,19
18
+ flet_audio-0.2.0.dev67.dist-info/RECORD,,
@@ -13,10 +13,10 @@ packages:
13
13
  dependency: transitive
14
14
  description:
15
15
  name: async
16
- sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
16
+ sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
17
17
  url: "https://pub.dev"
18
18
  source: hosted
19
- version: "2.12.0"
19
+ version: "2.13.0"
20
20
  audioplayers:
21
21
  dependency: "direct main"
22
22
  description:
@@ -121,6 +121,14 @@ packages:
121
121
  url: "https://pub.dev"
122
122
  source: hosted
123
123
  version: "3.0.6"
124
+ dbus:
125
+ dependency: transitive
126
+ description:
127
+ name: dbus
128
+ sha256: "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c"
129
+ url: "https://pub.dev"
130
+ source: hosted
131
+ version: "0.7.11"
124
132
  device_info_plus:
125
133
  dependency: transitive
126
134
  description:
@@ -149,10 +157,10 @@ packages:
149
157
  dependency: transitive
150
158
  description:
151
159
  name: fake_async
152
- sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc"
160
+ sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
153
161
  url: "https://pub.dev"
154
162
  source: hosted
155
- version: "1.3.2"
163
+ version: "1.3.3"
156
164
  ffi:
157
165
  dependency: transitive
158
166
  description:
@@ -173,10 +181,10 @@ packages:
173
181
  dependency: transitive
174
182
  description:
175
183
  name: file_picker
176
- sha256: ef9908739bdd9c476353d6adff72e88fd00c625f5b959ae23f7567bd5137db0a
184
+ sha256: ef7d2a085c1b1d69d17b6842d0734aad90156de08df6bd3c12496d0bd6ddf8e2
177
185
  url: "https://pub.dev"
178
186
  source: hosted
179
- version: "10.2.0"
187
+ version: "10.3.1"
180
188
  fixnum:
181
189
  dependency: transitive
182
190
  description:
@@ -190,7 +198,7 @@ packages:
190
198
  description:
191
199
  path: "packages/flet"
192
200
  ref: main
193
- resolved-ref: b996d06ff462b88f5b31d6cceafac34ea6f57968
201
+ resolved-ref: "4ea9558543657d31dba3b11d6017beed2e16d447"
194
202
  url: "https://github.com/flet-dev/flet.git"
195
203
  source: git
196
204
  version: "0.70.0"
@@ -211,10 +219,10 @@ packages:
211
219
  dependency: "direct dev"
212
220
  description:
213
221
  name: flutter_lints
214
- sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
222
+ sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1"
215
223
  url: "https://pub.dev"
216
224
  source: hosted
217
- version: "2.0.3"
225
+ version: "3.0.2"
218
226
  flutter_localizations:
219
227
  dependency: transitive
220
228
  description: flutter
@@ -232,10 +240,10 @@ packages:
232
240
  dependency: transitive
233
241
  description:
234
242
  name: flutter_plugin_android_lifecycle
235
- sha256: f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e
243
+ sha256: "6382ce712ff69b0f719640ce957559dde459e55ecd433c767e06d139ddf16cab"
236
244
  url: "https://pub.dev"
237
245
  source: hosted
238
- version: "2.0.28"
246
+ version: "2.0.29"
239
247
  flutter_svg:
240
248
  dependency: transitive
241
249
  description:
@@ -282,10 +290,10 @@ packages:
282
290
  dependency: transitive
283
291
  description:
284
292
  name: intl
285
- sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
293
+ sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5"
286
294
  url: "https://pub.dev"
287
295
  source: hosted
288
- version: "0.19.0"
296
+ version: "0.20.2"
289
297
  json_annotation:
290
298
  dependency: transitive
291
299
  description:
@@ -298,10 +306,10 @@ packages:
298
306
  dependency: transitive
299
307
  description:
300
308
  name: leak_tracker
301
- sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
309
+ sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
302
310
  url: "https://pub.dev"
303
311
  source: hosted
304
- version: "10.0.8"
312
+ version: "10.0.9"
305
313
  leak_tracker_flutter_testing:
306
314
  dependency: transitive
307
315
  description:
@@ -322,10 +330,10 @@ packages:
322
330
  dependency: transitive
323
331
  description:
324
332
  name: lints
325
- sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
333
+ sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
326
334
  url: "https://pub.dev"
327
335
  source: hosted
328
- version: "2.1.1"
336
+ version: "3.0.0"
329
337
  logging:
330
338
  dependency: transitive
331
339
  description:
@@ -418,10 +426,10 @@ packages:
418
426
  dependency: transitive
419
427
  description:
420
428
  name: path_provider_foundation
421
- sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942"
429
+ sha256: "16eef174aacb07e09c351502740fa6254c165757638eba1e9116b0a781201bbd"
422
430
  url: "https://pub.dev"
423
431
  source: hosted
424
- version: "2.4.1"
432
+ version: "2.4.2"
425
433
  path_provider_linux:
426
434
  dependency: transitive
427
435
  description:
@@ -518,14 +526,22 @@ packages:
518
526
  url: "https://pub.dev"
519
527
  source: hosted
520
528
  version: "0.2.0"
529
+ screenshot:
530
+ dependency: transitive
531
+ description:
532
+ name: screenshot
533
+ sha256: "63817697a7835e6ce82add4228e15d233b74d42975c143ad8cfe07009fab866b"
534
+ url: "https://pub.dev"
535
+ source: hosted
536
+ version: "3.0.0"
521
537
  sensors_plus:
522
538
  dependency: transitive
523
539
  description:
524
540
  name: sensors_plus
525
- sha256: "905282c917c6bb731c242f928665c2ea15445aa491249dea9d98d7c79dc8fd39"
541
+ sha256: "89e2bfc3d883743539ce5774a2b93df61effde40ff958ecad78cd66b1a8b8d52"
526
542
  url: "https://pub.dev"
527
543
  source: hosted
528
- version: "6.1.1"
544
+ version: "6.1.2"
529
545
  sensors_plus_platform_interface:
530
546
  dependency: transitive
531
547
  description:
@@ -546,10 +562,10 @@ packages:
546
562
  dependency: transitive
547
563
  description:
548
564
  name: shared_preferences_android
549
- sha256: "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac"
565
+ sha256: "5bcf0772a761b04f8c6bf814721713de6f3e5d9d89caf8d3fe031b02a342379e"
550
566
  url: "https://pub.dev"
551
567
  source: hosted
552
- version: "2.4.10"
568
+ version: "2.4.11"
553
569
  shared_preferences_foundation:
554
570
  dependency: transitive
555
571
  description:
@@ -639,10 +655,10 @@ packages:
639
655
  dependency: transitive
640
656
  description:
641
657
  name: synchronized
642
- sha256: "0669c70faae6270521ee4f05bffd2919892d42d1276e6c495be80174b6bc0ef6"
658
+ sha256: c254ade258ec8282947a0acbbc90b9575b4f19673533ee46f2f6e9b3aeefd7c0
643
659
  url: "https://pub.dev"
644
660
  source: hosted
645
- version: "3.3.1"
661
+ version: "3.4.0"
646
662
  term_glyph:
647
663
  dependency: transitive
648
664
  description:
@@ -679,18 +695,18 @@ packages:
679
695
  dependency: transitive
680
696
  description:
681
697
  name: url_launcher_android
682
- sha256: "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79"
698
+ sha256: "0aedad096a85b49df2e4725fa32118f9fa580f3b14af7a2d2221896a02cd5656"
683
699
  url: "https://pub.dev"
684
700
  source: hosted
685
- version: "6.3.16"
701
+ version: "6.3.17"
686
702
  url_launcher_ios:
687
703
  dependency: transitive
688
704
  description:
689
705
  name: url_launcher_ios
690
- sha256: "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb"
706
+ sha256: d80b3f567a617cb923546034cc94bfe44eb15f989fe670b37f26abdb9d939cb7
691
707
  url: "https://pub.dev"
692
708
  source: hosted
693
- version: "6.3.3"
709
+ version: "6.3.4"
694
710
  url_launcher_linux:
695
711
  dependency: transitive
696
712
  description:
@@ -703,10 +719,10 @@ packages:
703
719
  dependency: transitive
704
720
  description:
705
721
  name: url_launcher_macos
706
- sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2"
722
+ sha256: c043a77d6600ac9c38300567f33ef12b0ef4f4783a2c1f00231d2b1941fea13f
707
723
  url: "https://pub.dev"
708
724
  source: hosted
709
- version: "3.2.2"
725
+ version: "3.2.3"
710
726
  url_launcher_platform_interface:
711
727
  dependency: transitive
712
728
  description:
@@ -759,10 +775,10 @@ packages:
759
775
  dependency: transitive
760
776
  description:
761
777
  name: vector_graphics_compiler
762
- sha256: "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331"
778
+ sha256: ca81fdfaf62a5ab45d7296614aea108d2c7d0efca8393e96174bf4d51e6725b0
763
779
  url: "https://pub.dev"
764
780
  source: hosted
765
- version: "1.1.17"
781
+ version: "1.1.18"
766
782
  vector_math:
767
783
  dependency: transitive
768
784
  description:
@@ -775,10 +791,10 @@ packages:
775
791
  dependency: transitive
776
792
  description:
777
793
  name: vm_service
778
- sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
794
+ sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
779
795
  url: "https://pub.dev"
780
796
  source: hosted
781
- version: "14.3.1"
797
+ version: "15.0.0"
782
798
  web:
783
799
  dependency: transitive
784
800
  description:
@@ -807,10 +823,10 @@ packages:
807
823
  dependency: transitive
808
824
  description:
809
825
  name: win32
810
- sha256: "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba"
826
+ sha256: "66814138c3562338d05613a6e368ed8cfb237ad6d64a9e9334be3f309acfca03"
811
827
  url: "https://pub.dev"
812
828
  source: hosted
813
- version: "5.13.0"
829
+ version: "5.14.0"
814
830
  win32_registry:
815
831
  dependency: transitive
816
832
  description:
@@ -823,10 +839,10 @@ packages:
823
839
  dependency: transitive
824
840
  description:
825
841
  name: window_manager
826
- sha256: "51d50168ab267d344b975b15390426b1243600d436770d3f13de67e55b05ec16"
842
+ sha256: "7eb6d6c4164ec08e1bf978d6e733f3cebe792e2a23fb07cbca25c2872bfdbdcd"
827
843
  url: "https://pub.dev"
828
844
  source: hosted
829
- version: "0.5.0"
845
+ version: "0.5.1"
830
846
  window_to_front:
831
847
  dependency: transitive
832
848
  description:
@@ -852,5 +868,5 @@ packages:
852
868
  source: hosted
853
869
  version: "6.5.0"
854
870
  sdks:
855
- dart: ">=3.7.0 <4.0.0"
871
+ dart: ">=3.8.0 <4.0.0"
856
872
  flutter: ">=3.29.0"
@@ -20,4 +20,4 @@ dependencies:
20
20
  dev_dependencies:
21
21
  flutter_test:
22
22
  sdk: flutter
23
- flutter_lints: ^2.0.0
23
+ flutter_lints: ^3.0.0