geo-activity-playground 0.38.0__py3-none-any.whl → 0.38.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.
@@ -119,8 +119,8 @@ def _get_metadata_from_timeseries(timeseries: pd.DataFrame) -> ActivityMeta:
119
119
  metadata["end_latitude"] = timeseries["latitude"].iloc[-1]
120
120
  metadata["start_longitude"] = timeseries["longitude"].iloc[0]
121
121
  metadata["end_longitude"] = timeseries["longitude"].iloc[-1]
122
-
123
- metadata["elevation_gain"] = timeseries["elevation_gain_cum"].iloc[-1]
122
+ if "elevation_gain_cum" in timeseries.columns:
123
+ metadata["elevation_gain"] = timeseries["elevation_gain_cum"].iloc[-1]
124
124
 
125
125
  return metadata
126
126
 
@@ -75,6 +75,6 @@
75
75
 
76
76
  <h2>Share picture</h2>
77
77
 
78
- <p><img src="{{ url_for('.day_sharepic', year=year, month=month, day=day) }}" /></p>
78
+ <p><img class="img-fluid" src="{{ url_for('.day_sharepic', year=year, month=month, day=day) }}" /></p>
79
79
 
80
80
  {% endblock %}
@@ -8,7 +8,7 @@
8
8
  </div>
9
9
 
10
10
  <div class="row mb-3">
11
- <div class="col-4">
11
+ <div class="col-sm-12 col-md-4">
12
12
  <dl>
13
13
  <dt>Name</dt>
14
14
  <dd>{{ activity["name"] }}</dd>
@@ -54,7 +54,7 @@
54
54
 
55
55
  <a href="{{ url_for('.edit', id=activity['id']) }}" class="btn btn-secondary btn-small">Edit metadata</a>
56
56
  </div>
57
- <div class="col-8">
57
+ <div class="col-sm-12 col-md-8">
58
58
  <div id="activity-map" style="height: 500px;" class="mb-3"></div>
59
59
  <script>
60
60
  var map = L.map('activity-map', {
@@ -161,7 +161,7 @@
161
161
 
162
162
  <h2>Share picture</h2>
163
163
 
164
- <p><img src="{{ url_for('.sharepic', id=activity.id) }}" /></p>
164
+ <p><img class="img-fluid" src="{{ url_for('.sharepic', id=activity.id) }}" /></p>
165
165
 
166
166
  <p>Not happy with the displayed data? <a href="{{ url_for('settings.sharepic') }}">Change share picture
167
167
  settings</a>.</p>
@@ -186,5 +186,9 @@ def _get_eddington_number_history(meta: pd.DataFrame) -> dict:
186
186
  .encode(
187
187
  alt.X("date", title="Date"),
188
188
  alt.Y("eddington_number", title="Eddington number"),
189
+ [
190
+ alt.Tooltip("date", title="Date"),
191
+ alt.Tooltip("eddington_number", title="Eddington number"),
192
+ ],
189
193
  )
190
194
  ).to_json(format="vega")
@@ -41,6 +41,14 @@ def make_equipment_blueprint(
41
41
  .encode(
42
42
  alt.X("time", title="Date"),
43
43
  alt.Y("total_distance_km", title="Cumulative distance / km"),
44
+ tooltip=[
45
+ alt.Tooltip("time:T", title="Date"),
46
+ alt.Tooltip(
47
+ "total_distance_km:Q",
48
+ title="Cumulative distance / km",
49
+ format=".0f",
50
+ ),
51
+ ],
44
52
  )
45
53
  .interactive()
46
54
  .to_json(format="vega")
@@ -61,6 +69,13 @@ def make_equipment_blueprint(
61
69
  scale=make_kind_scale(repository.meta, config),
62
70
  title="Kind",
63
71
  ),
72
+ tooltip=[
73
+ alt.Tooltip("year(start):O", title="Year"),
74
+ alt.Tooltip(
75
+ "sum(distance_km):Q", title="Distance / km", format=".0f"
76
+ ),
77
+ alt.Tooltip("kind:N", title="Kind"),
78
+ ],
64
79
  )
65
80
  .to_json(format="vega")
66
81
  )
@@ -78,6 +93,12 @@ def make_equipment_blueprint(
78
93
  title="Kind",
79
94
  ),
