flet-charts 0.2.0.dev35__py3-none-any.whl → 0.70.0.dev6555__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-charts might be problematic. Click here for more details.

Files changed (46) hide show
  1. flet_charts/__init__.py +59 -17
  2. flet_charts/bar_chart.py +87 -30
  3. flet_charts/bar_chart_group.py +1 -2
  4. flet_charts/bar_chart_rod.py +36 -5
  5. flet_charts/candlestick_chart.py +269 -0
  6. flet_charts/candlestick_chart_spot.py +98 -0
  7. flet_charts/chart_axis.py +29 -9
  8. flet_charts/line_chart.py +76 -14
  9. flet_charts/line_chart_data.py +30 -5
  10. flet_charts/line_chart_data_point.py +33 -4
  11. flet_charts/matplotlib_backends/backend_flet_agg.py +16 -0
  12. flet_charts/matplotlib_chart.py +396 -36
  13. flet_charts/matplotlib_chart_with_toolbar.py +125 -0
  14. flet_charts/pie_chart.py +3 -6
  15. flet_charts/pie_chart_section.py +29 -18
  16. flet_charts/plotly_chart.py +17 -6
  17. flet_charts/radar_chart.py +214 -0
  18. flet_charts/radar_data_set.py +66 -0
  19. flet_charts/scatter_chart.py +75 -29
  20. flet_charts/scatter_chart_spot.py +44 -6
  21. flet_charts/types.py +159 -16
  22. flet_charts-0.70.0.dev6555.dist-info/METADATA +67 -0
  23. flet_charts-0.70.0.dev6555.dist-info/RECORD +47 -0
  24. flutter/flet_charts/CHANGELOG.md +1 -1
  25. flutter/flet_charts/LICENSE +1 -1
  26. flutter/flet_charts/analysis_options.yaml +1 -1
  27. flutter/flet_charts/lib/src/bar_chart.dart +2 -0
  28. flutter/flet_charts/lib/src/candlestick_chart.dart +129 -0
  29. flutter/flet_charts/lib/src/extension.dart +6 -0
  30. flutter/flet_charts/lib/src/radar_chart.dart +104 -0
  31. flutter/flet_charts/lib/src/scatter_chart.dart +22 -21
  32. flutter/flet_charts/lib/src/utils/bar_chart.dart +137 -73
  33. flutter/flet_charts/lib/src/utils/candlestick_chart.dart +118 -0
  34. flutter/flet_charts/lib/src/utils/charts.dart +12 -0
  35. flutter/flet_charts/lib/src/utils/line_chart.dart +15 -3
  36. flutter/flet_charts/lib/src/utils/pie_chart.dart +2 -1
  37. flutter/flet_charts/lib/src/utils/radar_chart.dart +90 -0
  38. flutter/flet_charts/lib/src/utils/scatter_chart.dart +22 -21
  39. flutter/flet_charts/pubspec.lock +85 -71
  40. flutter/flet_charts/pubspec.yaml +10 -9
  41. flet_charts-0.2.0.dev35.dist-info/METADATA +0 -69
  42. flet_charts-0.2.0.dev35.dist-info/RECORD +0 -38
  43. flutter/flet_charts/README.md +0 -3
  44. {flet_charts-0.2.0.dev35.dist-info → flet_charts-0.70.0.dev6555.dist-info}/WHEEL +0 -0
  45. {flet_charts-0.2.0.dev35.dist-info → flet_charts-0.70.0.dev6555.dist-info}/licenses/LICENSE +0 -0
  46. {flet_charts-0.2.0.dev35.dist-info → flet_charts-0.70.0.dev6555.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,90 @@
1
+ import 'package:collection/collection.dart';
2
+ import 'package:equatable/equatable.dart';
3
+ import 'package:fl_chart/fl_chart.dart';
4
+ import 'package:flet/flet.dart';
5
+ import 'package:flutter/material.dart';
6
+
7
+ import 'charts.dart';
8
+
9
+ RadarShape? parseRadarShape(String? value, [RadarShape? defaultValue]) {
10
+ if (value == null) return defaultValue;
11
+ return RadarShape.values.firstWhereOrNull(
12
+ (e) => e.name.toLowerCase() == value.toLowerCase()) ??
13
+ defaultValue;
14
+ }
15
+
16
+ class RadarChartEventData extends Equatable {
17
+ final String eventType;
18
+ final int? dataSetIndex;
19
+ final int? entryIndex;
20
+ final double? entryValue;
21
+
22
+ const RadarChartEventData({
23
+ required this.eventType,
24
+ this.dataSetIndex,
25
+ this.entryIndex,
26
+ this.entryValue,
27
+ });
28
+
29
+ factory RadarChartEventData.fromDetails(
30
+ FlTouchEvent event, RadarTouchResponse? response) {
31
+ final touchedSpot = response?.touchedSpot;
32
+
33
+ return RadarChartEventData(
34
+ eventType: eventMap[event.runtimeType.toString()] ?? "undefined",
35
+ dataSetIndex: touchedSpot?.touchedDataSetIndex,
36
+ entryIndex: touchedSpot?.touchedRadarEntryIndex,
37
+ entryValue: touchedSpot?.touchedRadarEntry.value,
38
+ );
39
+ }
40
+
41
+ Map<String, dynamic> toMap() => <String, dynamic>{
42
+ 'type': eventType,
43
+ 'data_set_index': dataSetIndex,
44
+ 'entry_index': entryIndex,
45
+ 'entry_value': entryValue,
46
+ };
47
+
48
+ @override
49
+ List<Object?> get props => [eventType, dataSetIndex, entryIndex, entryValue];
50
+ }
51
+
52
+ RadarDataSet parseRadarDataSet(
53
+ Control dataSet, ThemeData theme, BuildContext context) {
54
+ final fillColor = dataSet.getColor("fill_color", context, Colors.cyan)!;
55
+ final fillGradient = dataSet.getGradient("fill_gradient", theme);
56
+ final borderColor = dataSet.getColor("border_color", context, Colors.cyan)!;
57
+ final borderWidth = dataSet.getDouble("border_width", 2.0)!;
58
+ final entryRadius = dataSet.getDouble("entry_radius", 5.0)!;
59
+
60
+ final entries = dataSet
61
+ .children("entries")
62
+ .map((entry) => RadarEntry(value: entry.getDouble("value", 0)!))
63
+ .toList();
64
+
65
+ return RadarDataSet(
66
+ dataEntries: entries,
67
+ fillColor: fillColor,
68
+ fillGradient: fillGradient,
69
+ borderColor: borderColor,
70
+ borderWidth: borderWidth,
71
+ entryRadius: entryRadius,
72
+ );
73
+ }
74
+
75
+ RadarChartTitle parseRadarChartTitle(
76
+ Control title, ThemeData theme, double defaultAngle) {
77
+ final spansValue = title.get("text_spans");
78
+ final spans = spansValue != null
79
+ ? parseTextSpans(spansValue, theme, (control, eventName, [eventData]) {
80
+ control.triggerEvent(eventName, eventData);
81
+ })
82
+ : null;
83
+
84
+ return RadarChartTitle(
85
+ text: title.getString("text", "")!,
86
+ angle: title.getDouble("angle") ?? defaultAngle,
87
+ positionPercentageOffset: title.getDouble("position_percentage_offset"),
88
+ children: spans,
89
+ );
90
+ }
@@ -1,4 +1,3 @@
1
- import 'package:collection/collection.dart';
2
1
  import 'package:equatable/equatable.dart';
3
2
  import 'package:fl_chart/fl_chart.dart';
4
3
  import 'package:flet/flet.dart';
@@ -25,34 +24,31 @@ class ScatterChartEventData extends Equatable {
25
24
  List<Object?> get props => [eventType, spotIndex];
26
25
  }
27
26
 
28
- ScatterTouchTooltipData? parseScatterTouchTooltipData(
29
- BuildContext context, Control control, List<ScatterSpot> spots,
30
- [ScatterTouchTooltipData? defaultValue]) {
31
- var tooltip = control.get("tooltip");
32
- if (tooltip == null) return defaultValue;
27
+ ScatterTouchTooltipData parseScatterTouchTooltipData(
28
+ BuildContext context, Control control, List<ScatterSpot> spots) {
29
+ var tooltip = control.get("tooltip") ?? {};
33
30
 
34
31
  final theme = Theme.of(context);
35
32
 
36
33
  return ScatterTouchTooltipData(
37
34
  tooltipBorder: parseBorderSide(tooltip["border_side"], theme,
38
35
  defaultValue: BorderSide.none)!,
39
- rotateAngle: parseDouble(tooltip["rotate_angle"]),
40
- maxContentWidth: parseDouble(tooltip["max_width"]),
41
- tooltipPadding: parsePadding(tooltip["padding"]),
42
- tooltipHorizontalAlignment: FLHorizontalAlignment.values
43
- .firstWhereOrNull((v) => v.name == tooltip["horizontal_alignment"]),
44
- tooltipHorizontalOffset: parseDouble(tooltip["horizontal_offset"]),
36
+ rotateAngle: parseDouble(tooltip["rotation"], 0.0)!,
37
+ maxContentWidth: parseDouble(tooltip["max_width"], 120)!,
38
+ tooltipPadding: parsePadding(tooltip["padding"],
39
+ const EdgeInsets.symmetric(horizontal: 16, vertical: 8))!,
40
+ tooltipHorizontalAlignment: parseFLHorizontalAlignment(
41
+ tooltip["horizontal_alignment"], FLHorizontalAlignment.center)!,
42
+ tooltipHorizontalOffset: parseDouble(tooltip["horizontal_offset"], 0),
45
43
  tooltipBorderRadius: parseBorderRadius(tooltip["border_radius"]),
46
- fitInsideHorizontally: parseBool(tooltip["fit_inside_horizontally"]),
47
- fitInsideVertically: parseBool(tooltip["fit_inside_vertically"]),
48
- getTooltipColor: (ScatterSpot spot) {
49
- // var spotIndex =
50
- // spots.indexWhere((spot) => spot.x == spot.x && spot.y == spot.y);
51
- // var dp = control.children("spots")[spotIndex];
44
+ fitInsideHorizontally:
45
+ parseBool(tooltip["fit_inside_horizontally"], false)!,
46
+ fitInsideVertically: parseBool(tooltip["fit_inside_vertically"], false)!,
47
+ getTooltipColor: (ScatterSpot touchedSpot) {
52
48
  return parseColor(
53
49
  tooltip["bgcolor"], theme, const Color.fromRGBO(96, 125, 139, 1))!;
54
50
  },
55
- getTooltipItems: (touchedSpot) {
51
+ getTooltipItems: (ScatterSpot touchedSpot) {
56
52
  var spotIndex = spots.indexWhere(
57
53
  (spot) => spot.x == touchedSpot.x && spot.y == touchedSpot.y);
58
54
  return parseScatterTooltipItem(
@@ -65,9 +61,10 @@ ScatterTooltipItem? parseScatterTooltipItem(
65
61
  Control dataPoint, ScatterSpot spot, BuildContext context) {
66
62
  if (!dataPoint.getBool("show_tooltip", true)!) return null;
67
63
 
68
- final theme = Theme.of(context);
64
+ var tooltip = dataPoint.internals?["tooltip"];
65
+ if (tooltip == null) return null;
69
66
 
70
- var tooltip = dataPoint.get("tooltip");
67
+ final theme = Theme.of(context);
71
68
  var style = parseTextStyle(tooltip["text_style"], theme, const TextStyle())!;
72
69
  if (style.color == null) {
73
70
  style = style.copyWith(color: spot.dotPainter.mainColor);
@@ -76,6 +73,10 @@ ScatterTooltipItem? parseScatterTooltipItem(
76
73
  tooltip["text"] ?? dataPoint.getDouble("y").toString(),
77
74
  textStyle: style,
78
75
  textAlign: parseTextAlign(tooltip["text_align"], TextAlign.center)!,
76
+ textDirection: parseBool(tooltip["rtl"], false)!
77
+ ? TextDirection.rtl
78
+ : TextDirection.ltr,
79
+ bottomMargin: parseDouble(tooltip["bottom_margin"]),
79
80
  children: tooltip["text_spans"] != null
80
81
  ? parseTextSpans(tooltip["text_spans"], theme, (s, eventName,
81
82
  [eventData]) {
@@ -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
  boolean_selector:
21
21
  dependency: transitive
22
22
  description:
@@ -53,26 +53,34 @@ packages:
53
53
  dependency: transitive
54
54
  description:
55
55
  name: cross_file
56
- sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670"
56
+ sha256: "942a4791cd385a68ccb3b32c71c427aba508a1bb949b86dff2adbe4049f16239"
57
57
  url: "https://pub.dev"
58
58
  source: hosted
59
- version: "0.3.4+2"
59
+ version: "0.3.5"
60
60
  crypto:
61
61
  dependency: transitive
62
62
  description:
63
63
  name: crypto
64
- sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855"
64
+ sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf
65
65
  url: "https://pub.dev"
66
66
  source: hosted
67
- version: "3.0.6"
67
+ version: "3.0.7"
68
+ dbus:
69
+ dependency: transitive
70
+ description:
71
+ name: dbus
72
+ sha256: "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c"
73
+ url: "https://pub.dev"
74
+ source: hosted
75
+ version: "0.7.11"
68
76
  device_info_plus:
69
77
  dependency: transitive
70
78
  description:
71
79
  name: device_info_plus
72
- sha256: "98f28b42168cc509abc92f88518882fd58061ea372d7999aecc424345c7bff6a"
80
+ sha256: dd0e8e02186b2196c7848c9d394a5fd6e5b57a43a546082c5820b1ec72317e33
73
81
  url: "https://pub.dev"
74
82
  source: hosted
75
- version: "11.5.0"
83
+ version: "12.2.0"
76
84
  device_info_plus_platform_interface:
77
85
  dependency: transitive
78
86
  description:
@@ -93,10 +101,10 @@ packages:
93
101
  dependency: transitive
94
102
  description:
95
103
  name: fake_async
96
- sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc"
104
+ sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
97
105
  url: "https://pub.dev"
98
106
  source: hosted
99
- version: "1.3.2"
107
+ version: "1.3.3"
100
108
  ffi:
101
109
  dependency: transitive
102
110
  description:
@@ -117,26 +125,24 @@ packages:
117
125
  dependency: transitive
118
126
  description:
119
127
  name: file_picker
120
- sha256: ef9908739bdd9c476353d6adff72e88fd00c625f5b959ae23f7567bd5137db0a
128
+ sha256: f2d9f173c2c14635cc0e9b14c143c49ef30b4934e8d1d274d6206fcb0086a06f
121
129
  url: "https://pub.dev"
122
130
  source: hosted
123
- version: "10.2.0"
131
+ version: "10.3.3"
124
132
  fl_chart:
125
133
  dependency: "direct main"
126
134
  description:
127
135
  name: fl_chart
128
- sha256: "577aeac8ca414c25333334d7c4bb246775234c0e44b38b10a82b559dd4d764e7"
136
+ sha256: "7ca9a40f4eb85949190e54087be8b4d6ac09dc4c54238d782a34cf1f7c011de9"
129
137
  url: "https://pub.dev"
130
138
  source: hosted
131
- version: "1.0.0"
139
+ version: "1.1.1"
132
140
  flet:
133
141
  dependency: "direct main"
134
142
  description:
135
- path: "packages/flet"
136
- ref: main
137
- resolved-ref: cf8823c5d766ea7866480986aa3ee871f4091e78
138
- url: "https://github.com/flet-dev/flet.git"
139
- source: git
143
+ path: "../../../../../../../packages/flet"
144
+ relative: true
145
+ source: path
140
146
  version: "0.70.0"
141
147
  flutter:
142
148
  dependency: "direct main"
@@ -176,18 +182,18 @@ packages:
176
182
  dependency: transitive
177
183
  description:
178
184
  name: flutter_plugin_android_lifecycle
179
- sha256: f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e
185
+ sha256: "306f0596590e077338312f38837f595c04f28d6cdeeac392d3d74df2f0003687"
180
186
  url: "https://pub.dev"
181
187
  source: hosted
182
- version: "2.0.28"
188
+ version: "2.0.32"
183
189
  flutter_svg:
184
190
  dependency: transitive
185
191
  description:
186
192
  name: flutter_svg
187
- sha256: d44bf546b13025ec7353091516f6881f1d4c633993cb109c3916c3a0159dadf1
193
+ sha256: b9c2ad5872518a27507ab432d1fb97e8813b05f0fc693f9d40fad06d073e0678
188
194
  url: "https://pub.dev"
189
195
  source: hosted
190
- version: "2.1.0"
196
+ version: "2.2.1"
191
197
  flutter_test:
192
198
  dependency: "direct dev"
193
199
  description: flutter
@@ -210,10 +216,10 @@ packages:
210
216
  dependency: transitive
211
217
  description:
212
218
  name: http
213
- sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f
219
+ sha256: bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007
214
220
  url: "https://pub.dev"
215
221
  source: hosted
216
- version: "1.3.0"
222
+ version: "1.5.0"
217
223
  http_parser:
218
224
  dependency: transitive
219
225
  description:
@@ -226,10 +232,10 @@ packages:
226
232
  dependency: transitive
227
233
  description:
228
234
  name: intl
229
- sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
235
+ sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5"
230
236
  url: "https://pub.dev"
231
237
  source: hosted
232
- version: "0.19.0"
238
+ version: "0.20.2"
233
239
  json_annotation:
234
240
  dependency: transitive
235
241
  description:
@@ -242,26 +248,26 @@ packages:
242
248
  dependency: transitive
243
249
  description:
244
250
  name: leak_tracker
245
- sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
251
+ sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de"
246
252
  url: "https://pub.dev"
247
253
  source: hosted
248
- version: "10.0.8"
254
+ version: "11.0.2"
249
255
  leak_tracker_flutter_testing:
250
256
  dependency: transitive
251
257
  description:
252
258
  name: leak_tracker_flutter_testing
253
- sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
259
+ sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1"
254
260
  url: "https://pub.dev"
255
261
  source: hosted
256
- version: "3.0.9"
262
+ version: "3.0.10"
257
263
  leak_tracker_testing:
258
264
  dependency: transitive
259
265
  description:
260
266
  name: leak_tracker_testing
261
- sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
267
+ sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1"
262
268
  url: "https://pub.dev"
263
269
  source: hosted
264
- version: "3.0.1"
270
+ version: "3.0.2"
265
271
  lints:
266
272
  dependency: transitive
267
273
  description:
@@ -354,18 +360,18 @@ packages:
354
360
  dependency: transitive
355
361
  description:
356
362
  name: path_provider_android
357
- sha256: d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9
363
+ sha256: e122c5ea805bb6773bb12ce667611265980940145be920cd09a4b0ec0285cb16
358
364
  url: "https://pub.dev"
359
365
  source: hosted
360
- version: "2.2.17"
366
+ version: "2.2.20"
361
367
  path_provider_foundation:
362
368
  dependency: transitive
363
369
  description:
364
370
  name: path_provider_foundation
365
- sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942"
371
+ sha256: efaec349ddfc181528345c56f8eda9d6cccd71c177511b132c6a0ddaefaa2738
366
372
  url: "https://pub.dev"
367
373
  source: hosted
368
- version: "2.4.1"
374
+ version: "2.4.3"
369
375
  path_provider_linux:
370
376
  dependency: transitive
371
377
  description:
@@ -394,10 +400,10 @@ packages:
394
400
  dependency: transitive
395
401
  description:
396
402
  name: petitparser
397
- sha256: "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646"
403
+ sha256: "1a97266a94f7350d30ae522c0af07890c70b8e62c71e8e3920d1db4d23c057d1"
398
404
  url: "https://pub.dev"
399
405
  source: hosted
400
- version: "6.1.0"
406
+ version: "7.0.1"
401
407
  platform:
402
408
  dependency: transitive
403
409
  description:
@@ -418,10 +424,10 @@ packages:
418
424
  dependency: transitive
419
425
  description:
420
426
  name: provider
421
- sha256: "4abbd070a04e9ddc287673bf5a030c7ca8b685ff70218720abab8b092f53dd84"
427
+ sha256: "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272"
422
428
  url: "https://pub.dev"
423
429
  source: hosted
424
- version: "6.1.5"
430
+ version: "6.1.5+1"
425
431
  screen_retriever:
426
432
  dependency: transitive
427
433
  description:
@@ -462,14 +468,22 @@ packages:
462
468
  url: "https://pub.dev"
463
469
  source: hosted
464
470
  version: "0.2.0"
471
+ screenshot:
472
+ dependency: transitive
473
+ description:
474
+ name: screenshot
475
+ sha256: "63817697a7835e6ce82add4228e15d233b74d42975c143ad8cfe07009fab866b"
476
+ url: "https://pub.dev"
477
+ source: hosted
478
+ version: "3.0.0"
465
479
  sensors_plus:
466
480
  dependency: transitive
467
481
  description:
468
482
  name: sensors_plus
469
- sha256: "905282c917c6bb731c242f928665c2ea15445aa491249dea9d98d7c79dc8fd39"
483
+ sha256: "89e2bfc3d883743539ce5774a2b93df61effde40ff958ecad78cd66b1a8b8d52"
470
484
  url: "https://pub.dev"
471
485
  source: hosted
472
- version: "6.1.1"
486
+ version: "6.1.2"
473
487
  sensors_plus_platform_interface:
474
488
  dependency: transitive
475
489
  description:
@@ -482,26 +496,26 @@ packages:
482
496
  dependency: transitive
483
497
  description:
484
498
  name: shared_preferences
485
- sha256: "846849e3e9b68f3ef4b60c60cf4b3e02e9321bc7f4d8c4692cf87ffa82fc8a3a"
499
+ sha256: "6e8bf70b7fef813df4e9a36f658ac46d107db4b4cfe1048b477d4e453a8159f5"
486
500
  url: "https://pub.dev"
487
501
  source: hosted
488
- version: "2.5.2"
502
+ version: "2.5.3"
489
503
  shared_preferences_android:
490
504
  dependency: transitive
491
505
  description:
492
506
  name: shared_preferences_android
493
- sha256: "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac"
507
+ sha256: "34266009473bf71d748912da4bf62d439185226c03e01e2d9687bc65bbfcb713"
494
508
  url: "https://pub.dev"
495
509
  source: hosted
496
- version: "2.4.10"
510
+ version: "2.4.15"
497
511
  shared_preferences_foundation:
498
512
  dependency: transitive
499
513
  description:
500
514
  name: shared_preferences_foundation
501
- sha256: "6a52cfcdaeac77cad8c97b539ff688ccfc458c007b4db12be584fbe5c0e49e03"
515
+ sha256: "1c33a907142607c40a7542768ec9badfd16293bac51da3a4482623d15845f88b"
502
516
  url: "https://pub.dev"
503
517
  source: hosted
504
- version: "2.5.4"
518
+ version: "2.5.5"
505
519
  shared_preferences_linux:
506
520
  dependency: transitive
507
521
  description:
@@ -583,10 +597,10 @@ packages:
583
597
  dependency: transitive
584
598
  description:
585
599
  name: test_api
586
- sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
600
+ sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00"
587
601
  url: "https://pub.dev"
588
602
  source: hosted
589
- version: "0.7.4"
603
+ version: "0.7.6"
590
604
  typed_data:
591
605
  dependency: transitive
592
606
  description:
@@ -599,26 +613,26 @@ packages:
599
613
  dependency: transitive
600
614
  description:
601
615
  name: url_launcher
602
- sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603"
616
+ sha256: f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8
603
617
  url: "https://pub.dev"
604
618
  source: hosted
605
- version: "6.3.1"
619
+ version: "6.3.2"
606
620
  url_launcher_android:
607
621
  dependency: transitive
608
622
  description:
609
623
  name: url_launcher_android
610
- sha256: "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79"
624
+ sha256: "5c8b6c2d89a78f5a1cca70a73d9d5f86c701b36b42f9c9dac7bad592113c28e9"
611
625
  url: "https://pub.dev"
612
626
  source: hosted
613
- version: "6.3.16"
627
+ version: "6.3.24"
614
628
  url_launcher_ios:
615
629
  dependency: transitive
616
630
  description:
617
631
  name: url_launcher_ios
618
- sha256: "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb"
632
+ sha256: "6b63f1441e4f653ae799166a72b50b1767321ecc263a57aadf825a7a2a5477d9"
619
633
  url: "https://pub.dev"
620
634
  source: hosted
621
- version: "6.3.3"
635
+ version: "6.3.5"
622
636
  url_launcher_linux:
623
637
  dependency: transitive
624
638
  description:
@@ -631,10 +645,10 @@ packages:
631
645
  dependency: transitive
632
646
  description:
633
647
  name: url_launcher_macos
634
- sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2"
648
+ sha256: "8262208506252a3ed4ff5c0dc1e973d2c0e0ef337d0a074d35634da5d44397c9"
635
649
  url: "https://pub.dev"
636
650
  source: hosted
637
- version: "3.2.2"
651
+ version: "3.2.4"
638
652
  url_launcher_platform_interface:
639
653
  dependency: transitive
640
654
  description:
@@ -679,26 +693,26 @@ packages:
679
693
  dependency: transitive
680
694
  description:
681
695
  name: vector_graphics_compiler
682
- sha256: "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331"
696
+ sha256: d354a7ec6931e6047785f4db12a1f61ec3d43b207fc0790f863818543f8ff0dc
683
697
  url: "https://pub.dev"
684
698
  source: hosted
685
- version: "1.1.17"
699
+ version: "1.1.19"
686
700
  vector_math:
687
701
  dependency: transitive
688
702
  description:
689
703
  name: vector_math
690
- sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
704
+ sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b
691
705
  url: "https://pub.dev"
692
706
  source: hosted
693
- version: "2.1.4"
707
+ version: "2.2.0"
694
708
  vm_service:
695
709
  dependency: transitive
696
710
  description:
697
711
  name: vm_service
698
- sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
712
+ sha256: "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60"
699
713
  url: "https://pub.dev"
700
714
  source: hosted
701
- version: "14.3.1"
715
+ version: "15.0.2"
702
716
  web:
703
717
  dependency: transitive
704
718
  description:
@@ -727,10 +741,10 @@ packages:
727
741
  dependency: transitive
728
742
  description:
729
743
  name: win32
730
- sha256: "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba"
744
+ sha256: d7cb55e04cd34096cd3a79b3330245f54cb96a370a1c27adb3c84b917de8b08e
731
745
  url: "https://pub.dev"
732
746
  source: hosted
733
- version: "5.13.0"
747
+ version: "5.15.0"
734
748
  win32_registry:
735
749
  dependency: transitive
736
750
  description:
@@ -767,10 +781,10 @@ packages:
767
781
  dependency: transitive
768
782
  description:
769
783
  name: xml
770
- sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
784
+ sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025"
771
785
  url: "https://pub.dev"
772
786
  source: hosted
773
- version: "6.5.0"
787
+ version: "6.6.1"
774
788
  sdks:
775
- dart: ">=3.7.0 <4.0.0"
776
- flutter: ">=3.29.0"
789
+ dart: ">=3.9.0 <4.0.0"
790
+ flutter: ">=3.35.0"
@@ -1,23 +1,24 @@
1
1
  name: flet_charts
2
2
  description: A Flet extension for creating interactive charts and graphs.
3
- homepage: https://flet.dev
4
- repository: https://github.com/flet-dev/flet-charts/src/flutter/flet_charts
5
- version: 0.2.0
3
+ version: 0.1.0
6
4
  publish_to: none
5
+
7
6
  environment:
8
7
  sdk: '>=3.2.3 <4.0.0'
9
- flutter: '>=1.17.0'
8
+ flutter: ">=1.17.0"
9
+
10
10
  dependencies:
11
11
  flutter:
12
12
  sdk: flutter
13
+
14
+
13
15
  collection: ^1.16.0
14
16
  equatable: ^2.0.3
15
- fl_chart: 1.0.0
17
+ fl_chart: 1.1.1
18
+
16
19
  flet:
17
- git:
18
- url: https://github.com/flet-dev/flet.git
19
- path: packages/flet
20
- ref: main
20
+ path: ../../../../../../../packages/flet
21
+
21
22
  dev_dependencies:
22
23
  flutter_test:
23
24
  sdk: flutter
@@ -1,69 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: flet-charts
3
- Version: 0.2.0.dev35
4
- Summary: A Flet extension for creating interactive charts and graphs.
5
- Author-email: Flet contributors <hello@flet.dev>
6
- License-Expression: Apache-2.0
7
- Project-URL: Homepage, https://flet.dev
8
- Project-URL: Documentation, https://flet-dev.github.io/flet-charts
9
- Project-URL: Repository, https://github.com/flet-dev/flet-charts
10
- Project-URL: Issues, https://github.com/flet-dev/flet-charts/issues
11
- Requires-Python: >=3.10
12
- Description-Content-Type: text/markdown
13
- License-File: LICENSE
14
- Requires-Dist: flet>=0.70.0.dev0
15
- Provides-Extra: all
16
- Requires-Dist: plotly>=6.0.1; extra == "all"
17
- Requires-Dist: matplotlib>=3.10.1; extra == "all"
18
- Provides-Extra: plotly
19
- Requires-Dist: plotly>=6.0.1; extra == "plotly"
20
- Provides-Extra: matplotlib
21
- Requires-Dist: matplotlib>=3.10.1; extra == "matplotlib"
22
- Dynamic: license-file
23
-
24
- # flet-charts
25
-
26
- [![pypi](https://img.shields.io/pypi/v/flet-charts.svg)](https://pypi.python.org/pypi/flet-charts)
27
- [![downloads](https://static.pepy.tech/badge/flet-charts/month)](https://pepy.tech/project/flet-charts)
28
- [![license](https://img.shields.io/github/license/flet-dev/flet-charts.svg)](https://github.com/flet-dev/flet-charts/blob/main/LICENSE)
29
-
30
- A [Flet](https://flet.dev) extension for creating interactive charts and graphs.
31
-
32
- It is based on the [fl_chart](https://pub.dev/packages/fl_chart) Flutter package.
33
-
34
- ## Documentation
35
-
36
- Detailed documentation to this package can be found [here](https://flet-dev.github.io/flet-charts/).
37
-
38
- ## Platform Support
39
-
40
- This package supports the following platforms:
41
-
42
- | Platform | Supported |
43
- |----------|:---------:|
44
- | Windows | ✅ |
45
- | macOS | ✅ |
46
- | Linux | ✅ |
47
- | iOS | ✅ |
48
- | Android | ✅ |
49
- | Web | ✅ |
50
-
51
- ## Installation
52
-
53
- To install the `flet-charts` package and add it to your project dependencies:
54
-
55
- - Using `uv`:
56
- ```bash
57
- uv add flet-charts
58
- ```
59
-
60
- - Using `pip`:
61
- ```bash
62
- pip install flet-charts
63
- ```
64
- After this, you will have to manually add this package to your `requirements.txt` or `pyproject.toml`.
65
-
66
- - Using `poetry`:
67
- ```bash
68
- poetry add flet-charts
69
- ```