sdata 0.23.2__tar.gz → 0.23.3__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.23.2/sdata.egg-info → sdata-0.23.3}/PKG-INFO +1 -1
- {sdata-0.23.2 → sdata-0.23.3}/sdata/__init__.py +3 -3
- {sdata-0.23.2 → sdata-0.23.3}/sdata/data.py +3 -1
- {sdata-0.23.2 → sdata-0.23.3}/sdata/metadata.py +14 -2
- {sdata-0.23.2 → sdata-0.23.3/sdata.egg-info}/PKG-INFO +1 -1
- {sdata-0.23.2 → sdata-0.23.3}/LICENSE-MIT +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/MANIFEST.in +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/README.md +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/blob.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/__init__.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/attrdict/__init__.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/attrdict/default.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/attrdict/dictionary.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/attrdict/mapping.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/attrdict/merge.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/attrdict/mixins.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/__init__.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_common.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_dump.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_exceptions.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_exif.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_insert.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_load.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_remove.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_transplant.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_webp.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/helper.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/ranger/__init__.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/ranger/collections/__init__.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/ranger/collections/rangebucketmap.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/ranger/collections/rangemap.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/ranger/collections/rangeset.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/ranger/range/__init__.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/ranger/range/cut.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/ranger/range/range.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/semver.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/simple_graph_db/LICENSE +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/simple_graph_db/__init__.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/simple_graph_db/database.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/simple_graph_db/schema.sql +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/sobol_seq.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/sortedcontainers/LICENSE +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/sortedcontainers/__init__.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/sortedcontainers/sorteddict.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/sortedcontainers/sortedlist.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/sortedcontainers/sortedset.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/sqlitedict.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/timeflake/__init__.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/timeflake/flake.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/timeflake/utils.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/doe.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/experiments/__init__.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/experiments/ks2.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/experiments/lapshear.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/experiments/material.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/image.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/iolib/__init__.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/iolib/db.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/iolib/hdf.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/iolib/isomme.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/iolib/pgp.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/iolib/pud.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/iolib/simple_signature.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/iolib/vault.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/suuid.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/timestamp.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/tools.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata/workbook.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata.egg-info/SOURCES.txt +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata.egg-info/dependency_links.txt +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata.egg-info/requires.txt +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/sdata.egg-info/top_level.txt +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/setup.cfg +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/setup.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/__init__.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/iolib/__init__.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/iolib/pud/__init__.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/iolib/pud/test_pud.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/iolib/test_hdf.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/test_attribute.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/test_blob.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/test_data.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/test_image.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/test_io.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/test_ks2.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/test_metadata.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/test_sqlite.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/test_suuid.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/test_table.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/test_testprogram.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/test_timeflake.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/test_timestamp.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/test_tools.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/test_vault.py +0 -0
- {sdata-0.23.2 → sdata-0.23.3}/tests/test_workbook.py +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# -*-coding: utf-8-*-
|
|
2
2
|
from __future__ import division
|
|
3
3
|
|
|
4
|
-
__version__ = '0.23.
|
|
4
|
+
__version__ = '0.23.3'
|
|
5
5
|
__revision__ = None
|
|
6
6
|
__version_info__ = tuple([int(num) for num in __version__.split('.')])
|
|
7
7
|
|
|
@@ -14,8 +14,8 @@ import uuid
|
|
|
14
14
|
import logging
|
|
15
15
|
|
|
16
16
|
# fix "ValueError: unsupported pickle protocol: 5"
|
|
17
|
-
import pickle
|
|
18
|
-
pickle.HIGHEST_PROTOCOL = 4
|
|
17
|
+
#import pickle
|
|
18
|
+
#pickle.HIGHEST_PROTOCOL = 4
|
|
19
19
|
import pandas
|
|
20
20
|
|
|
21
21
|
from sdata.metadata import Metadata, Attribute
|
|
@@ -104,6 +104,7 @@ class Data(object):
|
|
|
104
104
|
self.metadata.add(self.SDATA_CTIME, now_utc_str(), dtype="str", description="creation date")
|
|
105
105
|
self.metadata.add(self.SDATA_MTIME, now_utc_str(), dtype="str", description="modification date")
|
|
106
106
|
self.metadata.add(self.SDATA_URL, "", dtype="str", description="url of the data object")
|
|
107
|
+
self.metadata.add(self.SDATA_PROJECT, "", dtype="str", description="project name")
|
|
107
108
|
|
|
108
109
|
metadata = kwargs.get("metadata")
|
|
109
110
|
if metadata is not None:
|
|
@@ -130,7 +131,8 @@ class Data(object):
|
|
|
130
131
|
self.table = kwargs.get("table", None)
|
|
131
132
|
self._description = ""
|
|
132
133
|
self.description = kwargs.get("description", "")
|
|
133
|
-
self.project = kwargs.get("project", "")
|
|
134
|
+
self.project = kwargs.get("project", "N.N.")
|
|
135
|
+
self.metadata.add(self.SDATA_PROJECT, self.project, dtype="str", description="project name")
|
|
134
136
|
|
|
135
137
|
if (kwargs.get("uuid")=="" or kwargs.get("uuid") is not None) and not self.metadata.get(self.SDATA_UUID).value and kwargs.get("uuid")!="hash":
|
|
136
138
|
# logger.info("uuid in kwargs")
|
|
@@ -59,7 +59,7 @@ class Attribute(object):
|
|
|
59
59
|
DTYPES_INV = {v: k for k, v in DTYPES.items()}
|
|
60
60
|
|
|
61
61
|
def __init__(self, name, value, **kwargs):
|
|
62
|
-
"""Attribute
|
|
62
|
+
"""Attribute(name, value, dtype=str, unit="-", description="", label="", required=False)
|
|
63
63
|
:param name
|
|
64
64
|
:param value
|
|
65
65
|
:param dtype ['float', 'int', 'str', 'timestamp', 'uuid?', 'unicode?']
|
|
@@ -303,10 +303,15 @@ class Metadata(object):
|
|
|
303
303
|
required_attributes = [(attr.name, attr) for attr in self.attributes.values() if attr.required is True]
|
|
304
304
|
return SortedDict(required_attributes)
|
|
305
305
|
|
|
306
|
+
def add_attribute(self, attr, **kwargs):
|
|
307
|
+
"""set Attribute"""
|
|
308
|
+
prefix = kwargs.get("prefix", "")
|
|
309
|
+
self._attributes[prefix + attr.name] = attr
|
|
310
|
+
|
|
306
311
|
def set_attr(self, name="N.N.", value=None, **kwargs):
|
|
307
312
|
"""set Attribute"""
|
|
308
313
|
prefix = kwargs.get("prefix", "")
|
|
309
|
-
if isinstance(name, Attribute):
|
|
314
|
+
if isinstance(name, Attribute) or "Attribute" in name.__class__.__name__:
|
|
310
315
|
attr = name # name is the Attribute!
|
|
311
316
|
else:
|
|
312
317
|
attr = self.get_attr(prefix + name) or Attribute(name, value, **kwargs)
|
|
@@ -419,6 +424,13 @@ class Metadata(object):
|
|
|
419
424
|
d[attr.name] = attr.value
|
|
420
425
|
return d
|
|
421
426
|
|
|
427
|
+
def get_dict(self):
|
|
428
|
+
"""get user attribute as dict"""
|
|
429
|
+
d = {}
|
|
430
|
+
for attr in self.attributes.values():
|
|
431
|
+
d[attr.name] = attr.value
|
|
432
|
+
return d
|
|
433
|
+
|
|
422
434
|
def _to_dataframe(self, attributes):
|
|
423
435
|
"""create dataframe from attributes"""
|
|
424
436
|
d = self._to_dict(attributes)
|
|
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
|
|
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
|
|
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
|
|
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
|