nacos icon indicating copy to clipboard operation
nacos copied to clipboard

[Summer 2024] 演进Nacos-Python-Sdk,添加缺失的新功能

Open KomachiSion opened this issue 2 months ago • 0 comments

开源之夏是由中国科学院软件研究所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。

Nacos将会作为指导组织参加本次的“开源之夏2024”

背景

Nacos 社区在2021的开源之夏中,完成了python sdk 对接 2.0 grpc 核心API,随着AIGC的爆发和应用, 社区对python sdk的依赖和诉求愈来越多,当时适配的python sdk已经较为落后于Java sdk和go sdk的功能。

因此Nacos社区希望通过本次开源之夏课题,将python sdk的功能与java sdk和 go sdk对齐,给社区提供更好的python语言支持。

目标

基于python sdk当前,实现python sdk 相比于 java sdk和go sdk中 缺失的功能,其中包括但不限于RAM鉴权的支持、TLS支持、配置加密、配置灰度等功能;

难度

基础

导师

张健川 TODO

产出要求

  • 梳理当前python sdk与 java sdk和go sdk的能力差异;
  • 实现当前python sdk缺失的功能,其中包括但不限于RAM鉴权的支持、TLS支持、配置加密、配置灰度等功能;
  • 添加相关文档

能力要求

  • 熟悉Python编程语言
  • 了解Java或Go编程语言
  • 熟悉Markdown

Open Source Promotion Plan is a summer program organized by the Institute of Software Chinese Academy of Sciences and long-term supported by the Open Source Software Supply Chain Promotion Plan. It aims to encourage college students to actively participate in the maintenance and development of open source software, promote the vigorous development of open source software communities, and build the open source software supply chain together.

Nacos will join The Summer 2024 as the mentoring organization.

Background

During the Summer of Open Source in 2021, the Nacos community completed the integration of the Python SDK with the 2.0 gRPC core APIs. With the explosion and application of AIGC, the community's reliance and demands for the Python SDK have been increasing. The Python SDK at that time has fallen behind in functionality compared to the Java SDK and Go SDK.

Therefore, the Nacos community hopes that through this Summer of Open Source project, we can align the features of the Python SDK with those of the Java SDK and Go SDK, providing better Python language support to the community.

Target

Based on the current Python SDK, implement the features missing in the Python SDK compared to the Java SDK and Go SDK, including but not limited to RAM authentication support, TLS support, configuration encryption, and configuration grayscale features.

Difficulty

Basic

Mentor

Jianchuan Zhang [email protected]

Output Requirements

  • Catalog the current capability differences between the Python SDK and the Java SDK and Go SDK.
  • Implement the missing features in the current Python SDK, including but not limited to RAM authentication support, TLS support, configuration encryption, and configuration grayscale features.
  • Add related documentation.

Technical Requirements

  • Proficient in Python programming language.
  • Familiar with Java or Go programming language.
  • Proficient in Markdown.

KomachiSion avatar Apr 24 '24 11:04 KomachiSion