gensor 0.2.5__tar.gz → 0.4.0__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.
- {gensor-0.2.5 → gensor-0.4.0}/PKG-INFO +1 -1
- {gensor-0.2.5 → gensor-0.4.0}/gensor/__init__.py +6 -2
- {gensor-0.2.5 → gensor-0.4.0}/gensor/core/base.py +17 -6
- gensor-0.4.0/gensor/core/dataset.py +944 -0
- gensor-0.4.0/gensor/parse/utils.py +143 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/parse/vanessen.py +42 -12
- gensor-0.4.0/gensor/processing/compensation.py +317 -0
- {gensor-0.2.5 → gensor-0.4.0}/pyproject.toml +1 -1
- gensor-0.2.5/gensor/core/dataset.py +0 -207
- gensor-0.2.5/gensor/parse/utils.py +0 -87
- gensor-0.2.5/gensor/processing/compensation.py +0 -195
- {gensor-0.2.5 → gensor-0.4.0}/LICENSE +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/README.md +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/analysis/__init__.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/analysis/outliers.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/analysis/stats.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/config.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/core/__init__.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/core/indexer.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/core/timeseries.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/db/__init__.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/db/connection.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/exceptions.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/io/__init__.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/io/read.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/log.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/parse/__init__.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/parse/plain.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/processing/__init__.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/processing/smoothing.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/processing/transform.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/testdata/Barodiver_220427183008_BY222.csv +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/testdata/PB01A_moni_AV319_220427183019_AV319.csv +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/testdata/PB02A_plain.csv +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/gensor/testdata/__init__.py +0 -0
- {gensor-0.2.5 → gensor-0.4.0}/py.typed +0 -0
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
|
|
3
|
-
from .core.dataset import Dataset
|
|
3
|
+
from .core.dataset import Dataset, Where, diff
|
|
4
4
|
from .core.timeseries import Timeseries
|
|
5
5
|
from .io.read import read_from_csv, read_from_sql
|
|
6
6
|
from .log import set_log_level
|
|
7
|
-
from .processing.compensation import compensate
|
|
7
|
+
from .processing.compensation import compensate, water_column
|
|
8
8
|
|
|
9
9
|
__all__ = [
|
|
10
10
|
# basic data types
|
|
11
11
|
"Dataset",
|
|
12
12
|
"Timeseries",
|
|
13
|
+
"Where",
|
|
13
14
|
"compensate",
|
|
15
|
+
"water_column",
|
|
16
|
+
# comparison
|
|
17
|
+
"diff",
|
|
14
18
|
# getters
|
|
15
19
|
"read_from_csv",
|
|
16
20
|
"read_from_sql",
|
|
@@ -304,9 +304,18 @@ class BaseTimeseries(pyd.BaseModel):
|
|
|
304
304
|
message = "The index is not a DatetimeIndex and cannot be converted to UTC."
|
|
305
305
|
raise TypeError(message)
|
|
306
306
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
307
|
+
# Records as dicts keyed by column name so the insert can run as an
|
|
308
|
+
# executemany (one row per parameter set) instead of a single multi-row
|
|
309
|
+
# VALUES clause - the latter blows SQLite's bound-variable limit for long
|
|
310
|
+
# series. ``tolist()`` also yields native Python floats/strings.
|
|
311
|
+
series_as_records = [
|
|
312
|
+
{"timestamp": timestamp, self.variable: value}
|
|
313
|
+
for timestamp, value in zip(
|
|
314
|
+
utc_index.strftime("%Y-%m-%dT%H:%M:%S%z").tolist(),
|
|
315
|
+
self.ts.tolist(),
|
|
316
|
+
strict=False,
|
|
317
|
+
)
|
|
318
|
+
]
|
|
310
319
|
|
|
311
320
|
# Extra metadata are attributes additional to BaseTimeseries
|
|
312
321
|
core_metadata, extra_metadata = separate_metadata()
|
|
@@ -340,9 +349,11 @@ class BaseTimeseries(pyd.BaseModel):
|
|
|
340
349
|
metadata_entry.update({"table_name": schema_name})
|
|
341
350
|
|
|
342
351
|
if isinstance(schema, Table):
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
352
|
+
if series_as_records:
|
|
353
|
+
stmt = sqlite_insert(schema).on_conflict_do_nothing(
|
|
354
|
+
index_elements=["timestamp"]
|
|
355
|
+
)
|
|
356
|
+
con.execute(stmt, series_as_records)
|
|
346
357
|
|
|
347
358
|
metadata_stmt = sqlite_insert(metadata_schema).values(metadata_entry)
|
|
348
359
|
metadata_stmt = metadata_stmt.on_conflict_do_update(
|