年度盘点,30个开创性的Python开源项目-你都用过哪些?

源码共读

共 4393字,需浏览 9分钟

 ·

2019-12-30 23:24

5e07dbe810477e3941e34dc38ef3f162.webp

黑客技术点击右侧关注,了解黑客的世界!

ec136d983541f1a41d8f79a8a5febe5e.webp

Java开发进阶点击右侧关注,掌握进阶之路!

8f5aa2d7198d80b434a71a2830010b66.webp

Python开发点击右侧关注,探讨技术话题!


作者丨Huangwei AI
来源丨Python与机器学习之路

前言


Python正在蓬勃发展,它的Github页面也是如此。今年对于Python来说是非常好的一年,我们看到了一些非常强大的Python开源项目。今天,我们列出了一些顶尖的python开源项目;试着至少为其中之一做些贡献,这将有助于提高您的Python技能。下面是30个Python开源项目的细节,让我们开始吧


1.Flaskedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


29f83f2f2a80c1faeedcdb4c1d8f63cc.webp


这是一个用Python编写的微web框架。它没有表单验证和数据库抽象层,但是它允许您使用第三方库来实现公共功能。这就是为什么它是一个微框架。Flask的设计使创建应用程序容易和快速,可扩展和轻量级。它基于Werkzeug和Jinja2项目。


2.Kerasedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


7910ba23d23ee92e971b58e6ab01b802.webp


Keras是一个开源的用Python编写的神经网络库。它是用户友好的、模块化的和可扩展的,可以运行在TensorFlow、Theano、PlaidML或Microsoft Cognitive Toolkit (CNTK)之上。Keras拥有所有层、目标、激活函数、优化器等等。它还支持卷积和递归神经网络。



3.spaCyedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


8ebd4c8e617f5a8730e2332a42c1ecb3.webp这是一个处理自然语言处理的开源软件库,使用Python和Cython编写。NLTK主要用于教学和研究目的,spaCy的工作是为生产提供软件。此外,Thinc是spaCy的机器学习库,提供CNN模型,用于词性标记、依赖项解析和命名实体识别



4.Sentryedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


fdb43a1aeda3589d41833fe41518a386.webp


它提供托管的错误监控,这也是开源的,所以你可以实时发现和分类错误。只需安装语言或框架的SDK就可以开始了。它允许您捕获未处理的异常、检查堆栈跟踪、分析每个问题的影响、跨不同项目跟踪错误、分配问题等等。使用Sentry意味着更少的bug和更多的代码。


5.OpenCVedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


OpenCV是一个开源的计算机视觉和机器学习库。它有超过2500个优化算法,用于计算机视觉任务,如检测和识别对象,分类不同的人类活动,跟踪运动与相机,产生三维模型的对象,拼接图像,以获得高分辨率的图像和更多的任务。该库可用于Python、c++、Java等多种语言。


6.Nilearnedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


90c3ba38bdc5f66470a3603d0387f361.webp


这是一个快速而简单地实现神经影像数据统计学习的模块。它利用scikit-learn进行多变量统计,用于预测建模、分类、解码和连接性分析。Nilearn是NiPy生态系统的一部分,这是一个致力于使用Python分析神经成像数据的社区。


7.scikit-learnedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


f666cdb8b24d5a04ca5fd01c4d8e5e0a.webp


Scikit-learn是另一个python开源项目。这是一个非常著名的Python机器学习库。scikit-learn通常与NumPy和SciPy一起使用,它提供分类、回归和聚类——它支持SVM(支持向量机)、随机森林、梯度增强、k-means和DBSCAN。为了提高性能,这个库是用Python和Cython编写的。


8.PyTorchedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


47e6e57a4b095ebae3616be7180c610b.webpPyTorch是另一个用Python编写的开源机器学习库。它基于Torch库,非常适合计算机视觉和自然语言处理(NLP)等领域。它还有一个c++前端。在许多其他特性中,PyTorch提供了两个高级特性:使用GPU进行强加速张量计算深层神经网络.


9. Librosaedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


Librosa是用于音乐和音频分析的最佳python库之一。它提供了必要的积木,用来检索信息的音乐。这个库有很好的文档,并且有一些教程和示例,使您的任务更容易。


10.Gensimedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


f1ac734cfa9abe123197640685d8f788.webpGensim是一个用于使用大型语料库进行主题建模、文档索引和相似性检索的Python库。它的目标是NLP和信息检索社区。Gensim是generate similar的缩写。在前面,这将生成与给定文章类似的文章短列表。Gensim清晰、高效、可扩展。这实现了从纯文本到无监督语义建模的高效和无麻烦的实现。


11.Djangoedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


c838bc86dac6dd27cd542904ea378762.webp


Django是一个高级Python框架,它鼓励快速开发,并相信DRY原则(不要重复自己)。它是一个非常强大的框架,也是Python中使用最广泛的web框架。它遵循MTV模式(模型-模板-视图)。


12.Face Recognitionedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


人脸识别是GitHub上一个很受欢迎的项目,它可以使用Python/命令行轻松地识别和操作人脸,并使用世界上最简单的人脸识别库。它使用带深度学习的dlib来检测人脸,对野生基准中标记的人脸的准确率达到99.38%。


13.Cookiecutteredfa2a3ed463a0da8cf68c8c2c5d0f27.webp


93b6cefb2e5755ae113ea8deee512ac5.webp


Cookiecutter是一个命令行实用工具,我们可以使用它从模板(cookiecutters)创建项目。这方面的一个例子是,从一个包项目模板创建一个包项目。这是跨平台的,项目模板可以是任何语言或标记格式,如Python、JavaScript、HTML、Ruby、CoffeeScript、RST和Markdown。它还允许您在同一个项目模板中使用多种语言。


14.pandasedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


53c79740060c37b1b51d069c596a002e.webp


panda是一个用于Python的数据分析和操作库,提供标记数据结构和统计函数。


15.Pipenvedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


94e2f0c96fcea4b8f731afb1bfda5125.webp


Pipenv承诺将成为一个可用于生产的工具,旨在将所有最好的打包环境引入Python世界。它的终端颜色很漂亮,它将Pipfile、pip和virtualenv整合到一个命令中。它为您的项目自动创建和管理一个virtualenv,并为用户提供一种设置工作环境的简单方法。


16.SimpleCoinedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


这是用Python为加密货币实现的区块链,但是简单、不安全且不完整。SimpleCoin不是用于生产,而是用于教育目的,只是为了使区块链货币工作,并保持简单。它允许您保存已开采的散列并以任何受支持的货币进行交换。


17.MicroPythonedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


39c69c88280ad7b674b4bed0d90c2c7f.webp


微Python是微控制器的Python。它是Python3的一个高效实现,附带了许多来自Python标准库的包,并且经过优化可以在微控制器和受限环境中运行。pyboard是一种小型电子电路板,它在裸金属上运行MicroPython,可以控制各种电子工程。


18.Kivyedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


6d47a8cc1496331398136c7f25b3ece2.webpKivy是一个用于开发移动应用程序和其他具有自然用户界面(NUI)的多点触控应用程序软件的Python库。它有一个图形库、多个小部件选项、用于设计定制小部件的中间语言Kv,以及对鼠标、键盘、TUIO和多点触摸事件的输入支持。这是一个用于快速开发具有创新ui的应用程序的开源库。它是跨平台,业务友好,GPU加速。


19.Dashedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


64e43bf0c07259846b98fe685acb1adc.webpDash by Plotly是一个web应用程序框架。盖在烧瓶上,很有味道。js, React, and React。它让我们使用Python来构建仪表板。它可以大规模地运行Python和R模型。Dash允许您构建、测试、部署和报告,而不需要DevOps、JavaScript、CSS或CronJobs。Dash是高效的、可定制的、轻量级的、可直接控制的。它也是开源的。


20.Magentaedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


deabcb14b774d4a08b9cf3a1f6d470ee.webp


