Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge master after release of v0.11.4 into release_v0.12.0 #1376

Merged
merged 11 commits into from
Apr 4, 2018
13 changes: 11 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,13 @@

### Improvements
- Hashing, caching and fast-forwarding [[#652]](https://github.com/aiidateam/aiida_core/pull/652)
- PyCifRW upgraded to 4.2.1 [[#1073]](https://github.com/aiidateam/aiida_core/pull/1073)
- Calculation no longer stores full source file [[#1082]](https://github.com/aiidateam/aiida_core/pull/1082)
- Delete nodes via `verdi node delete` [[#1083]](https://github.com/aiidateam/aiida_core/pull/1083)
- Import structures using ASE [[#1085]](https://github.com/aiidateam/aiida_core/pull/1085)
- `StructureData` - `pymatgen` - `StructureData` roundtrip works for arbitrary kind names [[#1285]](https://github.com/aiidateam/aiida_core/pull/1285) [[#1306]](https://github.com/aiidateam/aiida_core/pull/1306) [[#1357]](https://github.com/aiidateam/aiida_core/pull/1357)

### Critical bug fixes
- Add `parser_name` `JobProcess` options [[#1118]](https://github.com/aiidateam/aiida_core/pull/1118)
- Serialize `WorkChain` context before persisting [[#1354]](https://github.com/aiidateam/aiida_core/pull/1354)

### Minor bug fixes
- Cell vectors not printed correctly [[#1087]](https://github.com/aiidateam/aiida_core/pull/1087)
Expand All @@ -27,6 +25,17 @@
- Document querying of list attributes [[#1326]](https://github.com/aiidateam/aiida_core/pull/1326)
- Cookbook: how to check the number of queued/running jobs in the scheduler [[#1349]](https://github.com/aiidateam/aiida_core/pull/1349)


## v0.11.4

### Improvements
- PyCifRW upgraded to 4.2.1 [[#1073]](https://github.com/aiidateam/aiida_core/pull/1073)

### Critical bug fixes
- Persist and load parsed workchain inputs and do not recreate to avoid creating duplicates for default inputs [[#1362]](https://github.com/aiidateam/aiida_core/pull/1362)
- Serialize `WorkChain` context before persisting [[#1354]](https://github.com/aiidateam/aiida_core/pull/1354)


## v0.11.3

### Improvements
Expand Down
2 changes: 1 addition & 1 deletion aiida/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

__copyright__ = u"Copyright (c), This file is part of the AiiDA platform. For further information please visit http://www.aiida.net/. All rights reserved."
__license__ = "MIT license, see LICENSE.txt file."
__version__ = "0.11.3"
__version__ = "0.11.4"
__authors__ = "The AiiDA team."
__paper__ = """G. Pizzi, A. Cepellotti, R. Sabatini, N. Marzari, and B. Kozinsky, "AiiDA: automated interactive infrastructure and database for computational science", Comp. Mat. Sci 111, 218-230 (2016); http://dx.doi.org/10.1016/j.commatsci.2015.09.013 - http://www.aiida.net."""
__paper_short__ = """G. Pizzi et al., Comp. Mat. Sci 111, 218 (2016)."""
Expand Down
1 change: 0 additions & 1 deletion aiida/orm/data/cif.py
Original file line number Diff line number Diff line change
Expand Up @@ -516,7 +516,6 @@ def values(self):
for k, v in c.items():
c.dictionary[k] = CifBlock(v)
self._values = c

return self._values

def set_values(self, values):
Expand Down
13 changes: 13 additions & 0 deletions aiida/utils/serialize.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
# -*- coding: utf-8 -*-
###########################################################################
# Copyright (c), The AiiDA team. All rights reserved. #
# This file is part of the AiiDA code. #
# #
# The code is hosted on GitHub at https://github.com/aiidateam/aiida_core #
# For further information on the license, see the LICENSE.txt file #
# For further information please visit http://www.aiida.net #
###########################################################################
import collections
from ast import literal_eval
from plum.util import AttributesFrozendict
from aiida.common.extendeddicts import AttributeDict
from aiida.orm import Group, Node, load_group, load_node

Expand Down Expand Up @@ -56,6 +65,8 @@ def serialize_data(data):
return '{}{}'.format(_PREFIX_VALUE_GROUP, data.uuid)
elif isinstance(data, AttributeDict):
return AttributeDict({encode_key(key): serialize_data(value) for key, value in data.iteritems()})
elif isinstance(data, AttributesFrozendict):
return AttributesFrozendict({encode_key(key): serialize_data(value) for key, value in data.iteritems()})
elif isinstance(data, collections.Mapping):
return {encode_key(key): serialize_data(value) for key, value in data.iteritems()}
elif isinstance(data, collections.Sequence) and not isinstance(data, (str, unicode)):
Expand All @@ -75,6 +86,8 @@ def deserialize_data(data):
"""
if isinstance(data, AttributeDict):
return AttributeDict({decode_key(key): deserialize_data(value) for key, value in data.iteritems()})
elif isinstance(data, AttributesFrozendict):
return AttributesFrozendict({decode_key(key): deserialize_data(value) for key, value in data.iteritems()})
elif isinstance(data, collections.Mapping):
return {decode_key(key): deserialize_data(value) for key, value in data.iteritems()}
elif isinstance(data, collections.Sequence) and not isinstance(data, (str, unicode)):
Expand Down
2 changes: 1 addition & 1 deletion setup_requirements.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@
'pymatgen==4.5.3', # support for NWChem I/O
'ase==3.12.0', # support for crystal structure manipulation
'PyMySQL==0.7.9', # required by ICSD tools
'PyCifRW==4.2.1', # support for the AiiDA CifData class
'PyCifRW==4.2.1',
'seekpath==1.8.0',
'qe-tools==1.1.0',
],
Expand Down