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

2020-12-27 07:20:40

2020年即将结束,现在是分析2020年最需要的Django软件包的好时机。

在Google Cloud上有相当详细的PyPI软件包存储库下载统计信息。让我们探索一个简单查询的结果,该查询收集名称包含django的任何软件包的下载总数。

SELECT file.project,将COUNT(*)作为total_downloads从`-psf.pypi.file_downloads`中选择DATE_SUB(CURRENT_DATE(),间隔360天)和CURRENT_DATE()之间的DATE(时间戳),以及CURRENT_DATE()和' %django%' GROUP BY file.project ORDER BY total_downloads DESC LIMIT 100

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

2020年,Django本身被下载了6550万次!如果将其与2019年的4100万次下载进行比较,这将是一个惊人的巨大提升。这是否意味着Django获得了+ 50%的流行度,或者CI / CD管道在开发实践中变得越来越普遍?

一半的Django安装是与REST框架相关的。 djangorestframework软件包的下载量超过3500万次。令人惊讶的是,旧的,错误输入的django-rest-framework包被要求500万次。

REST框架形成了它自己的一组配套软件包,它们也排在所有下载的顶部。

-djangorestframework 3427575-django-cors标头17980262-django-rest-framework 5 012 054-django-rest-swagger 3834364-djangorestframework-jwt 3663231-djangorestframework-simplejwt 3285074-graphene 2447735-django-rest-auth 2238789-djangorestframework-camel-case 1913461-djangorestframework-csv 1819678-django-tastypie 1305827-djangorestframework-stubs 973349-djangorestframework-d-filters 902 XML 891171

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

-django扩展名16406788-django-debug-toolbar 10453779-pylint-django 5776115-django-waffle 2239980-django-stubs 2010553-django-silk 1738951-django-compat 1040 285

这就是我们最喜欢Django的地方:丰富的查询和许多本机DB类型支持开箱即用,并带有许多第三方软件包。

有时甚至很难选择。您将使用什么来获得树结构支持-django-treebead或django-mppt?如何保留更改历史记录-在带有django-reversion的单个表中,还是为每个带有django-simple-history的模型制作一个单独的表?

-django过滤器16706350-django-model-utils 5855904-django-timezone-field 5135947-django-import-export 4059689-django-phonenumber-field 3788927-django-mptt 3530540 -django国家3395824-django简单历史记录2929907-django-taggit 2 500534-django-mysql 2429771-django多态2 424916 -django-localflavor 2395908-django-reversion 2141 762-django-picklefield 1 998 291-django-treebeard 1 960 088-django-dirtyfields 1 752146-django-jsonfield 1 382 853-django-bitfield 1 375 136-django-bulk-update 1 272 312-dj​​ango-modeltranslation 1 093761-Django模型群集941941

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

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

-django-crispy-forms 5130503-django-widget-tweaks 2603999-django-formtools 2348083-django-ckeditor 1720610-django-autocomplete-light 1 425 283-django-bootstrap4 1121 947-django-bootstrap4 -bootstrap3 1119687-django-multiselectfield 1100977-django-tinymce 963423

Django开箱即用,具有完善的Memcache Cache后端集成,但是Redis仍然很流行,可以通过两个不同的第三方软件包之一启用。

它并不取决于您用于缓存后端的内容:django-cacheops提供了便捷的QuerySet缓存和自动的,由事件驱动的细化失效快捷方式。

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

在许多Django项目中,它可能是最重要的功能,但是很难估计实际使用情况。 Celery库的最新版本可以直接使用,而无需任何其他Django专用胶水。 Celery是Python世界中最流行的分布式任务队列。它具有3500万次下载。

-django-celery-beat 4427330-django-celery结果3308005-django-celery 1492722-django-crontab 1271395-django-rq 972330

外部服务集成是身份验证类别中最需要的功能。行级权限领导者django-guardian多年来一直位居榜首。

-social-auth-app-django 4228917-django-allauth 3563403-django-oauth-toolkit 2851276-django-otp 1945657-django-guardian 1797562-django-auth-ldap 1193910

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

-django-ipware 4102954-django-braces 2250861-django-user-agents 1468511-django-annoying 867588

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

-django-js-asset 3 924 030-django-webpack-loader 3 439 016-django-compressor 2 969 084-django-pipeline 1085094

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

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

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

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

-django-grappelli 1 518 684-django-admin-rangefilter 1 385 710-django-admin-sortable2 1 012 336-django-object-actions 1 015 603

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

那些非常棒的软件包在TOP 100下载中没有任何竞争对手。

使用django-storages将静态文件和媒体文件保存在云中,使用django-tables2,django-classy-tags和django-sekizai渲染更干净的模板,并使用django-fsm组织工作流程。

django-heroku是TOP 100中唯一有助于Django部署的软件包。 这样的任务不是那么复杂,以至于没有其他软件包被创建吗? -django存储13080397-django-tables2 1439101-django-fsm 1395410-django-classy-tags 1307024-django-heroku 1193323-django-sekizai 1 030 699 几个软件包的名称中没有提及Django。 Wagtail的下载量是django-cms的两倍,因此绝对应该包含在TOP 100中 Django的最新版本具有内置的异步支持。 这是否意味着渠道套餐的受欢迎程度会下降? 这就是Django Universe中按下载量计的前100名软件包。