This PR aims to allow an easier understanding and ability to change the code in the future.
The changes are currently not ready to merge, and not tested yet.
This is a summary of the current state of changes (at the time of writing):
[x] Used 3.10 syntax to remove Optional[T] and Union[T, U] in code
[x] Refactor to minify the typing dependency in all the classes in data/
This PR aims to allow an easier understanding and ability to change the code in the future. The changes are currently not ready to merge, and not tested yet.
This is a summary of the current state of changes (at the time of writing):
data/
The plan for the future is based on this talk by Conor Hoekstra: https://www.youtube.com/watch?v=nXZQfdxWgh0 In summary for our case:
Maybe use Optional (from optional.py)decided against it because of no__class_getitem__
set_
methods when possible, and add warnings for the previous API.There might be more refactors if applicable (for example: extract out the data classes creation to the classes as classmethods).