sdata 0.25.0__tar.gz → 0.25.2__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.
- {sdata-0.25.0/sdata.egg-info → sdata-0.25.2}/PKG-INFO +16 -3
- {sdata-0.25.0 → sdata-0.25.2}/README.md +1 -1
- sdata-0.25.2/pyproject.toml +3 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/__init__.py +1 -1
- {sdata-0.25.0 → sdata-0.25.2}/sdata/data.py +29 -6
- sdata-0.25.2/sdata/iolib/json1sqlitestore.py +596 -0
- sdata-0.25.2/sdata/iolib/jsonsqlitestore.py +691 -0
- sdata-0.25.2/sdata/iolib/owncloudfs.py +105 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/suuid.py +18 -0
- {sdata-0.25.0 → sdata-0.25.2/sdata.egg-info}/PKG-INFO +16 -3
- {sdata-0.25.0 → sdata-0.25.2}/sdata.egg-info/SOURCES.txt +5 -0
- sdata-0.25.2/tests/iolib/test_jsonsqlitestore.py +156 -0
- {sdata-0.25.0 → sdata-0.25.2}/LICENSE-MIT +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/MANIFEST.in +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/blob.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/__init__.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/attrdict/__init__.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/attrdict/default.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/attrdict/dictionary.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/attrdict/mapping.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/attrdict/merge.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/attrdict/mixins.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/piexif/__init__.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/piexif/_common.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/piexif/_dump.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/piexif/_exceptions.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/piexif/_exif.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/piexif/_insert.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/piexif/_load.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/piexif/_remove.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/piexif/_transplant.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/piexif/_webp.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/piexif/helper.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/ranger/__init__.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/ranger/collections/__init__.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/ranger/collections/rangebucketmap.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/ranger/collections/rangemap.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/ranger/collections/rangeset.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/ranger/range/__init__.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/ranger/range/cut.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/ranger/range/range.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/semver.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/simple_graph_db/LICENSE +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/simple_graph_db/__init__.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/simple_graph_db/database.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/simple_graph_db/schema.sql +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/sobol_seq.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/sortedcontainers/LICENSE +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/sortedcontainers/__init__.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/sortedcontainers/sorteddict.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/sortedcontainers/sortedlist.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/sortedcontainers/sortedset.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/sqlitedict.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/timeflake/__init__.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/timeflake/flake.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/contrib/timeflake/utils.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/doe.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/experiments/__init__.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/experiments/ks2.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/experiments/lapshear.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/experiments/material.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/image.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/iolib/__init__.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/iolib/db.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/iolib/hashtree.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/iolib/hdf.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/iolib/isomme.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/iolib/pgp.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/iolib/pud.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/iolib/simple_signature.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/iolib/vault.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/metadata.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/node.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/parameter.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/parameters_deprecated.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/timestamp.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/tools.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata/workbook.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata.egg-info/dependency_links.txt +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata.egg-info/requires.txt +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/sdata.egg-info/top_level.txt +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/setup.cfg +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/setup.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/__init__.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/iolib/__init__.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/iolib/pud/__init__.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/iolib/pud/test_pud.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/iolib/test_hasttree.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/iolib/test_hdf.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/test_attribute.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/test_blob.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/test_data.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/test_image.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/test_io.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/test_ks2.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/test_metadata.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/test_parameter.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/test_sqlite.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/test_suuid.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/test_table.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/test_testprogram.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/test_timeflake.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/test_timestamp.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/test_tools.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/test_vault.py +0 -0
- {sdata-0.25.0 → sdata-0.25.2}/tests/test_workbook.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: sdata
|
|
3
|
-
Version: 0.25.
|
|
3
|
+
Version: 0.25.2
|
|
4
4
|
Summary: a structured data format
|
|
5
5
|
Home-page: https://github.com/lepy/sdata
|
|
6
6
|
Author: Lepy
|
|
@@ -34,6 +34,19 @@ Requires-Dist: xlsxwriter
|
|
|
34
34
|
Requires-Dist: pytz
|
|
35
35
|
Requires-Dist: requests
|
|
36
36
|
Requires-Dist: Pillow
|
|
37
|
+
Dynamic: author
|
|
38
|
+
Dynamic: author-email
|
|
39
|
+
Dynamic: classifier
|
|
40
|
+
Dynamic: description
|
|
41
|
+
Dynamic: description-content-type
|
|
42
|
+
Dynamic: home-page
|
|
43
|
+
Dynamic: keywords
|
|
44
|
+
Dynamic: license
|
|
45
|
+
Dynamic: license-file
|
|
46
|
+
Dynamic: maintainer
|
|
47
|
+
Dynamic: maintainer-email
|
|
48
|
+
Dynamic: requires-dist
|
|
49
|
+
Dynamic: summary
|
|
37
50
|
|
|
38
51
|
|
|
39
52
|
[](https://badge.fury.io/py/sdata)
|
|
@@ -94,7 +107,7 @@ force force 1.234 float kN x force
|
|
|
94
107
|
|
|
95
108
|
|
|
96
109
|
* [Das sdata-Format - slides](https://lepy.github.io/sdata/ipynb/Das_sdata_Format.slides.html#)
|
|
97
|
-
|
|
110
|
+
* https://deepwiki.com/lepy/sdata
|
|
98
111
|
|
|
99
112
|
## Demo App
|
|
100
113
|
|
|
@@ -838,6 +838,20 @@ class Data(object):
|
|
|
838
838
|
"""
|
|
839
839
|
return [(x.name, x.dir()) for x in self.group.values()]
|
|
840
840
|
|
|
841
|
+
def to_dataframe(self):
|
|
842
|
+
"""Export the DataFrame with additional metadata and description.
|
|
843
|
+
|
|
844
|
+
Returns:
|
|
845
|
+
pandas.DataFrame: A copy of the DataFrame with added attributes.
|
|
846
|
+
"""
|
|
847
|
+
df = self.df.copy()
|
|
848
|
+
df.attrs["!sdata"] = {
|
|
849
|
+
"metadata": self.metadata.to_dict(),
|
|
850
|
+
"description": self.description
|
|
851
|
+
}
|
|
852
|
+
return df
|
|
853
|
+
|
|
854
|
+
|
|
841
855
|
def to_parquet(self, filepath=None, **kwargs):
|
|
842
856
|
"""
|
|
843
857
|
|
|
@@ -846,7 +860,7 @@ class Data(object):
|
|
|
846
860
|
df = self.df.copy()
|
|
847
861
|
#df["!sdata_index"] = df.index
|
|
848
862
|
#df.reset_index(inplace=True)
|
|
849
|
-
df.attrs = {"metadata": self.metadata.to_dict(),
|
|
863
|
+
df.attrs["!sdata"] = {"metadata": self.metadata.to_dict(),
|
|
850
864
|
"description": self.description}
|
|
851
865
|
df.to_parquet(filepath, engine=engine)
|
|
852
866
|
|
|
@@ -862,12 +876,21 @@ class Data(object):
|
|
|
862
876
|
df = pd.read_parquet(filepath)
|
|
863
877
|
tt = cls(name=filepath)
|
|
864
878
|
tt.table = df
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
879
|
+
|
|
880
|
+
attrs = df.attrs.get("!sdata")
|
|
881
|
+
try:
|
|
882
|
+
tt.metadata = tt.metadata.from_dict(attrs["metadata"])
|
|
883
|
+
except:
|
|
884
|
+
logger.warning(f"ignore metadata {filepath}")
|
|
885
|
+
try:
|
|
886
|
+
tt.description = attrs.get("description")
|
|
887
|
+
except:
|
|
888
|
+
logger.warning(f"ignore description {filepath}")
|
|
889
|
+
if attrs is not None:
|
|
890
|
+
tt.df.attrs.pop("!sdata")
|
|
891
|
+
else:
|
|
892
|
+
raise Exception("parquet file '{}' not available".format(filepath))
|
|
868
893
|
return tt
|
|
869
|
-
else:
|
|
870
|
-
raise Exception("parquet file '{}' not available".format(filepath))
|
|
871
894
|
except Exception as exp:
|
|
872
895
|
raise
|
|
873
896
|
|