apmtools 0.2.50__tar.gz → 0.2.51__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.
- {apmtools-0.2.50 → apmtools-0.2.51}/PKG-INFO +1 -1
- {apmtools-0.2.50 → apmtools-0.2.51}/pyproject.toml +1 -1
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/classes.py +13 -2
- {apmtools-0.2.50 → apmtools-0.2.51}/.gitignore +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/LICENSE +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/README.md +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/__init__.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/data_processing.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/functions.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/legacy.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/plot_app.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/shiny/__init__.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/shiny/appearance.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/shiny/color_editor.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/shiny/columns.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/shiny/config.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/shiny/data.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/shiny/elements.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/shiny/export.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/shiny/histogram_multi.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/shiny/matplotlib_renderer.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/shiny/multi_axis.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/shiny/multi_y.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/shiny/plotly_renderer.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/shiny/summary.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/shiny/ui.py +0 -0
- {apmtools-0.2.50 → apmtools-0.2.51}/src/apmtools/units.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: apmtools
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.51
|
|
4
4
|
Summary: A collection of tools for processing air pollution monitoring data
|
|
5
5
|
Project-URL: Homepage, https://github.com/federlorenz/apmtools
|
|
6
6
|
Author-email: Federico Lorenzetti <lorenzetti.federico@gmail.com>
|
|
@@ -1011,7 +1011,7 @@ class Group(pd.DataFrame):
|
|
|
1011
1011
|
|
|
1012
1012
|
class Summary(pd.DataFrame):
|
|
1013
1013
|
|
|
1014
|
-
_metadata = ['metadata']
|
|
1014
|
+
_metadata = ['metadata', 'plot']
|
|
1015
1015
|
|
|
1016
1016
|
@property
|
|
1017
1017
|
def _constructor(self):
|
|
@@ -1023,12 +1023,19 @@ class Summary(pd.DataFrame):
|
|
|
1023
1023
|
self.metadata = metadata
|
|
1024
1024
|
self.variable = variable
|
|
1025
1025
|
self.description = description
|
|
1026
|
+
self.plots = None
|
|
1027
|
+
|
|
1028
|
+
def __setattr__(self, name, value):
|
|
1029
|
+
if name == "plot" and value is not None and not isinstance(value, list):
|
|
1030
|
+
raise TypeError("Summary.plot must be None or a list")
|
|
1031
|
+
super().__setattr__(name, value)
|
|
1026
1032
|
|
|
1027
1033
|
def __finalize__(self, other, method=None, **kwargs):
|
|
1028
1034
|
if isinstance(other, Summary):
|
|
1029
1035
|
self.variable = getattr(other, "variable", None)
|
|
1030
1036
|
self.metadata = getattr(other, "metadata", set()).copy()
|
|
1031
1037
|
self.description = getattr(other, "description", "")
|
|
1038
|
+
self.plots = getattr(other, "plot", None)
|
|
1032
1039
|
|
|
1033
1040
|
return self
|
|
1034
1041
|
|
|
@@ -1058,6 +1065,7 @@ class Summary(pd.DataFrame):
|
|
|
1058
1065
|
return
|
|
1059
1066
|
|
|
1060
1067
|
return_dict = copy.deepcopy(self)
|
|
1068
|
+
return_dict.plots = None
|
|
1061
1069
|
a = {}
|
|
1062
1070
|
|
|
1063
1071
|
if filter_style not in {'all', 'any', 'negative all', 'negative any'}:
|
|
@@ -1151,7 +1159,9 @@ class Summary(pd.DataFrame):
|
|
|
1151
1159
|
|
|
1152
1160
|
self.description = self.description + \
|
|
1153
1161
|
f"\nFiltered by {time_start if time_start != None else ""} till {time_end if time_end != None else ""}, {date_start if date_start != None else ""} till {date_end if date_end != None else ""}, {day if day != None else ""}"
|
|
1154
|
-
|
|
1162
|
+
result = self.reset_index()
|
|
1163
|
+
result.plots = None
|
|
1164
|
+
return result
|
|
1155
1165
|
|
|
1156
1166
|
def set_attrib(self, attribute):
|
|
1157
1167
|
"""
|
|
@@ -1577,6 +1587,7 @@ class Summary(pd.DataFrame):
|
|
|
1577
1587
|
|
|
1578
1588
|
out = self.subset({"monitor": [value]})
|
|
1579
1589
|
out = out.dropna(axis=1,how="all")
|
|
1590
|
+
out.plots = None
|
|
1580
1591
|
return out
|
|
1581
1592
|
|
|
1582
1593
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|