amazon-ion / ion-python

A Python implementation of Amazon Ion.
https://amazon-ion.github.io/ion-docs/
Apache License 2.0
260 stars 50 forks source link

Reorder simpleion and Refactor Pydoc #317

Closed rmarrowstone closed 9 months ago

rmarrowstone commented 9 months ago

This change puts the user API methods at the top of the file and moves the pydoc to the actual API methods. I followed the std json module in the choice to put the main doc strings on dump and load and have dumps and loads refer to them.

It also factors out the tables that were in loads and dumps into a single table. I found the previous factoring very difficult to grok and I believe this is more readable.

I also removed all of the unused kwarg parameters and their pydoc strings. It added a lot of cognitive load for no value.

Finally I made some minor cleanings to Arg descs and corrected the default text buffer value for loading with the C-Extension.

Note to Reviewers: I've found the organization of the file, the conversion tables and the unused args confusing for some time. As I looked to expose the emit_bare_values flag I wanted a good pydoc foundation to build from.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.