-
Notifications
You must be signed in to change notification settings - Fork 31
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
Complete serialization overhaul #263
Commits on May 15, 2018
-
Configuration menu - View commit details
-
Copy full SHA for f8b4d2d - Browse repository at this point
Copy the full SHA f8b4d2dView commit details -
Configuration menu - View commit details
-
Copy full SHA for e340dee - Browse repository at this point
Copy the full SHA e340deeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 87f061a - Browse repository at this point
Copy the full SHA 87f061aView commit details
Commits on May 23, 2018
-
Configuration menu - View commit details
-
Copy full SHA for a82f25a - Browse repository at this point
Copy the full SHA a82f25aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6eac5c8 - Browse repository at this point
Copy the full SHA 6eac5c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for cda7cc1 - Browse repository at this point
Copy the full SHA cda7cc1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 23576e6 - Browse repository at this point
Copy the full SHA 23576e6View commit details
Commits on May 30, 2018
-
Configuration menu - View commit details
-
Copy full SHA for fa33b51 - Browse repository at this point
Copy the full SHA fa33b51View commit details -
Re-added old ExtendedJSONEncoder (and renamed new ones) to enable smo…
…oth transition. New classes are now called JSONSerializableDecoder/-Encoder .
Configuration menu - View commit details
-
Copy full SHA for 492d58c - Browse repository at this point
Copy the full SHA 492d58cView commit details -
Re-added old Serializer tests, made new serialization routines compat…
…ible with old for transition period and marked old routines as deprecated.
Configuration menu - View commit details
-
Copy full SHA for 6c61170 - Browse repository at this point
Copy the full SHA 6c61170View commit details -
Configuration menu - View commit details
-
Copy full SHA for 10b81d0 - Browse repository at this point
Copy the full SHA 10b81d0View commit details
Commits on Jun 7, 2018
-
Adapted remaining PulseTemplate classes to new serialization routines.
All now implement get_serialization_data and deserialize for old and new serialization routines for a transition period.
Configuration menu - View commit details
-
Copy full SHA for 901cbad - Browse repository at this point
Copy the full SHA 901cbadView commit details -
Fixes for get_serialization_data routines and corresponding tests.
Methods did not call Serializable::get_serialization_data() and thus did not inculde #type and #identifier keys in the returned dictionaries. Tests did not cover this. Moved identifier_name and type_identifier_name from JSONSerializableEncoder/-Decoder to Serializable. Signed-off-by: Lukas Prediger <lukas.prediger@rwth-aachen.de>
Configuration menu - View commit details
-
Copy full SHA for 6e42954 - Browse repository at this point
Copy the full SHA 6e42954View commit details -
qctoolkit.serialization.PulseStorage: Fixes to __getitem__.
Implementation was inconsistent with _temporary_storage usage in other places.
Configuration menu - View commit details
-
Copy full SHA for 65f568c - Browse repository at this point
Copy the full SHA 65f568cView commit details
Commits on Jun 14, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 01dab0d - Browse repository at this point
Copy the full SHA 01dab0dView commit details -
Changes to (Nested)DummySerializable.
DummySerializable now behaves as follows: Takes any number of keyword-arguments and stores them as class attributes. get_serialization_data() returns a dictionary with (key, value) pairs for all attributes given this way. This is compatible with previous usage (where only a "data" attribute of type Any was given and get_serialization_data() returned a dictionary with only key "data" and whatever given value). Removed duplicated definition of DummySerializable further down the same file. NestedDummySerializable now is also compatible with new serialization routines and implements deserialize().
Configuration menu - View commit details
-
Copy full SHA for 014b4b8 - Browse repository at this point
Copy the full SHA 014b4b8View commit details -
Made SerializableTests an abstract base class.
..to adapt syntax/type to behavior. Slight change in DummySerializableTests.make_kwargs to extend testing of DummySerializable funcitonality a bit.
Configuration menu - View commit details
-
Copy full SHA for 5b8d6e2 - Browse repository at this point
Copy the full SHA 5b8d6e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for ed93eae - Browse repository at this point
Copy the full SHA ed93eaeView commit details -
Added method to convert a single pulse from old to new serialization …
…format. Pulse is read using old serialization routines from a source storage backend and destination storage backend to a new using the new routines.
Configuration menu - View commit details
-
Copy full SHA for 5afe318 - Browse repository at this point
Copy the full SHA 5afe318View commit details -
Configuration menu - View commit details
-
Copy full SHA for a858158 - Browse repository at this point
Copy the full SHA a858158View commit details -
Added list_contents() method to StorageBackend.
Method should list all available serializables. No tests currently.
Configuration menu - View commit details
-
Copy full SHA for cb79d11 - Browse repository at this point
Copy the full SHA cb79d11View commit details
Commits on Jun 15, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 17e0d1a - Browse repository at this point
Copy the full SHA 17e0d1aView commit details
Commits on Jun 16, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 95bbbd5 - Browse repository at this point
Copy the full SHA 95bbbd5View commit details -
Added convert_pulses_in_storage method.
convert_pulses_in_storage converts all pulses in a given source StorageBackend from the old serialization format into the new and stores them in a given destination StorageBackend. Both conversion methods now raise an exception if they would need to overwrite identifiers already existing in the destination backend. Commit also includes more extensive tests for both conversion methods as well as some style corretions for already existing tests.
Configuration menu - View commit details
-
Copy full SHA for 408429e - Browse repository at this point
Copy the full SHA 408429eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a8e167 - Browse repository at this point
Copy the full SHA 8a8e167View commit details
Commits on Jun 17, 2018
-
Configuration menu - View commit details
-
Copy full SHA for e3f334d - Browse repository at this point
Copy the full SHA e3f334dView commit details -
PulseStorage can be conveniently replace default pulse registration.
Added get_default_pulse_registration() method to query current default pulse registration. Added method PulseStorage.as_default_registry(), a context manager method that causes the PulseStorage object to replace the current default pulse registration for the duration of a "with:" block. Added method PulseStorage.set_to_default_registry() which permanently sets the PulseStorage object as the default pulse registration.
Configuration menu - View commit details
-
Copy full SHA for 789309a - Browse repository at this point
Copy the full SHA 789309aView commit details
Commits on Jun 21, 2018
-
All serialization tests now subclasses of tests.serialization_tests.S…
…erializableTests. Adapted tests.pulses.sequencing_dummies.DummyPulseTemplate to have sensible serialization semantics so it can by higher order PTs during tests.
Configuration menu - View commit details
-
Copy full SHA for 13e652c - Browse repository at this point
Copy the full SHA 13e652cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ab3563 - Browse repository at this point
Copy the full SHA 6ab3563View commit details
Commits on Jun 28, 2018
-
PulseStorage now immediately writes new pulses to storage backend.
This makes method flush() obsolete, so it was removed.
Configuration menu - View commit details
-
Copy full SHA for 7316cec - Browse repository at this point
Copy the full SHA 7316cecView commit details -
Safer dealing with duplicate ids when storing pulses.
JSONEncoder previously did not check whether subpulses are identical to already known pulses with the same id but just replaced them with a reference to the already known subpulse in the serialization. This could lead to unexpected behavior. JSONEncoder now raises a RuntimeError instead in this case. PulseStorage adopts a transaction model and takes care that in case of such an exception, a pulse is not partially serialized, i.e., if a pulse serialization aborts due to a duplicated subpulse identifier, no changes to the storage is made (that is, new subpulses that were already succesfully serialized will be discarded if an error is encountered for another subpulse).
Configuration menu - View commit details
-
Copy full SHA for eca1d0e - Browse repository at this point
Copy the full SHA eca1d0eView commit details
Commits on Jul 5, 2018
-
Merge pull request #266 from qutech/issues/250_serialization_backward…
…_compatability backward-compatible implementations of get_serialization_data and deserialize
Configuration menu - View commit details
-
Copy full SHA for 6995a0a - Browse repository at this point
Copy the full SHA 6995a0aView commit details -
Rename pulse registration to registry and add it as a keyword argumen…
…t to each init method. Trigger garbage collection on each pulse initialization.
Configuration menu - View commit details
-
Copy full SHA for a5c0074 - Browse repository at this point
Copy the full SHA a5c0074View commit details -
Fixed DummySerializable and tests.
DummySerializable's constructor now also passes on the registry argument. Fixed all failing tests.
Configuration menu - View commit details
-
Copy full SHA for c799fcd - Browse repository at this point
Copy the full SHA c799fcdView commit details -
Restrict garbage collection to the case where there is a registered s…
…erializable with the same name
Configuration menu - View commit details
-
Copy full SHA for ea0c8e4 - Browse repository at this point
Copy the full SHA ea0c8e4View commit details -
Merge pull request #288 from qutech/issues/276_registry_forwarding
Fix (global) pulse registry
Configuration menu - View commit details
-
Copy full SHA for 0354e18 - Browse repository at this point
Copy the full SHA 0354e18View commit details -
Fixed variable naming as to not overwrite builtins.
Signed-off-by: Lukas Prediger <lukas.prediger@rwth-aachen.de>
Configuration menu - View commit details
-
Copy full SHA for 266d55d - Browse repository at this point
Copy the full SHA 266d55dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 36ddb50 - Browse repository at this point
Copy the full SHA 36ddb50View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1ea0878 - Browse repository at this point
Copy the full SHA 1ea0878View commit details -
NestedDummySerializable's constructor now passed the registry argument through to superclass. Signed-off-by: Lukas Prediger <lukas.prediger@rwth-aachen.de>
Configuration menu - View commit details
-
Copy full SHA for 441b95b - Browse repository at this point
Copy the full SHA 441b95bView commit details -
Merge pull request #285 from qutech/issues/281_pulse_storage_flushing
Fix issues 271&281
Configuration menu - View commit details
-
Copy full SHA for eee6037 - Browse repository at this point
Copy the full SHA eee6037View commit details -
Allow default registry to be None.
Signed-off-by: Lukas Prediger <lukas.prediger@rwth-aachen.de>
Configuration menu - View commit details
-
Copy full SHA for da57af8 - Browse repository at this point
Copy the full SHA da57af8View commit details -
PulseStorage checks for duplicate id now considers storage backend. A…
…dded __delitem__() to PulseStorage. __delitem__() has no test routines yet. Closes #273.
Configuration menu - View commit details
-
Copy full SHA for dcfdd33 - Browse repository at this point
Copy the full SHA dcfdd33View commit details -
Merge branch 'issues/250_serialization' into issues/270_beautified_js…
…on_output Signed-off-by: Lukas Prediger <lukas.prediger@rwth-aachen.de>
Configuration menu - View commit details
-
Copy full SHA for 01aa987 - Browse repository at this point
Copy the full SHA 01aa987View commit details -
Merge branch 'issues/250_serialization' into issues/275_pulse_storage…
…_context_manager Signed-off-by: Lukas Prediger <lukas.prediger@rwth-aachen.de>
Configuration menu - View commit details
-
Copy full SHA for b49b943 - Browse repository at this point
Copy the full SHA b49b943View commit details -
Configuration menu - View commit details
-
Copy full SHA for bbfeabe - Browse repository at this point
Copy the full SHA bbfeabeView commit details
Commits on Jul 6, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 345a676 - Browse repository at this point
Copy the full SHA 345a676View commit details -
Merge pull request #291 from qutech/issues/275_pulse_storage_context_…
…manager Merge issue #275
Configuration menu - View commit details
-
Copy full SHA for 183e940 - Browse repository at this point
Copy the full SHA 183e940View commit details -
Merge branch 'master' into issues/250_serialization
# Conflicts: # tests/pulses/table_pulse_template_tests.py
Configuration menu - View commit details
-
Copy full SHA for ada2754 - Browse repository at this point
Copy the full SHA ada2754View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1d92720 - Browse repository at this point
Copy the full SHA 1d92720View commit details -
Merge pull request #293 from qutech/issues/289_pulse_storage_delitem_…
…test Add test for __delitem__
Configuration menu - View commit details
-
Copy full SHA for 4ab908d - Browse repository at this point
Copy the full SHA 4ab908dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 80b7d90 - Browse repository at this point
Copy the full SHA 80b7d90View commit details
Commits on Jul 9, 2018
-
Merge pull request #295 from qutech/issues/294_test_coverage
Increase test coverage
Configuration menu - View commit details
-
Copy full SHA for bb757a0 - Browse repository at this point
Copy the full SHA bb757a0View commit details -
Merge remote-tracking branch 'remotes/origin/issues/250_serialization…
…' into issues/250_serialization_conversion_script
Configuration menu - View commit details
-
Copy full SHA for e739a49 - Browse repository at this point
Copy the full SHA e739a49View commit details -
Configuration menu - View commit details
-
Copy full SHA for b7dc1e7 - Browse repository at this point
Copy the full SHA b7dc1e7View commit details -
Fix: MappingPulseTemplate had no implementation for new serialization…
… routines. Also added tests (these were also missing for the old serialization routines!).
Configuration menu - View commit details
-
Copy full SHA for 52fbbc5 - Browse repository at this point
Copy the full SHA 52fbbc5View commit details -
Ensured that no occurrence of get_serialization_data/deserialize requ…
…ires a Serializer object as non-optional positional argument anymore.
Configuration menu - View commit details
-
Copy full SHA for 248b777 - Browse repository at this point
Copy the full SHA 248b777View commit details
Commits on Jul 12, 2018
-
Merge pull request #297 from qutech/issues/250_fix_mapping_pt
Fixes for new serialization
Configuration menu - View commit details
-
Copy full SHA for ac78907 - Browse repository at this point
Copy the full SHA ac78907View commit details -
Added methods set_default_pulse_registry() and new_default_pulse_regi…
…stry(). set_default_pulse_registry() allows to set a new user-specified registry as the global default pulse registry. new_default_pulse_registry() creates a new, empty global default pulse registry (as a WeakValueDictionary).
Configuration menu - View commit details
-
Copy full SHA for 9cb1190 - Browse repository at this point
Copy the full SHA 9cb1190View commit details -
Configuration menu - View commit details
-
Copy full SHA for 29b6064 - Browse repository at this point
Copy the full SHA 29b6064View commit details -
Configuration menu - View commit details
-
Copy full SHA for 27ae2cb - Browse repository at this point
Copy the full SHA 27ae2cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 07d6e71 - Browse repository at this point
Copy the full SHA 07d6e71View commit details -
Merge branch 'issues/250_serialization' into issues/250_serialization…
…_conversion_script
Configuration menu - View commit details
-
Copy full SHA for 648ddb8 - Browse repository at this point
Copy the full SHA 648ddb8View commit details -
Configuration menu - View commit details
-
Copy full SHA for bbc41b4 - Browse repository at this point
Copy the full SHA bbc41b4View commit details -
Merge branch 'issues/250_serialization' into issues/301_pulse_storage…
…_as_default_issue
Configuration menu - View commit details
-
Copy full SHA for e90cc1e - Browse repository at this point
Copy the full SHA e90cc1eView commit details -
Configuration menu - View commit details
-
Copy full SHA for c8a106d - Browse repository at this point
Copy the full SHA c8a106dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1d10fde - Browse repository at this point
Copy the full SHA 1d10fdeView commit details -
Added test_conversion() to SerializableTests
Ensures that the conversion using convert_pulses_in_storage() results in an equal PulseTemplate.
Configuration menu - View commit details
-
Copy full SHA for 06df6ed - Browse repository at this point
Copy the full SHA 06df6edView commit details -
Configuration menu - View commit details
-
Copy full SHA for bc8bc0e - Browse repository at this point
Copy the full SHA bc8bc0eView commit details -
Fix #301: deserialization with PulseStorage now possible when it is d…
…efault registry.
Configuration menu - View commit details
-
Copy full SHA for 2b4624a - Browse repository at this point
Copy the full SHA 2b4624aView commit details -
Renamed abstract assert_equal_instance -> assert_equal_instance_excep…
…t_id in SerializableTests (and added assert_equal_instance building on it) and made sure that all implementations adhere to that
Configuration menu - View commit details
-
Copy full SHA for dfc72ef - Browse repository at this point
Copy the full SHA dfc72efView commit details -
Added renamed() method to Serializable.
Signed-off-by: Lukas Prediger <lukas.prediger@rwth-aachen.de>
Configuration menu - View commit details
-
Copy full SHA for f2cd50d - Browse repository at this point
Copy the full SHA f2cd50dView commit details -
PulseStorage now raises a ValueError when a Serializable/PT is stored…
… under a different than its own identifier. Signed-off-by: Lukas Prediger <lukas.prediger@rwth-aachen.de>
Configuration menu - View commit details
-
Copy full SHA for bb935b8 - Browse repository at this point
Copy the full SHA bb935b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 18634f7 - Browse repository at this point
Copy the full SHA 18634f7View commit details -
Generalizing type annotations for set/get_default_pulse_registry() an…
…d Serializable.__init__() Signed-off-by: Lukas Prediger <lukas.prediger@rwth-aachen.de>
Configuration menu - View commit details
-
Copy full SHA for 0bca178 - Browse repository at this point
Copy the full SHA 0bca178View commit details -
Merge pull request #305 from qutech/issues/301_pulse_storage_as_defau…
…lt_issue Issues/301 pulse storage as default issue
Configuration menu - View commit details
-
Copy full SHA for 9ef8a0f - Browse repository at this point
Copy the full SHA 9ef8a0fView commit details -
Test to ensure that registration of Serializables does not occur befo…
…re they serialize correctly. Signed-off-by: Lukas Prediger <lukas.prediger@rwth-aachen.de>
Configuration menu - View commit details
-
Copy full SHA for 8573607 - Browse repository at this point
Copy the full SHA 8573607View commit details -
Configuration menu - View commit details
-
Copy full SHA for 87749df - Browse repository at this point
Copy the full SHA 87749dfView commit details -
Configuration menu - View commit details
-
Copy full SHA for d70a29b - Browse repository at this point
Copy the full SHA d70a29bView commit details -
Fix #298 : PulseTemplates(/Serializables) are only registered in the …
…global registry after they are completely initialized. Serializable now does not perform registration in __init__ but provides a method _register() which MUST be called by leaf-level subclasses. (This is probably also not a good solution in the long term as it effectively prevents further subclassing from those classes but it works for now). Signed-off-by: Lukas Prediger <lukas.prediger@rwth-aachen.de>
Configuration menu - View commit details
-
Copy full SHA for 5c4b212 - Browse repository at this point
Copy the full SHA 5c4b212View commit details -
Configuration menu - View commit details
-
Copy full SHA for 45042a5 - Browse repository at this point
Copy the full SHA 45042a5View commit details -
PulseStorage now "implements" MutableMapping.
Implementations of __len__ and __iter__ curently raise NotImplementedError s. Signed-off-by: Lukas Prediger <lukas.prediger@rwth-aachen.de>
Configuration menu - View commit details
-
Copy full SHA for d763147 - Browse repository at this point
Copy the full SHA d763147View commit details -
Merge branch 'issues/250_serialization' into issues/250_serialization…
…_conversion_script
Configuration menu - View commit details
-
Copy full SHA for 68b2ac5 - Browse repository at this point
Copy the full SHA 68b2ac5View commit details -
Merge pull request #300 from qutech/issues/299_default_registry_none
Issues/299 default registry none
Configuration menu - View commit details
-
Copy full SHA for fe9c3b7 - Browse repository at this point
Copy the full SHA fe9c3b7View commit details -
Merge pull request #304 from qutech/issues/250_serialization_conversi…
…on_script Serialization conversion script
Configuration menu - View commit details
-
Copy full SHA for 5a5b5d7 - Browse repository at this point
Copy the full SHA 5a5b5d7View commit details -
Merge branch 'issues/250_serialization' into issues/272_PulseStorage_…
…id_inconsistencies
Configuration menu - View commit details
-
Copy full SHA for 81b7891 - Browse repository at this point
Copy the full SHA 81b7891View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5faafcc - Browse repository at this point
Copy the full SHA 5faafccView commit details -
Merge pull request #306 from qutech/issues/272_PulseStorage_id_incons…
…istencies Issues/272 pulse storage id inconsistencies
Configuration menu - View commit details
-
Copy full SHA for 62d18ad - Browse repository at this point
Copy the full SHA 62d18adView commit details -
Configuration menu - View commit details
-
Copy full SHA for f638d24 - Browse repository at this point
Copy the full SHA f638d24View commit details -
Merge pull request #307 from qutech/issues/298_early_pulse_registration
Issues/298 early pulse registration
Configuration menu - View commit details
-
Copy full SHA for b796ab1 - Browse repository at this point
Copy the full SHA b796ab1View commit details
Commits on Jul 13, 2018
-
Merge branch 'issues/250_serialization' into issues/308_consistent_ty…
…pe_annotations_for_registry
Configuration menu - View commit details
-
Copy full SHA for 6f08c7d - Browse repository at this point
Copy the full SHA 6f08c7dView commit details -
Introduced PulseRegistryType and changed type annotations for pulse r…
…egistry occurrences accordingly.
Configuration menu - View commit details
-
Copy full SHA for a8732f9 - Browse repository at this point
Copy the full SHA a8732f9View commit details -
Configuration menu - View commit details
-
Copy full SHA for c6ab296 - Browse repository at this point
Copy the full SHA c6ab296View commit details -
Merge pull request #310 from qutech/issues/308_consistent_type_annota…
…tions_for_registry Issues/308 consistent type annotations for registry
Configuration menu - View commit details
-
Copy full SHA for 42b888d - Browse repository at this point
Copy the full SHA 42b888dView commit details -
Added test to ensure that PulseStorage duplicate id check is consiste…
…nt over several instantiations.
Configuration menu - View commit details
-
Copy full SHA for ae21951 - Browse repository at this point
Copy the full SHA ae21951View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2925c89 - Browse repository at this point
Copy the full SHA 2925c89View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9548742 - Browse repository at this point
Copy the full SHA 9548742View commit details
Commits on Jul 16, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 0d1f9df - Browse repository at this point
Copy the full SHA 0d1f9dfView commit details
Commits on Jul 17, 2018
-
Merge pull request #311 from qutech/issues/250_one_more_test
Increased test coverage for serialization
Configuration menu - View commit details
-
Copy full SHA for 47338ee - Browse repository at this point
Copy the full SHA 47338eeView commit details