2020年下载量最高的102个Django软件包

2020年即将结束,是时候分析2020年最需要的Django软件包了。
在Google Cloud上有相当详细的PyPI软件包存储库下载统计信息。 让我们探索一个简单查询的结果,该查询收集名称为django的任何软件包的下载总数。

下载次数超过了最活跃项目中使用的某些软件包,并且没有提供项目用户的真实数目。 但是我认为整个数据集可以很好地概述2020年的使用情况。如果您知道列表中没有好的图书馆,请在评论中注明。 我很乐意用它来更新文章!

0. Django
2020年,Django本身被下载了6550万次! 如果将其与2019年的4100万次下载进行比较,这将是一个惊人的巨大提升。这是否意味着Django获得了+ 50%的流行度,或者CI / CD管道在开发实践中变得更加普及了?
1. REST
一半的Django安装是与REST框架相关的。 djangorestframework软件包的下载量超过3500万次。 令人惊讶的是,旧的,错误的ddjango-rest-framework包被请求了500万次。
REST框架形成了它自己的一组配套软件包,它们也排在所有下载的顶部。

更新:djoser — REST框架的身份验证程序包具有750208次下载,与前100名相比略有下降。

2.开发实用程序
开发过程助手是一种非常流行的软件包类别。 静态类型的增长趋势将类型推断django-stubs包推入了前100名。似乎,不是每个人都可以将Django升级到最新版本。 在这种情况下,django-compactpackage有助于在遗留项目中使用现代的Django新功能

3. ORM扩展名和表单/序列化器字段
这就是我们最喜欢Django的地方:丰富的查询和许多本机DB类型支持开箱即用,并带有许多第三方软件包。
有时甚至很难选择。 您将使用什么来获得树结构支持-django-treebead或django-mppt? 如何保持更改历史记录-在具有django-reversion的单个表中,还是为每个具有django-simple-history的模型制作一个单独的表?

4.测试
最近有关将pytest-django嵌入Django核心的讨论表明缺少一些重要功能。 即便如此,pytest是Django项目中最受欢迎的替代测试运行器。

5.表格
表单是Django的一个很棒的部分,它大大减少了手动HTML编码。 但是您无法在完美上有所进步。 大量的程序包允许在Django中调整表单渲染,并将于2020年投入使用。

6.缓存
Django开箱即用,具有完善的Memcache Cache后端集成,但是Redis仍然很流行,可以通过两个不同的第三方软件包之一启用。
它并不取决于您用于缓存后端的内容:django-cacheops提供了便捷的QuerySet缓存和自动的,由事件驱动的细化失效快捷方式。

7.设定
我们都希望Django默认设置在默认情况下对部署更友好,但是使用django-environ的Django项目似乎只是其中的一小部分。 其他人是否对os.environ.get满意还是不遵循十二要素应用程序方法?

更新:这篇文章的初始版本,错过了dj-database-url软件包的使用。
8.后台工作
在许多Django项目中,它可能是最重要的功能,但是很难估计实际使用情况。 Celery库的最新版本可以直接使用,而无需任何其他Django专用胶水。 Celery是Python世界中最流行的分布式任务队列。 它具有3500万次下载。

更新:其他芹菜竞争者,离下载数不远-342536 huey -330942
9.认证和授权
外部服务集成是身份验证类别中最需要的功能。 行级权限领导者django-guardian多年来一直位居榜首。

10.快捷方式和帮手
Django核心是否包含用于舒适开发的所有内容? 还是我们仍然缺少一些方便的快捷方式,这些快捷方式将实用程序包带到了下载列表的顶部?

11.前端工具
您对前端集成类别仅排名第11感到惊讶吗? 我也是。 似乎大多数项目都使用本机JavaScript工具,而不必理会Django集成。

12.安全性
默认情况下,Django包含ClickJacking和CSRF攻击防护。 第三方程序包提供通用的速率限制和登录尝试限制。 django-csp甚至进一步限制了页面上JavaScript的执行,从而降低了内容注入漏洞(例如跨站点脚本,

13.邮件
同样,使用云服务支持扩展Django核心功能的软件包类别。 单个Amazon SES服务似乎与所有其他交易邮件服务一起受欢迎。

14.监控
改善Django监控的辅助工具。 我们在这里缺少Sentry,因为很难在Django项目中拆分其用途,但是肯定地说,Sentry在一年中有4200万次下载,是其同类产品的领导者

15.Administration
多年来,Django管理员变得越来越好。 不需要太多的软件包即可对其进行更多改进。 但是,具有漂亮外观的样式仍使django-grappelli居于首位。

16.搜索
最后一个类别-全文搜索支持。 有没有想过与ElasticSearch一起使用的库是什么? 我也是。

其他
那些非常棒的软件包在TOP 100下载中没有任何竞争对手。
使用django-storages将静态文件和媒体文件保存在云中,使用django-tables2,django-classy-tags和django-sekizai渲染更干净的模板,并使用django-fsm组织工作流程。
django-heroku是TOP 100中唯一有助于Django部署的软件包。 这样的任务不是那么复杂,以至于没有其他软件包被创建吗?

奖励+2
几个软件包的名称中没有提及Django。 Wagtail的下载量是django-cms的两倍,因此绝对应该包含在TOP 100中
Django的最新版本具有内置的异步支持。 这是否意味着渠道套餐的受欢迎程度会下降?

这就是Django Universe中按下载量计的前100名软件包。

尊敬的Django开发人员,这就是我们在2020年的工作方式。您对明年的发展趋势有一个了解吗? 我们缺少什么包裹? 最近是否有任何新的即将创建的工具? 在评论中发布,以使他们在文章更新中加薪。
祝您编码愉快,圣诞快乐,新年快乐!

原文:https://viewflow.medium.com/top-102-most-downloaded-django-packages-in-2020-108f0cd372e7