Skip to content
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

Integrate serialization customization on property-by-property basis #27

Open
5 tasks
VigneshVSV opened this issue Jul 27, 2024 · 0 comments
Open
5 tasks
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed

Comments

@VigneshVSV
Copy link
Owner

VigneshVSV commented Jul 27, 2024

Currently, JSONSerializer is the default serializer for all operations. One can change the serializer altogether to pickle or MessagePack, but not property by property basis.

However, for numpy arrays or very select custom data types like dataframes, it would be beneficial if only that property serialized in a different way compared to other properties like Number, String, simple lists etc. which may still be serialized with JSON.

Possible steps involved

  • Verify how param deals with it? They also have built in JSON serializer & JSON schema generation which needs to be integrated anyway. A serialize() and deserialize() method is already available parameter-by-parameter/property-by-property basis in param
  • If serialize() and deserialize() is good, add corresponding logic and add an argument to property init which accepts the serializer type or the serializer itself
  • Change EventLoop property execution to factor serialize and deserialize methods
  • Add corresponding content type headers for HTTP
  • In ZMQ Object Proxy, factor the serializer

As an extra effort, as the first point states, if param's built in serialization is taken into account, that would be great!

@VigneshVSV VigneshVSV added enhancement New feature or request help wanted Extra attention is needed good first issue Good for newcomers labels Jul 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant