python的发展生态_简说Python生态系统的14年演变
原标题:简说Python生态系统的14年演变
【导语】Python 里各种丰富的标准库、第三方库和模块成为其广受欢迎的原因之一。而 PyPI 就是大家想第三方库前先要安装的一个仓库。作为使用者,它可以帮我们查找 Python 社区开发和共享的软件;而作为开发者,可以用 PyPI 分发自己的软件。从 2003 年创建 PyPI 到现在,整个社区又是如何发展的?现状如何?有哪些有趣的发现,本文将与大家一起进行初步探索。
构建 PyPI 镜像一件非常酷的事情就是让我掌握了很多的数据。至此,我决定探索一下自 2003 年创建 PyPI 以来,整个生态系统发生了怎样的变化。不过,接下来大部分的分析都是始于 2005 年,这一年 PyPI 添加了 upload_time 。
下图展示了2005-2018 年活跃的 Python Packages 数量,蓝色表示 Old Packages,橙色表示 New。更多Python视频、源码、资料加群984632579免费获取
在这十四年间,Python 的生态系统一直在稳步增长。随着 PyPI 在 Python 社区几乎被完全接受,在那几年里持高速增长。之后活跃 Packages 的数量每年增长 28% 到 48%(活跃 Packages 指的是已经发布过一版或发布了新版本)。
在这14年的时间里,Python的生态系统一直在稳步增长。对于PyPl而言,在它被Python社区几乎完全接受的那几年里持高速增长状态, Packages (至少更新过一个版本或刚刚上线的)数量也在活跃增长,年复合增长率可达28%至48%。
如图所示,66%的Packages是新发布的,其中绝大多数不会持续维护;持续一年以上维护的Packages还是保持强劲增长;每年新上线的Packages增幅在31%~59%,尽管增速有所减缓,但势头不减。这意味着,整体上看,Packages正发布着越来越多的版本,预示着PyPl变得越来越成熟。
结果最令我吃惊的是,每个Packages的发布数量。此前我一直靠个人经验,升级Packages依赖库,例如 AWS 的 #15 botocore,但是 ccxt 库 的“脱颖而出”是我没想到的。在不到两年的时间里,ccxt 已经发布了 4659 个版本,发布数量比其他的 Packages 的 3 倍还多。但是当我在尝试加载它的时候, libraries.io 页面的加载时间要 30 多秒,所以,我也不确定它的维护是好还是坏,但是真的是让人印象非常深刻!
另外一个有趣的发现是分发 Packages实践上的变化。最大的变化是 Python 3 的发布。Binary Wheels 于 2012 年被引入并编入 PEP 427,被普遍认为是分发 Python Packages 的最佳方式,但 Packages 作者的接受周期还需要时间。Python Wheels 可以跟踪 PyPI 360 个 Packages 的采用情况,如下图:
更多Python视频、源码、资料加群984632579免费获取
python的发展生态_简说Python生态系统的14年演变相关推荐
- python异步的发展历程_深入了解Python的异步IO:概念和历史
前面发表了<简说Python Web异步框架>一文后,很多朋友希望能更多了解Python关于asyncio的知识.正好,我也想深入理解理解这方面的知识,于是就促成了这篇文章. 一.软件系统 ...
- python归一化 增大差异_简学Python第六章__class面向对象编程与异常处理
Python第六章__class面向对象编程与异常处理 欢迎加入Linux_Python学习群 群号:478616847 目录: 面向对象的程序设计 类和对象 封装 继承与派生 多态与多态性 特性pr ...
- python数据库管理系统ess_【简说Python WEB】数据库
系统环境:Ubuntu 18.04.1 LTS Python使用的是虚拟环境:virutalenv Python的版本:Python 3.6.9 [简说Python WEB]数据库 SQL数据库: O ...
- python nonlocal的用法_简谈Python3关键字nonlocal使用场景
下面是之前提过的有待提升效率的计算移动平均的方法: def make_averager(): series = [] def averager(new_value): series.append(ne ...
- python变量标识符_简谈-Python的注释、变量类型、标识符及关键字
在Python程序中,要想支持中文输出,则要在代码前面添加 标识符:开发人员在程序中自定义的一些符号和名称 标示符是自己定义的,如变量名 .函数名等 标识符的规则: 标示符由字目.下划线和数字组成,且 ...
- python兼容性怎么样_简谈python的向下兼容性问题
前两天在写python代码的时候,发现了一个问题.因为要使用email模块,使用 了其中一项导入语句:from email.mime.text import MIMEText,在python2.5下 ...
- python打开文件切片_收藏 | 从Python安装到语法基础,小白都能懂的爬虫教程!(附代码)...
来源:大数据 作者:罗攀 蒋仟 本文约5000字,建议阅读20分钟. 本文立足基础,讲解Python和PyCharm的安装,及Python最简单的语法基础和爬虫技术中所需的Python语法. 本文涉及 ...
- 学习python最好的书籍_最好的Python书籍
学习python最好的书籍 Python is an amazing programming language. It can be applied to almost any programming ...
- 用python编写密码安全性_用大数据python保护密码
本篇文章给大家带来的就是关于用大数据Python保护密码,大数据时代,各种网站都需要你注册账号,使用密码.往往大家为了省事,所有的平台的账号密码是一样的,假如某个网站数据泄露后,那你的隐私安全就有问题 ...
最新文章
- 亲爱的,别把上帝缩小了 ---- 读书笔记2
- Python的XML解析!
- CentOS7中怎样安装JDK与配置环境变量
- 所有配置_Springboot 打印所有配置
- PCB中英对照一、 综合词汇
- oracle高效分页存储过程(百万数据级)
- 神经网络动态可视化工具
- 计算机运维需要那些知识,运维必知必备!73页计算机基础知识,新手小白也能轻松读懂...
- 【制作脑图】万彩脑图大师教程 | 关于设置
- Spring Boot + ECharts
- 第939期机器学习日报(2017-04-14)
- Java延时订单处理(上)- - 抛砖引玉
- PHPMyWind支持ppt导入
- c语言梅森素数求完数,梅森素数与完全数.doc
- python读xml文件生成.h头文件_PYTHON读写xml文件的方法
- torch.mul() 和 torch.mm() 的区别
- DC 视频教程 第十课
- 微信小程序的分包功能
- 电脑安装python3.74_python3.4学习笔记(十六) windows下面安装easy_install和pip教程
- JS提取字符串的手机号或固话