Zappa
Zappa copied to clipboard
(Discussion) Keep using kappa library
The kappa library used for the events sources seems to be have been totally abandoned. The last release is from february 2017...
AWS and Boto3 have a lot new functionalities and it seems that currently we just override the kappa main classes to add those new functionalities when they comes up (e.g the ExtendedSnsEventSource).
Wouldn't it be more maintanable to create a whole new class in the Zappa project for this only purpose ?
There is nothing really hard in this, it just need some time to think about making it really generic, robust and easily maintainable using only Boto3.
All of the main code for event sources is in the utilities.py so there is no huge changes accross the project.
Any other ideas are welcome, and I can take some of my time to start this refacto if you think it can be a good thing to do.
Related issues : #413 #504 - #545 #512 - #668 - #809 #557 #718 #761 - #762 #817 #854 #861 #907 #958
As an interim approach, perhaps vendoring kappa into the project as a submodule, to get full control and be able to make changes, and then progressively replacing the code would be a good way to minimise the amount of change this might cause?
This issue is affecting my use cases directly around event driven data processing for IoT sensors. I am happy to pitch in with PR's if the core contributors can come up with work breakdown structure and specific issues to address. I am all for vendoring this library and overriding sections to the more maintained boto3 equivalents.
What about using terraform as it is well maintained ? In the readme there is an example :
https://github.com/dpetzold/terraform-aws-zappa
Reviewing issues, and this looks like something that should be addressed.
I don't think the kappa dependency should be necessary, and agree that the functionality should be pulled in to zappa, ideally without adding a new dependency.
Most likely the code would be re-written with boto3 (an existing dependency of zappa).
Related code. https://github.com/zappa/Zappa/blob/master/zappa/utilities.py#L219-L244
In my mind, the first step to migrate away from kappa is to encapsulate the kappa components into a new zappa internal "infrastructure" api.
May be make a new "zappa.infrastructure" package with an InfrastructureManager() object to abstract out the kappa code.
Once that's done, we can then work to replace the kappa components from under the InfrastructureManager() api.
Hi there! Unfortunately, this Issue has not seen any activity for at least 90 days. If the Issue is still relevant to the latest version of Zappa, please comment within the next 10 days if you wish to keep it open. Otherwise, it will be automatically closed.
Hi there! Unfortunately, this Issue was automatically closed as it had not seen any activity in at least 100 days. If the Issue is still relevant to the latest version of Zappa, please open a new Issue.