aiida-pythonjob 0.3.2__tar.gz → 0.3.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.
- {aiida_pythonjob-0.3.2/src/aiida_pythonjob.egg-info → aiida_pythonjob-0.3.3}/PKG-INFO +1 -1
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/pyproject.toml +1 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/__init__.py +1 -1
- aiida_pythonjob-0.3.3/src/aiida_pythonjob/data/common_data.py +26 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/data/jsonable_data.py +1 -11
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3/src/aiida_pythonjob.egg-info}/PKG-INFO +1 -1
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob.egg-info/SOURCES.txt +1 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob.egg-info/entry_points.txt +1 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/LICENSE +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/README.md +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/setup.cfg +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/calculations/__init__.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/calculations/pyfunction.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/calculations/pythonjob.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/calculations/utils.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/config.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/data/__init__.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/data/atoms.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/data/data_wrapper.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/data/deserializer.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/data/pickled_data.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/data/serializer.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/data/utils.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/decorator.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/launch.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/parsers/__init__.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/parsers/pythonjob.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/parsers/utils.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/ports_adapter.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/utils.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob.egg-info/dependency_links.txt +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob.egg-info/requires.txt +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob.egg-info/top_level.txt +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/tests/test_create_env.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/tests/test_data.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/tests/test_entry_points.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/tests/test_parser.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/tests/test_pyfunction.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/tests/test_pythonjob.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/tests/test_serializer.py +0 -0
- {aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/tests/test_utils.py +0 -0
|
@@ -55,6 +55,7 @@ Source = "https://github.com/aiidateam/aiida-pythonjob"
|
|
|
55
55
|
"pythonjob.jsonable_data" = "aiida_pythonjob.data.jsonable_data:JsonableData"
|
|
56
56
|
"pythonjob.pickled_data" = "aiida_pythonjob.data.pickled_data:PickledData"
|
|
57
57
|
"pythonjob.ase.atoms.Atoms" = "aiida_pythonjob.data.atoms:AtomsData"
|
|
58
|
+
"pythonjob.builtins.NoneType" = "aiida_pythonjob.data.common_data:NoneData"
|
|
58
59
|
"pythonjob.builtins.int" = "aiida.orm.nodes.data.int:Int"
|
|
59
60
|
"pythonjob.builtins.float" = "aiida.orm.nodes.data.float:Float"
|
|
60
61
|
"pythonjob.builtins.str" = "aiida.orm.nodes.data.str:Str"
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from aiida import orm
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class NoneData(orm.Data):
|
|
5
|
+
"""
|
|
6
|
+
A Data node that explicitly represents a Python `None`.
|
|
7
|
+
|
|
8
|
+
- Has no repository content and (by default) no attributes.
|
|
9
|
+
- All instances have identical content hash, which is desirable here:
|
|
10
|
+
"None" is a single value.
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
# Convenience aliases to mirror simple-* nodes (Int, Bool, etc.)
|
|
14
|
+
@property
|
|
15
|
+
def value(self):
|
|
16
|
+
return None
|
|
17
|
+
|
|
18
|
+
@property
|
|
19
|
+
def obj(self):
|
|
20
|
+
return None
|
|
21
|
+
|
|
22
|
+
def __repr__(self) -> str:
|
|
23
|
+
return "NoneData()"
|
|
24
|
+
|
|
25
|
+
def __str__(self) -> str:
|
|
26
|
+
return "NoneData()"
|
|
@@ -14,7 +14,6 @@ class JsonableData(orm.Data):
|
|
|
14
14
|
1) Detects multiple possible "to-dict" methods (as_dict, to_dict, todict, etc.)
|
|
15
15
|
2) Converts non-JSON-serializable items (e.g. NumPy arrays) into JSON-friendly formats
|
|
16
16
|
3) Rebuilds the object via one of various possible "from-dict" methods.
|
|
17
|
-
4) Safely handles `None`.
|
|
18
17
|
"""
|
|
19
18
|
|
|
20
19
|
_DICT_METHODS = ["as_dict", "to_dict", "todict", "asdict"]
|
|
@@ -24,15 +23,9 @@ class JsonableData(orm.Data):
|
|
|
24
23
|
def __init__(self, obj: typing.Any, *args, **kwargs):
|
|
25
24
|
"""
|
|
26
25
|
Construct the node for the to-be-wrapped object.
|
|
27
|
-
If `obj` is None, we simply store a flag indicating that.
|
|
28
26
|
"""
|
|
29
27
|
super().__init__(*args, **kwargs)
|
|
30
28
|
|
|
31
|
-
if obj is None:
|
|
32
|
-
self.base.attributes.set("is_none", True)
|
|
33
|
-
self._obj = None
|
|
34
|
-
return
|
|
35
|
-
|
|
36
29
|
dictionary = self._extract_dict(obj)
|
|
37
30
|
|
|
38
31
|
dictionary.setdefault("@class", obj.__class__.__name__)
|
|
@@ -107,9 +100,6 @@ class JsonableData(orm.Data):
|
|
|
107
100
|
Return the wrapped Python object. If not cached in `_obj`,
|
|
108
101
|
we reconstruct it by calling one of the recognized 'from-dict' methods.
|
|
109
102
|
"""
|
|
110
|
-
if self.base.attributes.get("is_none", False):
|
|
111
|
-
self._obj = None
|
|
112
|
-
return None
|
|
113
103
|
|
|
114
104
|
if hasattr(self, "_obj"):
|
|
115
105
|
return self._obj
|
|
@@ -154,7 +144,7 @@ class JsonableData(orm.Data):
|
|
|
154
144
|
|
|
155
145
|
@property
|
|
156
146
|
def obj(self) -> typing.Any:
|
|
157
|
-
"""Return the wrapped Python object
|
|
147
|
+
"""Return the wrapped Python object."""
|
|
158
148
|
return self._get_object()
|
|
159
149
|
|
|
160
150
|
@property
|
|
@@ -19,6 +19,7 @@ src/aiida_pythonjob/calculations/pythonjob.py
|
|
|
19
19
|
src/aiida_pythonjob/calculations/utils.py
|
|
20
20
|
src/aiida_pythonjob/data/__init__.py
|
|
21
21
|
src/aiida_pythonjob/data/atoms.py
|
|
22
|
+
src/aiida_pythonjob/data/common_data.py
|
|
22
23
|
src/aiida_pythonjob/data/data_wrapper.py
|
|
23
24
|
src/aiida_pythonjob/data/deserializer.py
|
|
24
25
|
src/aiida_pythonjob/data/jsonable_data.py
|
{aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob.egg-info/entry_points.txt
RENAMED
|
@@ -3,6 +3,7 @@ pythonjob.pythonjob = aiida_pythonjob.calculations.pythonjob:PythonJob
|
|
|
3
3
|
|
|
4
4
|
[aiida.data]
|
|
5
5
|
pythonjob.ase.atoms.Atoms = aiida_pythonjob.data.atoms:AtomsData
|
|
6
|
+
pythonjob.builtins.NoneType = aiida_pythonjob.data.common_data:NoneData
|
|
6
7
|
pythonjob.builtins.bool = aiida.orm.nodes.data.bool:Bool
|
|
7
8
|
pythonjob.builtins.dict = aiida_pythonjob.data.data_wrapper:Dict
|
|
8
9
|
pythonjob.builtins.float = aiida.orm.nodes.data.float:Float
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/calculations/__init__.py
RENAMED
|
File without changes
|
{aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/calculations/pyfunction.py
RENAMED
|
File without changes
|
{aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob/calculations/pythonjob.py
RENAMED
|
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
|
{aiida_pythonjob-0.3.2 → aiida_pythonjob-0.3.3}/src/aiida_pythonjob.egg-info/dependency_links.txt
RENAMED
|
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
|