Skip to content

来自 pyecharts 作者的一封通知函 #1402

@chenjiandongx

Description

@chenjiandongx

大家好,我是 @chenjiandongx,pyecharts 的第一作者和维护者。pyecharts 于 2017-06-22 正式开源,在 2017-07-20 发布了第一个稳定版本,至今已有两年多了。

~/project/python/pyecharts 🐶 git summary           

 project  : pyecharts
 repo age : 2 years, 5 months
 active   : 356 days
 commits  : 1419
 files    : 205
 authors  : 
   559  chenjiandongx      39.4%
   324  chfw               22.8%
   280  陈键冬              19.7%
   108  kinegratii         7.6%
    59  jaska              4.2%
    33  chenjiandong       2.3%
    23  LeoSun             1.6%
    ....

在这两年多的时间内,我们发布了 34 个版本,共有 21 位开发者对 pyecharts 贡献了代码,解决并关闭了 930+ 的 issue,处理了 350+ 的 PR。在 Github 上也获得了一些肯定。

https://pyecharts.org 官网及其相关二级域名每月也有 200w+ 的访问量。

我后来建立了同名的 pyecharts organization,并将 pyecharts 的周边项目全部转移进该 organization。实际上现在依旧可以访问 https://github.com/chenjiandongx/pyecharts 只不过会被重定向到 https://github.com/pyecharts/pyecharts 互联网也是有记忆的。

在这里,我要特别感谢几位开发者,是他们一直努力推动 pyecharts 项目的完善和发展,共同建立了一套规范的开发流程(Code review, CI, Git Workflow)。

为了方便大家交流互动,我也维护了几个 pyecharts 交流群,大概有 700+ 人吧。不过大家好像真的以为进群可以学到东西?进群难道不是为了平时无聊吹水吗?大家在群里还经常想搞群主 🐶,不过讨论的氛围倒是蛮不错的。

pyecharts 本来是我的一个课余项目,那时候是刚开始折腾 Python,所有 Python 的入门书籍或者教程肯定在实战的第一章就来一个爬虫,无一例外。当时也是爬取了一些网站的数据,但是,赤裸的数据是没有表现力的,优雅的爬虫需要有优雅的可视化工具。那时候就萌生了自己搞个小轮子的想法,pyecharts 就这么诞生了,后来项目代码越写越多,干脆就写完整一点开源算了,这就有了后面的故事了。

pyecharts 的开发历程上有一个里程碑,就是从 v0.5.x 到 v1.0。在 v0.5.x 迭代到 v0.5.11 的时候,我有半年的时间停止了开发,主要原因是旧版本的代码架构严重影响了项目的可扩展性,一直在上面打补丁也不是一个好办法,所以索性就不维护了。直到了一个夜深人静的夜晚,我他妈真的看不下去了,决定对 pyecharts 进行重构,彻彻底底的重构,不考虑任何的兼容性,这将会是一个船新版本的 pyecharts。详情参见 issue#892。我在 issue 中承诺我将会完成这件事情,开弓没有回头箭,写完该 issue 后的几天,我就开始后悔了,牛逼吹大了,重构起来太痛苦了哈哈哈想哭,hack 的代码一大堆,又没有写注释,自己都忘了当时为什么这么写。

后来事情发生了转机,那段时间我刚好在写 Golang,所以决定先搞个 go-echarts 来为重构 pyecharts 做一下实验。事实证明,我完成得还不错。

最终我还是开始了我的重构之旅,鲁迅先生曾经说过 动态一时爽,重构火葬场。Typehints 是真的香!重构真的是伤肝,熬了不少夜,毕竟白天还要上班,重构工作只能在晚上进行。终于在两个多月后发布了 v1.0 版本,详情见 issue#1033。总算是让 flag 没有倒下,🍻!后来又陆续迭代了几个版本,目前已经迭代至 v1.5.0,新增了不少新的 feature 当然可能也留下了些许新的 bug

但是,敲黑板,重点来了。

我已经有很长时间没有使用过它解决我开发上遇到的问题了,它彻底地远离了我的日常工作,迭代的需求完全是来自于社区的使用者,Python 也不是我日常开发的主要语言了,不过它仍旧是我最喜欢的编程语言。个人的业余开发时间又是有限的,兴趣很多,时间很少,是时候权衡一下了,考虑 pyecharts 后面的发展了。实际上现在基本上每天都有人在问问题或者提新的需求,我也没有那么多的精力再去一一回复和满足需求了。

我已经给不了 pyecharts 使用者想要的期待了,所以我应该让大家知晓这件事。不过请大家不必担心,pyecharts 开发团队中的另外一位核心成员 @sunhailin-Leo 愿意承担起维护 pyecharts 的责任。在此,我宣布将 pyecharts 的所有权限转交给 @sunhailin-Leo 同学,由他负责领导 pyecharts 以后的日常开发工作,他是一个值得信赖的人。开源社区的魅力就在于你可以将手中的接力棒向后传递,pyecharts 是在社区中孵化成长的,它不属于任何人,它属于 Python 社区。感谢社区中所有为 pyecharts 做过贡献的开发者,如果有想为 pyecharts 添砖加瓦又不知道如何下手的同学,可以参考我的另外一个项目 cutecharts

pyecharts 结束了一段旧旅程,并准备迎接一段新旅程。未知,但值得期待!

以上。

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions