Skip to content

[Bug]: Inconsistent None handling between constructor and update methods #139

@sepandhaghighi

Description

@sepandhaghighi

Contact details

me@sepand.tech

What happened?

Some parameters in the Response class (e.g., temperature) accept None during initialization to represent unknown or unset values. However, the corresponding update methods (e.g., update_temperature) raise a MemorValidationError when passed None. This inconsistency may affect other parameters as well. Update methods should support None when the constructor allows it, to maintain consistent API behavior.

Steps to reproduce

>>> from memor import *
>>> r = Response(message="Fine!", temperature=0.7)
>>> r.temperature
0.7

Expected behavior

>>> r.update_temperature(None)
>>> r.temperature

Actual behavior

>>> r.update_temperature(None)
Traceback (most recent call last):
    ...
memor.errors.MemorValidationError: Invalid value. `temperature` must be a positive float.

Operating system

Windows

Python version

Python 3.9

Memor version

Memor 0.7

Relevant log output

Metadata

Metadata

Labels

bugSomething isn't working

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions