2024 年初 GitHub Python 项目 Top 30

张开发
2026/6/4 18:14:54 15 分钟阅读

分享文章

2024 年初 GitHub Python 项目 Top 30
原文towardsdatascience.com/top-30-github-python-projects-at-the-beginning-of-2024-a0b84d4f8404https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/34cc1f60c825233eeb9de39689c3793b.png图片由Med Ahabchane在Pixabay提供新年快乐 2024作为新年的第一篇帖子就像我之前做的那样我非常好奇到目前为止最受欢迎的 Python 项目是什么。GitHub 无疑是获取这些统计数据的最佳场所。尽管不是所有的开源项目都会在这里GitHub得到维护但也没有其他任何地方比这里更好。这个排名旨在简单因为我将分享我的代码。现在让我们看看如何用几行代码从 GitHub API 获取排名列表。之后我将使用我的术语对这些项目进行分类并为它们添加一些简短的介绍。Top 30 GitHub 项目分类如下2 个仓库机器学习框架3 个仓库AI 驱动应用8 个仓库软件开发框架2 个仓库开发生产力工具3 个仓库有用信息目录8 个仓库教育内容4 个仓库实际应用GitHub 搜索 APIhttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/f3c64c596aec8401ad0e0fdb564ad69d.png图片由Arek Socha在Pixabay提供官方 API 文档可以在本页找到docs.github.com/en/rest/reference/search#search-repositories因此我不会在本文中重复 API 端点的细节例如参数。如果你对我们可以用 GitHub API 做什么感兴趣请参阅该页面。最美的事情是我们不需要注册或申请 API 密钥就可以使用这个端点。当然它有一个每分钟最多 10 个请求的速率限制但对我们来说这不成问题因为我们只想获取几个排名靠前的仓库。几次 API 调用就足够我们调试了。首先我们需要使用 Python 的requests模块。它是内置的我相信你们大多数人应该都很熟悉它。然后我们需要 Pandas 来进行一些数据转换。importrequestsimportpandasaspd根据 API 文档API 端点是https://api.github.com/search/repositories。由于我们只对基于 Python 的项目感兴趣我们需要在查询中放入参数language:python。看起来 API 在过去一年中有所变化。也就是说查询中必须至少包含一个搜索项字符串。否则结果不可预测。因此让我们在查询中只放入 “python” 这个词。其合理性在于如果仓库与 Python 相关它应该在 Readme.md 中提及 “python” 或者将其作为仓库的标签。然后我们想要按星标数对搜索结果进行排序并按降序排列。这意味着我们的搜索字符串如下。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/49faa32d8d1804ec587bd8a64c0eeac8.png这个 GET 请求的完整 URL 如下。urlhttps://api.github.com/search/repositories?qlanguage:pythonamp;sortstarsamp;orderdesc然后我们可以使用requests模块调用这个 API 端点。我们应该使用 GET 方法。然后我们可以将结果转换为 Python 字典。resrequests.get(url)res_dictres.json()所有搜索结果都将包含一个键为 “items” 的数组。因此我们可以如下获取所有仓库信息。现在让我们将搜索结果中的所有 “items” 获取到一个名为repos的数组中。reposres_dict[items]len(repos)https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/86cab77bdbbd4855076ff0287b2ccd34.png结果字典中还有一些其他信息。如果我们移除项目数组剩下的只有两个键total_count和incomplete_results。前者表示我们查询检索到的仓库数量。如下面的截图所示总共有 2,219,756 个。这并不令人惊讶因为我们正在搜索 GitHub 上的所有 Python 仓库。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/d9496d4c0e7e41429fb53bab74402a13.pngincomplete_results表示还有更多仓库这个 JSON 有效负载只是一个页面。现在让我们将项目数组转换为 Pandas 数据框。repo_dfpd.DataFrame(repos)然后我想移除所有我们不需要的列因为我们只想知道仓库的名称和星标数。我还会添加一个名为year_on_github的额外列以捕捉该项目在 GitHub 上创建的年数。repo_dfrepo_df[[name,full_name,html_url,created_at,stargazers_count,watchers,forks,open_issues]]repo_df[created_at]pd.to_datetime(repo_df[created_at])repo_df[created_year]repo_df[created_at].dt.year repo_df[years_on_github]2023-repo_df[created_at].dt.year这是前 30 个仓库的完整列表https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/3639ce981d0ee45f23c35598163382d6.png现在让我们来看看这些仓库。它们是什么它们能帮到我们什么机器学习框架https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/20e83b80641ee54ac450d227f9cee22b.png图片由 Pexels 来自 Pixabay机器学习框架指的是开发和使用机器学习模型所必需的工具和库。数据科学家、机器学习工程师和研究人员每天都在使用它们。今年其中有两个被列入了前 30 名。1. PyTorch排名第 774k 星标https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/eef1081a26efae6225d24de0ef9afa6d.png图片来源github.com/pytorch/pytorch/raw/main/docs/source/_static/img/pytorch-logo-dark.pngPyTorch 是由 Facebook 的人工智能研究实验室开发的最受欢迎的机器学习框架之一。它在任何深度学习工作中都非常常用。与 TensorFlow 等其他流行框架相比它通常更灵活更容易使用。PyTorch 的另一个优势是其 GPU 加速这可以显著减少大型模型的训练时间。也许你想知道为什么 TensorFlow 没有列在这里。的确它有很多星标。然而TensorFlow 的源代码是用 C编写的而不是 Python所以它超出了这次调查的范围。2. Scikit-Learn排名第 1457k 个星标https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/dc5d6802682fb598691c8fc770aade95.png图片来源raw.githubusercontent.com/scikit-learn/scikit-learn/main/doc/logos/scikit-learn-logo.png通常被称为sklearn的 Sci-kit Learn 以其基础功能而闻名如分类、回归、聚类和降维。它主要用于经典机器学习场景。强烈建议新手在学习深度学习之前先学习经典算法以便对这个领域有一个扎实的理论基础。在我看来“传统”并不一定意味着“过时”。在一些需要更高可重复性和可解释性的机器学习应用中它们仍然是不可或缺的。AI 驱动应用https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/87baf719cff6c3141d8ecf1a41807788.png图片由Gerd Altmann来自Pixabay这些仓库是利用最近 AI 突破的创新项目。如果你告诉我这些仓库两年前能做什么我可能会对这些科幻笑话一笑置之但现在它们成真了。1. 实时语音克隆排名第 1849k 个星标这个项目是 SV2TTS说话人验证到多说话人文本到语音合成模型的实现该模型带有实时声码器最初由作者作为硕士学位论文开发真的很令人印象深刻。它首先收集几秒钟的人类语音来创建数字表示。然后它将从任何给定文本生成语音非常快。语音甚至可以实时生成。2. gpt-engineer排名第 1948k 个星标这个令人印象深刻的项目是 Top 30 中唯一一个在 1 年内创建的项目。这意味着仅仅几个月的时间它就跻身顶级行列GPT-Engineer 允许用户用自然语言指定他们想用程序做什么。然后它通过理解问题空间并询问后续问题以澄清需求利用 AI 逐步构建软件。因此它几乎简化了整个软件开发的整个生命周期而无需实际编码。尽管它现在还不能构建全面的软件但它仍然可以令人印象深刻地构建一个相对简单的软件。也许你可以尝试将你的软件分成模块并尝试使用这个工具哦 3. Open Assistant排名第 2236k 个星标这是一款另一款多模态 AI 应用。它基于聊天就像 ChatGPT 一样但它可以利用许多其他系统来完成工作。例如它可以搜索互联网以获取答案以及向其他生成 AI 发送提示以创建图像。由于大多数功能已经嵌入到最近的 ChatGPT 版本中了解这个仓库将如何发展非常有趣。编程框架https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/bd5d4b0bea9d104adcdbfe11f305c43f.png图片由Capri23auto提供来自Pixabay这些仓库可能是软件开发中的关键工具。它们很好地概括了常见需求并简化了应用程序的创建和部署提供了用于常规任务的预编写代码和工具。1. Django排名第 675k 个星标Django 是一个高级 Python 网络框架允许 Web 开发者快速开发包括后端和前端 UI 在内的全面网络服务。Django 拥有许多内置功能在很大程度上简化了网络开发工作。因此用户无需反复重新发明轮子。2. FastAPI排名第 866k 个星标https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/69b2cc0a2518c92c4e25a0b230d9cffb.png图片来源github.com/tiangolo/fastapiFastAPI 可以成为 Django 的替代品。正如其名它将允许开发者以更快的速度实现网络服务。这是因为它使用 OpenAPI 概括了更多设计模式如数据验证、序列化和文档。然而与 Django 不同Django 是一个全栈网络开发框架FastAPI 更专注于开发网络服务。3. Flask排名第 1065k 个星标Flask 与上述两个框架也有很大的重叠。在我看来它的优势是易于学习并允许 Web 开发者对将要开发的功能有精细的控制。然而与 FastAPI 相比它提供的开箱即用功能较少但在需要定制时更具灵活性。4. Requests排名第 1650k 个星标该项目为 Python 提供了 HTTP 函数的简单直接实现。它简化了许多操作如 URL 编码和表单数据的编码。因此它可以为 Python 的 Web 开发减少大量的努力和开销。5. Scrapy排名第 1749k 个星标https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/8ff357b14790474f41d70346a068e159.png图片来源github.com/scrapy/scrapyScrapy 是 Python 中必须了解的框架之一。它可能是最广泛使用的网络爬虫和抓取库。它可以导航网站并从页面中提取结构化信息。它还提供了一系列功能如监控和自动化测试这些功能可以被 Web 开发者使用。如果你对这个领域感兴趣强烈建议尝试使用它。6. Sentry排名第 2336k 个星标https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/6585915d6d0dd4a3a9bd2c231df03e64.png图片来源github.com/getsentry/sentry在这个顶级开源项目中Sentry 在商业方面略胜一筹。它是一个以“开发者优先”为原则的错误跟踪和性能监控平台。基本上开发者可以使用这个工具来监控他们应用程序的健康状况。因此它使开发者能够提高软件的质量、稳定性和用户体验。7. Airflow排名第 2633k 个星标https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/1c31980e8471213289f18472748f1836.png图片来源raw.githubusercontent.com/apache/airflow/main/docs/apache-airflow/img/graph.png作为一名前数据工程师这个项目是我的老朋友。Airflow 是为编排复杂的计算任务而设计的。它被广泛用于简化数据处理管道通常是 ETL/ELT 管道。它的关键特性是允许开发者以分层的方式定义任务。这确保了代码可以极大地通用化并在很大程度上重用。因此它具有很好的可扩展性、灵活性和易于维护性。8. Streamlit排名第 2929k 个星标https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/d3972d03993a1bb0c082ec89736dc087.png使用 Prettymapp 生成prettymapp.streamlit.app/Streamlit 旨在创建和共享由数据科学驱动的美丽和定制化 Web 应用。它允许数据科学家和数据分析师在没有深入了解前端 UI 开发知识的情况下快速将数据分析想法转化为交互式 Web 应用。因此它在数据科学社区中越来越受欢迎。上面的精美地图是使用由 Streamlit 驱动的项目 Prettymapp 生成的。我只输入了“墨尔本澳大利亚”然后它就生成了这样一幅壮丽的地图。令人印象深刻开发生产力提升工具https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/3a11bde129870cb1e9e7e2d4d2c07b69.png图片由Maria_Domnina来自Pixabay这些项目并不直接涉及编码本身。然而通过解决在一般开发过程中发生的那些常见不便它们可以显著提高开发者的效率和生产力。1. thef**k排名第 481k 个星标https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/2d1b49861f9bf54b210c0bd95f73f72c.png图片来源raw.githubusercontent.com/nvbn/thefuck/master/example.gif嗯…我为这个仓库增加了两个星标以防任何敏感词汇可能为我的文章带来不必要的麻烦 与其有趣的名字不同这个工具实际上是一个非常实用的应用。它旨在纠正之前的控制台命令中的错误。想象一下你输入命令太快或者你实际上忘记了如何拼写术语和标志导致命令错误然后系统给你一些错误信息。之后你只需要输入“f**k”正确的命令将会为你推导并运行。有趣但真的很实用。2. mitmproxy排名第 2533k 个星标Mitmproxy 是一个交互式工具旨在进行 HTTP 流量分析。它支持 SSL/TLS 协议。理想情况下用于渗透测试和与网络流量相关的一般开发。它提供命令行版本mitmdump以及基于 Web 的 UImitmweb。信息目录https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/09f093faf18acf8c103501c872ed281b.png图片由Ahmad Ardity来自Pixabay这些仓库以系统化和有组织的格式提供了有价值信息的综合集合。这些信息帮助开发者非常容易地找到特定的资源。1. 算法 – Python排名第 2174k 星这个仓库收集了各种算法并以 Python 实现这使得它成为一个极好的教育资源。它非常适合想要学习编程之美以及需要准备编程问题面试的学生。2. HelloGitHub排名第 580k 星这个仓库收集了 GitHub 上有趣的项目的集合。大多数项目都是入门级别的。它每月更新一次。它涵盖了许多不同种类的项目如书籍、实用项目甚至企业级解决方案。然而遗憾的是这个仓库是用中文编写的。它没有为它推荐的其它 GitHub 仓库的详细信息提供英文版本。3. funNLP排名第 1260k 星这是一个针对中文语言特定的仓库。它提供了丰富的中文自然语言处理NLP资源包括大量 NLP 工具和数据集如敏感词检测、语言检测、各种常见的 NLP 模型和公共数据集。教育内容https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/136c2bf2f33a3d3620d64976ecbad147.png图片由Stefan Meller在Pixabay提供这些仓库通常不专注于源代码。把它们想象成开源的“书籍”。它们包含的信息对于教育目的非常有用。1. 系统设计入门排名第 1239k 星https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/3618d2548b926ee6b7ca71ceffcced57.png图片来源github.com/donnemartin/system-design-primer/raw/master/images/jj3A5N8.png现在这是 GitHub 上排名最高的 Python 仓库它提供了学习系统设计的全面指南。这是一个旨在不仅教育学习者关于架构原则的资源还帮助他们准备面试问题的资源。如果你想成为一名软件架构师不要错过这个2. Hugging Face – Transformers排名第 3118k 星https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/d1fcb83a355613494fcc9211410f7a84.png我相信如果你是人工智能/机器学习爱好者你不需要我介绍 Hugging Face。这个仓库提供了许多预训练模型可用于文本/图像/音频相关的机器学习任务。一些模型也具备处理多模态任务的能力如文档扫描和视频分类。基本上如果你正在构建任何与人工智能/机器学习相关的应用程序这个仓库就是一个全面的参考资料库。3. DevOps 练习排名第 1360k 星https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/47d3c52e6d257490a1f8050cde579185.png图片来源github.com/bregman-arie/devops-exercises/raw/master/images/devops_exercises.png这个仓库提供了关于 DevOps 的全面问题集和练习。它涵盖了众多不同的技术主题以及 Linux、Jenkins、Prometheus、Docker、Ansible、Git、Kubernetes、Terraform、OpenStack、SQL、NoSQL、Azure、AWS、GCP、DNS 和虚拟化等多个领域的最佳实践。如果你是或想成为一名 DevOps 工程师或站点可靠性工程师不要错过这个4. d2l-zh (排名第 1553k 个星标)这也是一个中文语言仓库。它实现了《深度学习》一书中的示例这本书被许多世界各地的大学用作数据科学相关课程的教科书。5. python-patterns (排名第 2039k 个星标)该仓库提供了一组在 Python 中常用设计模式的精选集合。它作为 Python 开发者的资源帮助他们理解和实现这些模式。如果你觉得你对 Python 的语法没有问题那么是时候深入探究设计模式了比如工厂模式、单例模式和委托模式。6. AI Learning (排名第 2137k 个星标)这个仓库专注于学习和实践机器学习的关键概念。对于那些寻求在实际情况中理解和应用机器学习概念的人来说这将非常有帮助。它还包括流行的机器学习框架如 PyTorch 和 TensorFlow所以如果你想保持你的知识更新不要错过这个7. wtfpython (排名第 2435k 个星标)https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/ef4459a4efb949803c292201d62cabe0.png图片来源github.com/satwikkansal/wtfpython/raw/master/images/logo.png#gh-light-mode-only另一个有趣的名字 这个仓库介绍了 Python 中那些令人惊讶和反直觉的方面。它的目的是揭示我们在 Python 中可能遇到的意外结果以便我们能够注意一些陷阱。它还揭示了 Python 许多不太为人所知的功能和行为这些功能在日常工作开发中可能非常有用。8. My Python Eggs (排名第 3029k 个星标)这里收集了各种 Python 示例。它包括广泛的示例解决方案和小型项目例如 Tic-Tac-Toe 人工智能游戏。如果你想通过学习实际示例来提高你的 Python 技能不要错过这个真实世界应用https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/822865b538797cee50aefe68a66f4acd.png图片由 chien than 提供来自 Pixabay这些仓库实现了使用 Python 在现实生活中使用的应用程序。它们可以为我们节省时间或使我们能够做一些非常酷的事情。1. Home Assistant (排名第 965k 个星标)该仓库是一个智能家居自动化项目。它强调用户隐私被高度重视。它由一个全球的 DIY 爱好者和发明家社区驱动。该平台设计用于在 Raspberry PI 或本地服务器上运行。因此它使用户能够灵活地开发自己的强大系统来自动化他们的家庭环境。2. yt-dlp (排名第 1163k 个星标)该仓库是名为youtube-dl的流行项目的分支该项目已被放弃。因此它专注于集成额外的功能和错误修复。我们可以从其名称中看出其功能即从 YouTube.com 下载视频。3. Odoo (排名第 2732k 个星标)Odoo 为不同目的提供了许多基于网页的商业应用程序包括 CRM 系统、网站拖放构建器、电子商务系统、仓库管理、项目管理、计费与会计、销售点、人力资源和市场营销。这些应用程序可以单独使用或与其他 ERP企业资源计划系统集成。4. ccxt (排名第 2830k 个星标)该仓库使用不同的语言如 JavaScript、TypeScript、Python、C# 和 PHP实现了流行的加密货币交易 API。它提供了一种统一的方式来访问超过 100 个不同比特币和替代币交易所平台的数据甚至可以与之交互。摘要https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/12fd376febe77122f203a437e57a3ba8.png图片由 Mircea – 所有收藏 提供来自 Pixabay由于在此上下文中“流行度”是通过仓库的星标数量来衡量的因此很明显专注于教育内容和信息组织的仓库排名很高。这通常是因为用户将这些仓库添加星标作为未来参考的标记方式。虽然这些仓库的代码易于获取但重要的是要进一步辨别这些排名以满足特定的兴趣并满足好奇心。

更多文章