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.
Files changed (95) hide show
  1. {sdata-0.23.2/sdata.egg-info → sdata-0.23.3}/PKG-INFO +1 -1
  2. {sdata-0.23.2 → sdata-0.23.3}/sdata/__init__.py +3 -3
  3. {sdata-0.23.2 → sdata-0.23.3}/sdata/data.py +3 -1
  4. {sdata-0.23.2 → sdata-0.23.3}/sdata/metadata.py +14 -2
  5. {sdata-0.23.2 → sdata-0.23.3/sdata.egg-info}/PKG-INFO +1 -1
  6. {sdata-0.23.2 → sdata-0.23.3}/LICENSE-MIT +0 -0
  7. {sdata-0.23.2 → sdata-0.23.3}/MANIFEST.in +0 -0
  8. {sdata-0.23.2 → sdata-0.23.3}/README.md +0 -0
  9. {sdata-0.23.2 → sdata-0.23.3}/sdata/blob.py +0 -0
  10. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/__init__.py +0 -0
  11. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/attrdict/__init__.py +0 -0
  12. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/attrdict/default.py +0 -0
  13. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/attrdict/dictionary.py +0 -0
  14. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/attrdict/mapping.py +0 -0
  15. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/attrdict/merge.py +0 -0
  16. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/attrdict/mixins.py +0 -0
  17. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/__init__.py +0 -0
  18. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_common.py +0 -0
  19. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_dump.py +0 -0
  20. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_exceptions.py +0 -0
  21. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_exif.py +0 -0
  22. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_insert.py +0 -0
  23. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_load.py +0 -0
  24. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_remove.py +0 -0
  25. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_transplant.py +0 -0
  26. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/_webp.py +0 -0
  27. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/piexif/helper.py +0 -0
  28. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/ranger/__init__.py +0 -0
  29. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/ranger/collections/__init__.py +0 -0
  30. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/ranger/collections/rangebucketmap.py +0 -0
  31. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/ranger/collections/rangemap.py +0 -0
  32. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/ranger/collections/rangeset.py +0 -0
  33. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/ranger/range/__init__.py +0 -0
  34. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/ranger/range/cut.py +0 -0
  35. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/ranger/range/range.py +0 -0
  36. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/semver.py +0 -0
  37. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/simple_graph_db/LICENSE +0 -0
  38. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/simple_graph_db/__init__.py +0 -0
  39. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/simple_graph_db/database.py +0 -0
  40. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/simple_graph_db/schema.sql +0 -0
  41. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/sobol_seq.py +0 -0
  42. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/sortedcontainers/LICENSE +0 -0
  43. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/sortedcontainers/__init__.py +0 -0
  44. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/sortedcontainers/sorteddict.py +0 -0
  45. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/sortedcontainers/sortedlist.py +0 -0
  46. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/sortedcontainers/sortedset.py +0 -0
  47. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/sqlitedict.py +0 -0
  48. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/timeflake/__init__.py +0 -0
  49. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/timeflake/flake.py +0 -0
  50. {sdata-0.23.2 → sdata-0.23.3}/sdata/contrib/timeflake/utils.py +0 -0
  51. {sdata-0.23.2 → sdata-0.23.3}/sdata/doe.py +0 -0
  52. {sdata-0.23.2 → sdata-0.23.3}/sdata/experiments/__init__.py +0 -0
  53. {sdata-0.23.2 → sdata-0.23.3}/sdata/experiments/ks2.py +0 -0
  54. {sdata-0.23.2 → sdata-0.23.3}/sdata/experiments/lapshear.py +0 -0
  55. {sdata-0.23.2 → sdata-0.23.3}/sdata/experiments/material.py +0 -0
  56. {sdata-0.23.2 → sdata-0.23.3}/sdata/image.py +0 -0
  57. {sdata-0.23.2 → sdata-0.23.3}/sdata/iolib/__init__.py +0 -0
  58. {sdata-0.23.2 → sdata-0.23.3}/sdata/iolib/db.py +0 -0
  59. {sdata-0.23.2 → sdata-0.23.3}/sdata/iolib/hdf.py +0 -0
  60. {sdata-0.23.2 → sdata-0.23.3}/sdata/iolib/isomme.py +0 -0
  61. {sdata-0.23.2 → sdata-0.23.3}/sdata/iolib/pgp.py +0 -0
  62. {sdata-0.23.2 → sdata-0.23.3}/sdata/iolib/pud.py +0 -0
  63. {sdata-0.23.2 → sdata-0.23.3}/sdata/iolib/simple_signature.py +0 -0
  64. {sdata-0.23.2 → sdata-0.23.3}/sdata/iolib/vault.py +0 -0
  65. {sdata-0.23.2 → sdata-0.23.3}/sdata/suuid.py +0 -0
  66. {sdata-0.23.2 → sdata-0.23.3}/sdata/timestamp.py +0 -0
  67. {sdata-0.23.2 → sdata-0.23.3}/sdata/tools.py +0 -0
  68. {sdata-0.23.2 → sdata-0.23.3}/sdata/workbook.py +0 -0
  69. {sdata-0.23.2 → sdata-0.23.3}/sdata.egg-info/SOURCES.txt +0 -0
  70. {sdata-0.23.2 → sdata-0.23.3}/sdata.egg-info/dependency_links.txt +0 -0
  71. {sdata-0.23.2 → sdata-0.23.3}/sdata.egg-info/requires.txt +0 -0
  72. {sdata-0.23.2 → sdata-0.23.3}/sdata.egg-info/top_level.txt +0 -0
  73. {sdata-0.23.2 → sdata-0.23.3}/setup.cfg +0 -0
  74. {sdata-0.23.2 → sdata-0.23.3}/setup.py +0 -0
  75. {sdata-0.23.2 → sdata-0.23.3}/tests/__init__.py +0 -0
  76. {sdata-0.23.2 → sdata-0.23.3}/tests/iolib/__init__.py +0 -0
  77. {sdata-0.23.2 → sdata-0.23.3}/tests/iolib/pud/__init__.py +0 -0
  78. {sdata-0.23.2 → sdata-0.23.3}/tests/iolib/pud/test_pud.py +0 -0
  79. {sdata-0.23.2 → sdata-0.23.3}/tests/iolib/test_hdf.py +0 -0
  80. {sdata-0.23.2 → sdata-0.23.3}/tests/test_attribute.py +0 -0
  81. {sdata-0.23.2 → sdata-0.23.3}/tests/test_blob.py +0 -0
  82. {sdata-0.23.2 → sdata-0.23.3}/tests/test_data.py +0 -0
  83. {sdata-0.23.2 → sdata-0.23.3}/tests/test_image.py +0 -0
  84. {sdata-0.23.2 → sdata-0.23.3}/tests/test_io.py +0 -0
  85. {sdata-0.23.2 → sdata-0.23.3}/tests/test_ks2.py +0 -0
  86. {sdata-0.23.2 → sdata-0.23.3}/tests/test_metadata.py +0 -0
  87. {sdata-0.23.2 → sdata-0.23.3}/tests/test_sqlite.py +0 -0
  88. {sdata-0.23.2 → sdata-0.23.3}/tests/test_suuid.py +0 -0
  89. {sdata-0.23.2 → sdata-0.23.3}/tests/test_table.py +0 -0
  90. {sdata-0.23.2 → sdata-0.23.3}/tests/test_testprogram.py +0 -0
  91. {sdata-0.23.2 → sdata-0.23.3}/tests/test_timeflake.py +0 -0
  92. {sdata-0.23.2 → sdata-0.23.3}/tests/test_timestamp.py +0 -0
  93. {sdata-0.23.2 → sdata-0.23.3}/tests/test_tools.py +0 -0
  94. {sdata-0.23.2 → sdata-0.23.3}/tests/test_vault.py +0 -0
  95. {sdata-0.23.2 → sdata-0.23.3}/tests/test_workbook.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sdata
3
- Version: 0.23.2
3
+ Version: 0.23.3
4
4
  Summary: a structured data format
5
5
  Home-page: https://github.com/lepy/sdata
6
6
  Author: Lepy
@@ -1,7 +1,7 @@
1
1
  # -*-coding: utf-8-*-
2
2
  from __future__ import division
3
3
 
4
- __version__ = '0.23.2'
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)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sdata
3
- Version: 0.23.2
3
+ Version: 0.23.3
4
4
  Summary: a structured data format
5
5
  Home-page: https://github.com/lepy/sdata
6
6
  Author: Lepy
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