Magenta是一个开源的研究项目,专注于机器学习作为一种工具在创造性的过程。这让你可以用机器学习来创作音乐和艺术。它是一个由TensorFlow提供支持的Python库,具有用于操作源数据、使用它来训练机器学习模型以及使用这些模型来创建新内容的实用程序。


21.Mask R-CNNedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


这是Python 3、TensorFlow和Keras上的一个Mask R-CNN的实现。该模型获取图像中对象的每个实例,并为其创建边界框和分割蒙版。它使用特征金字塔网络(FPN)和一个ResNet101主干。代码很容易扩展。该项目还提供了Matterport3D数据集,这些数据集是客户捕获的三维重建空间。


22.TensorFlow Models


b059dd242cdb66581a69f3ec54b85856.webp


这是一个存储库,在TensorFlow中实现了不同的模型——官方模型和研究模型。它还有示例和教程。官方模型使用了TensorFlow的高级api。研究模型是研究人员在TensorFlow中实现的模型,用于维护它们或在问题和拉请求上提供支持。



23.Statsmodelsedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


876f8b942a424f87b6fe7b9ad3ca0a64.webp这是一个用于统计计算的Python包,它补充了scipy—包括描述性统计、统计模型的估计和推断。它有相同的类和函数。它还可以让我们进行统计测试和统计数据的探索。


24.Chaineredfa2a3ed463a0da8cf68c8c2c5d0f27.webp


a7aa5246e96a3d54eb159a3babe3885e.webp


Chainer是一个专注于灵活性的深度学习框架。它以Python为基础,并提供基于按运行定义方法的区分api。Chainer还提供面向对象的高级api来构建和训练神经网络。它是一个强大、灵活、直观的神经网络框架。


25.Detectronedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


Detectron执行最先进的对象检测(也实现Mask R-CNN)。它是Facebook人工智能研究(FAIR)的软件,用Python编写,由Caffe 2深度学习框架提供支持。Detectron的目的是为物体探测研究提供高质量和高性能的代码库。它是灵活的,实现以下算法-口Mask R-CNN,RetinaNet,Faster R-CNN, RPN,Fast R-CNN, R-FCN。


26.Python-fireedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


ad1b6e826b03a75e05762387e3544e44.webp


这个库用于从(任何)Python对象自动生成CLIs(命令行接口)。它还允许您开发和调试代码,研究现有代码或将其他人的代码转换为CLI。Python Fire使Bash和Python之间的转换更容易,也使使用REPL更容易。



27.matplotlib33f9888323f398412ab723ee53520bd2.webpmatplotlib是一个用于Python的2D绘图库——它以不同的硬拷贝格式生成具有发布质量的图形。


28.Manimedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


这是一个解释性数学视频的动画引擎,可用于以编程方式创建精确的动画。它使用Python来实现这一点。


29.requestsedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


f548f11d7b78b3327099aaab7de01d99.webp


Requests是一个允许您轻松发送HTTP/1.1请求的库。您不需要手动向url或表单编码的PUT和POST数据添加查询字符串。


30.scrapyedfa2a3ed463a0da8cf68c8c2c5d0f27.webp


fe7e6a0440f85257be82b29b858e78fa.webp


scrapy是一个快速的高级web抓取和抓取框架-您可以使用它来抓取网站,以提取结构数据。您还可以将其用于数据挖掘、监视和自动化测试。


这些就是30个Python开源项目,你可以从中学习,也可以为之做出贡献。你都接触过哪些呢?


原文传送门:


https://data-flair.training/blogs/python-open-source-projects


·END·


 推荐↓↓↓ 

?16个技术公众号】都在这里!

涵盖:程序员大咖、源码共读、程序员共读、数据结构与算法、黑客技术和网络安全、大数据科技、编程前端、Java、Python、Web编程开发、Android、iOS开发、Linux、数据库研发、幽默程序员等。

476e180b7d4c0a1d9c5f344f31ede0ef.webp万水千山总是情,点个 “在看” 行不行
浏览 81
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报