80
95
  alt.Y("sum(distance_km)", title="Distance / km"),
96
+ tooltip=[
97
+ alt.Tooltip("kind:N", title="Kind"),
98
+ alt.Tooltip(
99
+ "sum(distance_km):Q", title="Distance / km", format=".0f"
100
+ ),
101
+ ],
81
102
  )
82
103
  .to_json(format="vega")
83
104
  )
@@ -42,7 +42,7 @@
42
42
  </div>
43
43
 
44
44
  <p>Have a look at the documentation
45
- <a href="https://martin-ueding.github.io/geo-activity-playground/getting-started/advanced-metadata-extraction">Advanced Metadata Extraction</a>
45
+ <a href="https://martin-ueding.github.io/geo-activity-playground/advanced-metadata-extraction">Advanced Metadata Extraction</a>
46
46
  for explanations and examples.</p>
47
47
  </div>
48
48
  </div>
@@ -163,6 +163,13 @@ def plot_monthly_distance(meta: pd.DataFrame, kind_scale: alt.Scale) -> str:
163
163
  alt.Y("sum(distance_km)", title="Distance / km"),
164
164
  alt.Color("kind", scale=kind_scale, title="Kind"),
165
165
  alt.Column("year(start):O", title="Year"),
166
+ [
167
+ alt.Tooltip("yearmonthdate(start)", title="Date"),
168
+ alt.Tooltip(
169
+ "sum(distance_km)", format=".1f", title="Total distance / km"
170
+ ),
171
+ alt.Tooltip("count(distance_km)", title="Number of activities"),
172
+ ],
166
173
  )
167
174
  .resolve_axis(x="independent")
168
175
  .to_json(format="vega")
@@ -180,7 +187,7 @@ def plot_yearly_distance(year_kind_total: pd.DataFrame, kind_scale: alt.Scale) -
180
187
  [
181
188
  alt.Tooltip("year:O", title="Year"),
182
189
  alt.Tooltip("kind", title="Kind"),
183
- alt.Tooltip("distance_km", title="Distance / km"),
190
+ alt.Tooltip("distance_km", title="Distance / km", format=".1f"),
184
191
  ],
185
192
  )
186
193
  .to_json(format="vega")
@@ -210,7 +217,7 @@ def plot_year_cumulative(df: pd.DataFrame) -> str:
210
217
  [
211
218
  alt.Tooltip("week", title="Week"),
212
219
  alt.Tooltip("iso_year:N", title="Year"),
213
- alt.Tooltip("distance_km", title="Distance / km"),
220
+ alt.Tooltip("distance_km", title="Distance / km", format=".1f"),
214
221
  ],
215
222
  )
216
223
  .interactive()
@@ -267,7 +274,7 @@ def plot_weekly_distance(df: pd.DataFrame, kind_scale: alt.Scale) -> str:
267
274
  [
268
275
  alt.Tooltip("year_week", title="Year and Week"),
269
276
  alt.Tooltip("kind", title="Kind"),
270
- alt.Tooltip("distance_km", title="Distance / km"),
277
+ alt.Tooltip("distance_km", title="Distance / km", format=".1f"),
271
278
  ],
272
279
  )
273
280
  .to_json(format="vega")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: geo-activity-playground
3
- Version: 0.38.0
3
+ Version: 0.38.2
4
4
  Summary: Analysis of geo data activities like rides, runs or hikes.
5
5
  License: MIT
6
6
  Author: Martin Ueding
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3.10
12
12
  Classifier: Programming Language :: Python :: 3.11
13
13
  Classifier: Programming Language :: Python :: 3.12
14
14
  Requires-Dist: Pillow (>=11.0.0,<12.0.0)
15
- Requires-Dist: altair (>=5.1.2,<6.0.0)
15
+ Requires-Dist: altair (>=5.5.0,<6.0.0)
16
16
  Requires-Dist: appdirs (>=1.4.4,<2.0.0)
17
17
  Requires-Dist: charset-normalizer (>=3.3.2,<4.0.0)
18
18
  Requires-Dist: coloredlogs (>=15.0.1,<16.0.0)
@@ -21,10 +21,10 @@ Requires-Dist: flask (>=3.0.0,<4.0.0)
21
21
  Requires-Dist: geojson (>=3.0.1,<4.0.0)
