python-amazon-paapi icon indicating copy to clipboard operation
python-amazon-paapi copied to clipboard

Proposal: Refactored Version with Async Support and Enhanced Features

Open mywaiting opened this issue 4 months ago • 1 comments

Hello

I’ve taken the time to completely refactor the codebase of python-amazon-paapi. My version achieves the same functionality as the current implementation but with a cleaner and more efficient design. In addition, I’ve added full support for Python’s async features.

You can review the code followed this https://github.com/mywaiting/amazon-paapi-python-sdk

Key improvements include:

  • Customizable transport layer – The transport logic has been fully rewritten, allowing the library to support virtually all Python HTTP libraries.

  • Refactored data structures – All Amazon PAAPI data structures have been reimplemented using Python dataclasses, providing a more consistent and maintainable design with complete encoding/decoding support.

  • Reusable API interface – The API interface has been redesigned to be fully reusable, making it easier for developers to extend and integrate with their own projects.

The project’s code structure is essentially complete. However, I have not yet had the time to write tests or documentation or usage or any others for this refactored version.

At the moment, I do not plan to maintain this code in a separate repository. Instead, I would very much prefer for this work to be integrated here so the community can benefit from it under the original project.

Would you be open to reviewing and potentially merging this refactored version? I believe it could serve as a strong foundation for a new release of the library.

Thank you for your work on this project and for considering this contribution.

Best regards

mywaiting avatar Sep 26 '25 03:09 mywaiting

With the introduction of async and dataclasses, I realize this version would be a breaking change compared to the current release. The core implementation is already complete, though tests and documentation are still missing.

At this point, I may not have the capacity to maintain a separate fork long term. If you find the direction of this refactor aligned with the project’s goals, I’d be glad to further adjust and refine the code so it can serve as the foundation for a new release under this repository.

Thanks!

mywaiting avatar Sep 26 '25 03:09 mywaiting