Zappa icon indicating copy to clipboard operation
Zappa copied to clipboard

(Discussion) Keep using kappa library

Open Yaronn44 opened this issue 4 years ago • 8 comments

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

Yaronn44 avatar Mar 11 '21 12:03 Yaronn44

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?

techdragon avatar Mar 31 '21 03:03 techdragon

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.

whatnick avatar Apr 02 '21 22:04 whatnick

What about using terraform as it is well maintained ? In the readme there is an example :

https://github.com/dpetzold/terraform-aws-zappa

cometurrata avatar Jun 01 '21 13:06 cometurrata

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

monkut avatar Jul 19 '22 06:07 monkut

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.

monkut avatar Sep 22 '23 02:09 monkut

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.

github-actions[bot] avatar Apr 03 '24 15:04 github-actions[bot]

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.

github-actions[bot] avatar Apr 13 '24 19:04 github-actions[bot]