22
22
  Requires-Dist: gpxpy (>=1.5.0,<2.0.0)
23
23
  Requires-Dist: jinja2 (>=3.1.2,<4.0.0)
24
- Requires-Dist: matplotlib (>=3.6.3,<4.0.0)
25
- Requires-Dist: numpy (>=2.1.3,<3.0.0)
26
- Requires-Dist: pandas (>=2.2,<3.0)
27
- Requires-Dist: pyarrow (>=18.1.0,<19.0.0)
24
+ Requires-Dist: matplotlib (>=3.10.1,<4.0.0)
25
+ Requires-Dist: numpy (>=2.2.3,<3.0.0)
26
+ Requires-Dist: pandas (>=2.2.3,<3.0.0)
27
+ Requires-Dist: pyarrow (>=19.0.1,<20.0.0)
28
28
  Requires-Dist: python-dateutil (>=2.8.2,<3.0.0)
29
29
  Requires-Dist: requests (>=2.28.1,<3.0.0)
30
30
  Requires-Dist: shapely (>=2.0.5,<3.0.0)
@@ -4,7 +4,7 @@ geo_activity_playground/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
4
4
  geo_activity_playground/core/activities.py,sha256=hIn11bsriNhcalWRWPU8SYqM7cKEFI-n9voqSyT7Tdk,7695
5
5
  geo_activity_playground/core/config.py,sha256=oo0pSoBZVU__U81OzW2Qdw8C5Tq_pO7CWibA4CugZmc,5296
6
6
  geo_activity_playground/core/coordinates.py,sha256=tDfr9mlXhK6E_MMIJ0vYWVCoH0Lq8uyuaqUgaa8i0jg,966
7
- geo_activity_playground/core/enrichment.py,sha256=od2H0W-Ubw1lhVeB_qTbFMuxN7jU5Gkb0eHH7QpZkTA,8186
7
+ geo_activity_playground/core/enrichment.py,sha256=WbUsKifhLLQc2ntqcYs_KwRPrWvSMmMWTWBY6blJx8U,8240
8
8
  geo_activity_playground/core/heart_rate.py,sha256=IwMt58TpjOYqpAxtsj07zP2ttpN_J3GZeiv-qGhYyJc,1598
9
9
  geo_activity_playground/core/meta_search.py,sha256=naErjAC7ZCFhOF6d492kbegZxCdzbpGcJvjQLJTE4xE,5016
10
10
  geo_activity_playground/core/paths.py,sha256=RBeUi38riP_msTGPy1TsPRNiblzE-lFivaJSLULE8b0,2503
@@ -37,11 +37,11 @@ geo_activity_playground/webui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
37
37
  geo_activity_playground/webui/activity/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
38
  geo_activity_playground/webui/activity/blueprint.py,sha256=J2f6zzBtwkrem51WDakLXKahVcOxMT2JKbbFgu0VFws,3914
39
39
  geo_activity_playground/webui/activity/controller.py,sha256=2nVbcVUc7BTccnfJzzw_XcgwyGte_7phUOrmZxF__s4,20159
40
- geo_activity_playground/webui/activity/templates/activity/day.html.j2,sha256=tFRiYj61iJyCwEasIezoJeSOTpRvHY-58nlaalS8PPA,2587
40
+ geo_activity_playground/webui/activity/templates/activity/day.html.j2,sha256=-511hLy5PiwASFeBgTc4KhygBbpPTe7FyfjkCH7PBE0,2605
41
41
  geo_activity_playground/webui/activity/templates/activity/edit.html.j2,sha256=ckcTTxcQOhmvvAGNTEOtWCUG4LhvO4HfQImlIa5qKs8,1530
42
42
  geo_activity_playground/webui/activity/templates/activity/lines.html.j2,sha256=_ZDg1ruW-9UMJfOudy1-uY_-IcSSaagq7tPCih5Bb8g,1079
43
43
  geo_activity_playground/webui/activity/templates/activity/name.html.j2,sha256=H2v1H92T-iIbA_tYnYP59bgXAY6HpgG368eCF7NDboY,2557
