前言
Python正在蓬勃发展,它的Github页面也是如此。今年对于Python来说是非常好的一年,我们看到了一些非常强大的Python开源项目。今天,我们列出了一些顶尖的python开源项目;试着至少为其中之一做些贡献,这将有助于提高您的Python技能。下面是30个Python开源项目的细节,让我们开始吧
1.Flask
这是一个用Python编写的微web框架。它没有表单验证和数据库抽象层,但是它允许您使用第三方库来实现公共功能。这就是为什么它是一个微框架。Flask的设计使创建应用程序容易和快速,可扩展和轻量级。它基于Werkzeug和Jinja2项目。
2.Keras
Keras是一个开源的用Python编写的神经网络库。它是用户友好的、模块化的和可扩展的,可以运行在TensorFlow、Theano、PlaidML或Microsoft Cognitive Toolkit (CNTK)之上。Keras拥有所有层、目标、激活函数、优化器等等。它还支持卷积和递归神经网络。
3.spaCy
这是一个处理自然语言处理的开源软件库,使用Python和Cython编写。NLTK主要用于教学和研究目的,spaCy的工作是为生产提供软件。此外,Thinc是spaCy的机器学习库,提供CNN模型,用于词性标记、依赖项解析和命名实体识别
4.Sentry
它提供托管的错误监控,这也是开源的,所以你可以实时发现和分类错误。只需安装语言或框架的SDK就可以开始了。它允许您捕获未处理的异常、检查堆栈跟踪、分析每个问题的影响、跨不同项目跟踪错误、分配问题等等。使用Sentry意味着更少的bug和更多的代码。
5.OpenCV
OpenCV是一个开源的计算机视觉和机器学习库。它有超过2500个优化算法,用于计算机视觉任务,如检测和识别对象,分类不同的人类活动,跟踪运动与相机,产生三维模型的对象,拼接图像,以获得高分辨率的图像和更多的任务。该库可用于Python、c 、Java等多种语言。
6.Nilearn
这是一个快速而简单地实现神经影像数据统计学习的模块。它利用scikit-learn进行多变量统计,用于预测建模、分类、解码和连接性分析。Nilearn是NiPy生态系统的一部分,这是一个致力于使用Python分析神经成像数据的社区。
7.scikit-learn
Scikit-learn是另一个python开源项目。这是一个非常著名的Python机器学习库。scikit-learn通常与NumPy和SciPy一起使用,它提供分类、回归和聚类——它支持SVM(支持向量机)、随机森林、梯度增强、k-means和DBSCAN。为了提高性能,这个库是用Python和Cython编写的。
8.PyTorch
PyTorch是另一个用Python编写的开源机器学习库。它基于Torch库,非常适合计算机视觉和自然语言处理(NLP)等领域。它还有一个c 前端。在许多其他特性中,PyTorch提供了两个高级特性:使用GPU进行强加速张量计算深层神经网络.
9. Librosa
Librosa是用于音乐和音频分析的最佳python库之一。它提供了必要的积木,用来检索信息的音乐。这个库有很好的文档,并且有一些教程和示例,使您的任务更容易。
10.Gensim
Gensim是一个用于使用大型语料库进行主题建模、文档索引和相似性检索的Python库。它的目标是NLP和信息检索社区。Gensim是generate similar的缩写。在前面,这将生成与给定文章类似的文章短列表。Gensim清晰、高效、可扩展。这实现了从纯文本到无监督语义建模的高效和无麻烦的实现。
11.Django
Django是一个高级Python框架,它鼓励快速开发,并相信DRY原则(不要重复自己)。它是一个非常强大的框架,也是Python中使用最广泛的web框架。它遵循MTV模式(模型-模板-视图)。
12.Face Recognition
人脸识别是GitHub上一个很受欢迎的项目,它可以使用Python/命令行轻松地识别和操作人脸,并使用世界上最简单的人脸识别库。它使用带深度学习的dlib来检测人脸,对野生基准中标记的人脸的准确率达到99.38%。
13.Cookiecutter
Cookiecutter是一个命令行实用工具,我们可以使用它从模板(cookiecutters)创建项目。这方面的一个例子是,从一个包项目模板创建一个包项目。这是跨平台的,项目模板可以是任何语言或标记格式,如Python、JavaScript、HTML、Ruby、CoffeeScript、RST和Markdown。它还允许您在同一个项目模板中使用多种语言。
14.pandas
panda是一个用于Python的数据分析和操作库,提供标记数据结构和统计函数。
15.Pipenv
Pipenv承诺将成为一个可用于生产的工具,旨在将所有最好的打包环境引入Python世界。它的终端颜色很漂亮,它将Pipfile、pip和virtualenv整合到一个命令中。它为您的项目自动创建和管理一个virtualenv,并为用户提供一种设置工作环境的简单方法。
16.SimpleCoin
这是用Python为加密货币实现的区块链,但是简单、不安全且不完整。SimpleCoin不是用于生产,而是用于教育目的,只是为了使区块链货币工作,并保持简单。它允许您保存已开采的散列并以任何受支持的货币进行交换。
17.MicroPython
微Python是微控制器的Python。它是Python3的一个高效实现,附带了许多来自Python标准库的包,并且经过优化可以在微控制器和受限环境中运行。pyboard是一种小型电子电路板,它在裸金属上运行MicroPython,可以控制各种电子工程。
18.Kivy
Kivy是一个用于开发移动应用程序和其他具有自然用户界面(NUI)的多点触控应用程序软件的Python库。它有一个图形库、多个小部件选项、用于设计定制小部件的中间语言Kv,以及对鼠标、键盘、TUIO和多点触摸事件的输入支持。这是一个用于快速开发具有创新ui的应用程序的开源库。它是跨平台,业务友好,GPU加速。
19.Dash
Dash by Plotly是一个web应用程序框架。盖在烧瓶上,很有味道。js, React, and React。它让我们使用Python来构建仪表板。它可以大规模地运行Python和R模型。Dash允许您构建、测试、部署和报告,而不需要DevOps、JavaScript、CSS或CronJobs。Dash是高效的、可定制的、轻量级的、可直接控制的。它也是开源的。
20.Magenta
Magenta是一个开源的研究项目,专注于机器学习作为一种工具在创造性的过程。这让你可以用机器学习来创作音乐和艺术。它是一个由TensorFlow提供支持的Python库,具有用于操作源数据、使用它来训练机器学习模型以及使用这些模型来创建新内容的实用程序。
21.Mask R-CNN
这是Python 3、TensorFlow和Keras上的一个Mask R-CNN的实现。该模型获取图像中对象的每个实例,并为其创建边界框和分割蒙版。它使用特征金字塔网络(FPN)和一个ResNet101主干。代码很容易扩展。该项目还提供了Matterport3D数据集,这些数据集是客户捕获的三维重建空间。
22.TensorFlow Models
这是一个存储库,在TensorFlow中实现了不同的模型——官方模型和研究模型。它还有示例和教程。官方模型使用了TensorFlow的高级api。研究模型是研究人员在TensorFlow中实现的模型,用于维护它们或在问题和拉请求上提供支持。
23.Statsmodels
这是一个用于统计计算的Python包,它补充了scipy—包括描述性统计、统计模型的估计和推断。它有相同的类和函数。它还可以让我们进行统计测试和统计数据的探索。
24.Chainer
Chainer是一个专注于灵活性的深度学习框架。它以Python为基础,并提供基于按运行定义方法的区分api。Chainer还提供面向对象的高级api来构建和训练神经网络。它是一个强大、灵活、直观的神经网络框架。
25.Detectron
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-fire
这个库用于从(任何)Python对象自动生成CLIs(命令行接口)。它还允许您开发和调试代码,研究现有代码或将其他人的代码转换为CLI。Python Fire使Bash和Python之间的转换更容易,也使使用REPL更容易。
27.matplotlib
matplotlib是一个用于Python的2D绘图库——它以不同的硬拷贝格式生成具有发布质量的图形。
28.Manim
这是一个解释性数学视频的动画引擎,可用于以编程方式创建精确的动画。它使用Python来实现这一点。
29.requests
Requests是一个允许您轻松发送HTTP/1.1请求的库。您不需要手动向url或表单编码的PUT和POST数据添加查询字符串。
30.scrapy
scrapy是一个快速的高级web抓取和抓取框架-您可以使用它来抓取网站,以提取结构数据。您还可以将其用于数据挖掘、监视和自动化测试。
这些就是30个Python开源项目,你可以从中学习,也可以为之做出贡献。你都接触过哪些呢?