aws / aws/sagemaker-python-sdk
Make all Pipeline Parameters hashable
- Ngôn ngữ chính
- Python
- Star
- 2.3k
- Fork
- 1.3k
- Merge trung bình
- 1 ngày 22 giờ
- Pull request đã merge (30 ngày)
- 35
Mô tả
**Describe the feature you'd like**
Certain operations in Python require hashable objects. While `sagemaker.workflow.parameters.ParameterString` is hashable, other data types such as `ParameterInteger`, `ParameterBoolean` or `ParameterFloat` are not hashable. To me, it's unclear why only string parameters should be washable, as the underlaying method `__hash__(self)` could apparently easily be implemented at the `sagemaker.workflow.parameters.Parameter` instead at `sagemaker.workflow.parameters.ParameterString`. Currently, it's implemented like this:
```python
class ParameterString(Parameter):
# ...
def __hash__(self):
"""Hash function for parameter types"""
return hash(tuple(self.to_request()))
```
**How would this feature be used? Please describe.**
Use non-string parameters in places where a hashable object is required, e.g. dict keys.
**Describe alternatives you've considered**
Use `ParameterString` everywhere, even when the underlaying data type is not actually a string.
Hướng dẫn đóng góp
Đánh giá
Issue này chưa được đánh giá.