jbasko/autoboto

roadmap v0.3+

Opened this issue · 0 comments

v0.3.0

  • Paginators.

v0.4.0

  • Enums are probably not a great idea because user wants to get back the actual value, not an Enum. s3.client.get_bucket_location(bucket="bucket-name").location_constraint should be a string.

v0.4.1

  • Remove paginate methods from OutputShapes which don't have pagination so that it doesn't appear in auto-complete.

v next

  • [ ] When a dataclass is expected, always accept a dictionary too i.e. Union[dict, CreateBucketConfiguration].
  • Generate replacements for methods from boto3.s3.inject.
  • Consider removing the _request parameter from all methods. I don't ever use it.

v TBD 1

  • Use typing_inspect https://github.com/ilevkivskyi/typing_inspect
  • Build script. Should include a task to delete *.pyc files. A task to clean.
  • Handle “payload” whatever that is (in service-2.json files)
  • A way to specify iterators for shapes i.e. “ListObjectsV2Output” -> “contents” -> typing.Iterator[shapes.Object]. And then generate __iter__ method for each shape which has this specified.

v TBD 2

  • No generics in serialisers and deserialisers — generate full code based on field info.
  • _get_boto_mapping replaced with cached property that generates full mapping of fields with all easy to look up. Probably rich objects not tuples as items.
  • User “mixins”
  • Performance review. Caching. More code generated instead of generics.