LGTM overall, one small detail to add:

I think it is fine to encourage newcomers to utilize the Python SDK if they are already familiar
with the Python language, or they don't have Golang skills.

It would be better to present both options first, and then recommend the Python if they don't
familiar with the Golang.


On 6/27/2023 7:25 AM, Hezheng Yin wrote:
Dear DevLake Community,

I hope this email finds you well. I'm writing to provide clarity on a topic
that has seen increased discussions in Slack recently: the choice between
Golang and Python for developing plugins in DevLake.

As we navigate the evolving DevLake community, we’re indeed encouraging
newcomers to utilize the Python SDK for developing plugins. This choice is
primarily motivated by Python’s simplicity and high-level interface, which
we believe could facilitate easier onboarding and more efficient
development.

During DevLake’s development, we’ve observed that our performance concerns
were not as pressing as initially anticipated. The collection speed, more
often than not, is bottlenecked by the data source’s rate limit rather than
our system’s processing capabilities. Consequently, we haven’t been
significantly leveraging Golang’s strength in high-performance systems.

However, that does not mean that Golang is being phased out. We intend to
continue supporting Golang plugins for the long term. While Python becomes
our choice for ease of development, Golang remains relevant for where its
strength in system reliability and performance can be fully utilized. This
approach will ensure we can balance between rapid development and creating
reliable, long-term stable components.

Best,
Hezheng


Reply via email to