Commit Graph

7 Commits

Author SHA1 Message Date
Alexey Volkov be899723e3
fix(sdk): Components - Fixed ModelBase handling of open generic types in Python 3.9 (#4613)
In Python 3.9 the open generic types like `typing.Dict` lack the `__args__` attribute.
2020-10-12 04:12:47 -07:00
Alexey Volkov 0a9af0eeb8
SDK - Components - Make component structures hashable (#3258)
This commit makes it possiblt to put TaskSpec or InputSpec into python set.
2020-03-11 16:14:37 -07:00
Alexey Volkov 553885ffb1
SDK - Components - Fixed ModelBase comparison bug (#1874) 2019-08-21 16:38:12 -07:00
Alexey Volkov b61bef04a3 SDK - Renamed ModelBase.from_struct/to_struct to from_dict/to_dict (#1290) 2019-05-07 14:06:35 -07:00
Alexey Volkov d15c72470f SDK/Components - Improved error when type checking fails in constructor (#732) 2019-01-25 14:44:15 -08:00
Alexey Volkov edf9b5471a SDK/Components - convert_object_to_struct now uses __init__ to get field list (#733)
This stops serialization of any additional attributes set on an object
2019-01-24 20:01:23 -08:00
Alexey Volkov 83e9ffe5bc SDK/Components - Reworked the component model structures. (#642)
* Reworked the Component structures.
Rewrote parsing, type checking and serialization code.
Improved the graph component structures.
Added most of the needed k8s structures.
Added model validation (input/output existence etc).
Added task cycle detection and topological sorting to GraphSpec.
All container component tests now work.
Added some graph component tests.

* Fixed incompatibilities with python <3.7

* Added __init__.py to make the Travis tests work.

* Adding kubernetes structures to setup.py

* Addressed PR feedback: Renamed _original_names to _serialized_names

* Addressed PR feedback: Reduced indentation.

* Added descriptions for all component structures.

* Fixed a bug in ComponentSpec._post_init()

* Added documentation for ModelBase class and functions.

* Added __eq__/__ne__ and improved __repr__

* Added ModelBase tests
2019-01-09 15:51:34 -08:00