Is your feature request related to a problem or challenge? Please describe what you are trying to do.
We currently expose a subset of all CSV read options to Python. It would be good to expose them all.
Describe the solution you'd like
- Add a CsvReadOptions python class that mirrors the rust class.
- Make
read_csv and register_csv take either CsvReadOptions or the specific options we currently have. That is, do not impact existing workflows.
- Instead of using
CsvReadOptions::new and the builder methods switch to explicitly creating CsvReadOptions { ... } so that if new options get added upstream we are forced to add them in our implementation.
- We can use builder methods in the Python CsvReadOptions for a pleasant user experience.
Describe alternatives you've considered
Alternatively we can simply keep adding the rest of the options to the signature, but it's getting very verbose as it is.
Additional context
This is a follow on to #891