44
- geo_activity_playground/webui/activity/templates/activity/show.html.j2,sha256=Vc42G_rQOna13Qi_opVPbjVLB05PrY1xAdt9MFscbvI,7709
44
+ geo_activity_playground/webui/activity/templates/activity/show.html.j2,sha256=kXFGhK7FliL4NiqF_z6HYwlODDMoc42_4fAwLLlpZv0,7753
45
45
  geo_activity_playground/webui/app.py,sha256=K5PT6jzeG7cWle5cdWEvha7XmQJPACnHbhKSZlgSynA,6173
46
46
  geo_activity_playground/webui/auth_blueprint.py,sha256=sERpBU6cXdBuVjMMiRQBGJMibFZCfrUXMPj4ukzd_Ug,783
47
47
  geo_activity_playground/webui/authenticator.py,sha256=k278OEVuOfAmTGT4F2X4pqSTwwkK_FA87EIhAeysEqc,1416
@@ -50,9 +50,9 @@ geo_activity_playground/webui/calendar/blueprint.py,sha256=Kjyx9lkJoM5tL8vNba0Y7
50
50
  geo_activity_playground/webui/calendar/controller.py,sha256=QpSAkR2s1sbLSu6P_fNNTccgGglOzEH2PIv1XwKxeVY,2778
51
51
  geo_activity_playground/webui/calendar/templates/calendar/index.html.j2,sha256=xoR6R4cUgTQNRHQv3m3f4Bc-yCjJEsJj5d4_CWlJsRo,1427
52
52
  geo_activity_playground/webui/calendar/templates/calendar/month.html.j2,sha256=sRIiNo_Rp9CHary6e-lnpKJKOuAonoDEBvKMxzbTLQE,1802
53
- geo_activity_playground/webui/eddington_blueprint.py,sha256=1MuYSILMlkq3Xc0qgrIaeT-aCIic3jazYFek3LDbSqU,6876
53
+ geo_activity_playground/webui/eddington_blueprint.py,sha256=D-VrFhyWIcn46BXo7_5vBXvW5rhyQqrnQ9Gc-WESd-Y,7031
54
54
  geo_activity_playground/webui/entry_controller.py,sha256=McxbyouKWHJ3a2R9agPazZoG7VHiFO1RvnkBr08dMH8,2168
55
- geo_activity_playground/webui/equipment_blueprint.py,sha256=wyH-kvJxx9TB-Tx4iPBB02ubes5T-efrBBenbmEKSRU,3509
55
+ geo_activity_playground/webui/equipment_blueprint.py,sha256=GGQdE8h0T7WTUqP6mnB2J400VNgPbU7-kJAPpdTR4w8,4438
56
56
  geo_activity_playground/webui/explorer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
57
  geo_activity_playground/webui/explorer/blueprint.py,sha256=GJcNgtkR0Ya15lsc6896wNXQEiTL36Ltd-8w28iecEA,2249
58
58
  geo_activity_playground/webui/explorer/controller.py,sha256=pIzWh0TpLJgKQZlS325-QT7nA1q9ms7fRqQIp24PNfo,11705
@@ -73,7 +73,7 @@ geo_activity_playground/webui/settings/templates/settings/heart-rate.html.j2,sha
73
73
  geo_activity_playground/webui/settings/templates/settings/index.html.j2,sha256=r7HBq91BKBrWT2_TNR7OcLokuOcUK-Czyi_zOjveIRk,5287
74
74
  geo_activity_playground/webui/settings/templates/settings/kind-renames.html.j2,sha256=yWVIMJq0XOpeTLglEqLxlQAG0mVhaCVw9j0Iu4nIrgI,757
75
75
  geo_activity_playground/webui/settings/templates/settings/kinds-without-achievements.html.j2,sha256=IdUfXon1Pu8zX3NirKb28ypshLHOvZRpz2T4bJrzrak,1067
76
- geo_activity_playground/webui/settings/templates/settings/metadata-extraction.html.j2,sha256=EUHZ-MWnSPAkiad0CHSj9UUkRUQwItTbKYJcZz9TVi0,2314
76
+ geo_activity_playground/webui/settings/templates/settings/metadata-extraction.html.j2,sha256=0g9RlHFKipN45RaH_FANWnY1lfXUkKjtc_9B-vJ19LQ,2298
77
77
  geo_activity_playground/webui/settings/templates/settings/privacy-zones.html.j2,sha256=OBKHlOezJauaDerLpOAJYq7wL-KxsWMn-BpSKJ93I0c,3051
78
78
  geo_activity_playground/webui/settings/templates/settings/segmentation.html.j2,sha256=QV72TZcIxqql-vEsq2lKHzo5UxoxeeXkRA9se46GWKU,1187
79
79
  geo_activity_playground/webui/settings/templates/settings/sharepic.html.j2,sha256=qZkfEpd4CtKKMaSSVadqvNEgMRYLV-0X-pw5-nJvukk,678
@@ -108,7 +108,7 @@ geo_activity_playground/webui/static/vega-lite@4,sha256=roXmcY9bUF91uB9V-eSEUHEg
108
108
  geo_activity_playground/webui/static/vega@5,sha256=5DLHUaY2P0ph2mKSDMfX69E88J2ClJ-PSGJI-Acdw84,514536
109
109
  geo_activity_playground/webui/static/web-app-manifest-192x192.png,sha256=eEImN6iWfSv-EnSNPL5WbX84PKakse_8VZMBPWWye3o,13582
110
110
  geo_activity_playground/webui/static/web-app-manifest-512x512.png,sha256=vU9oQ4HnQerFDZVzcAT9twj4_Doc6_9v9wVvoRI-f_E,48318
111
- geo_activity_playground/webui/summary_blueprint.py,sha256=1d75wbw3_X5SsmKWV9HRzS7Z9uCtt9MHnp1r6wKa7PU,9535
111
+ geo_activity_playground/webui/summary_blueprint.py,sha256=ty8kOdG4_kmxE3ta_gHO6G51R1BSxM0NoB-YIgRVqYE,9884
112
112
  geo_activity_playground/webui/templates/auth/index.html.j2,sha256=ILQ5HvTEYc3OrtOAIFt1VrqWorVD70V9DC342znmP70,579
113
113
  geo_activity_playground/webui/templates/eddington/index.html.j2,sha256=_3oxzHhC_s9ATtvGmuIWKqvjIQYJNvdCxmYnOyN9QnY,3716
114
114
  geo_activity_playground/webui/templates/equipment/index.html.j2,sha256=4FsMPjse9iZsWZiwD9At95CdUa_pVf2g7UugygOH8vk,1672
@@ -122,8 +122,8 @@ geo_activity_playground/webui/templates/upload/index.html.j2,sha256=I1Ix8tDS3YBd
122
122
  geo_activity_playground/webui/templates/upload/reload.html.j2,sha256=YZWX5eDeNyqKJdQAywDBcU8DZBm22rRBbZqFjrFrCvQ,556
123
123
  geo_activity_playground/webui/tile_blueprint.py,sha256=QU8YRjhMf-lhPJGqrCjV49QBX0ATgTny96GYhqJwwyI,1755
124
124
  geo_activity_playground/webui/upload_blueprint.py,sha256=Ha3H5Dsl6YS6YYmFouXamU8viEpLIj1YIE9XJVCiakY,4368
125
- geo_activity_playground-0.38.0.dist-info/LICENSE,sha256=4RpAwKO8bPkfXH2lnpeUW0eLkNWglyG4lbrLDU_MOwY,1070
126
- geo_activity_playground-0.38.0.dist-info/METADATA,sha256=Mlj1jwAXTRf43R9CFqymICnZVmTnc0wpaW_b7rSHo6k,1573
127
- geo_activity_playground-0.38.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
128
- geo_activity_playground-0.38.0.dist-info/entry_points.txt,sha256=pbNlLI6IIZIp7nPYCfAtiSiz2oxJSCl7DODD6SPkLKk,81
129
- geo_activity_playground-0.38.0.dist-info/RECORD,,
125
+ geo_activity_playground-0.38.2.dist-info/LICENSE,sha256=4RpAwKO8bPkfXH2lnpeUW0eLkNWglyG4lbrLDU_MOwY,1070
126
+ geo_activity_playground-0.38.2.dist-info/METADATA,sha256=5ZDORngu-k9YCxDXKKPSK49AsIo5gRvRWa0sYGgBSiI,1578
127
+ geo_activity_playground-0.38.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
128
+ geo_activity_playground-0.38.2.dist-info/entry_points.txt,sha256=pbNlLI6IIZIp7nPYCfAtiSiz2oxJSCl7DODD6SPkLKk,81
129
+ geo_activity_playground-0.38.2.dist-info/RECORD,,