Python 是最易学的编程语言之一,它几乎可以在每个技术领域发挥作用——无论是数据科学、自动化、物联网、人工智能、机器学习还是 web 开发。Python 最酷的一点就是它是 100% 开源 的,这让它更强大和灵活。
不过,在构建他们的网站时,大多数开发者忽略了 Python,这限制了 Python 的潜力。
在这篇文章里,我介绍了以下11个每个Web开发者都值得关注的开源的Python项目。
出发吧!🚀
Opal — 一个开放的策略管理层,了解更多:Opal如果你是一名在大型项目上工作的前端开发者,而不同的团队或用户组需要有不同的敏感数据访问权限,这可能会让你觉得实现和管理起来有点棘手。如果你属于这种情况,那么 Opal 会极大地提升你的工作效率。
(Opal)[https://io.permit.io/se-opal] 提供了一种简便的方式来确保特定用户权限的实施,确保他们能够安全地访问所需的数据。它是一个开源的管理层,用于管理像 Open Policy Agent 这样的策略引擎的策略,并帮助团队定义访问控制流程,使之更符合中文的语感和表达习惯。
Opal
(https://io.permit.io/se-opal)允许 Web 开发人员专注于构建功能,而它自动处理权限问题,简化了不同用户级别角色的管理。
Opal 的核心功能主要集中在实时权限上,这对 Web 开发者来说意味着什么呢?
- 它可以实时授予和撤销权限,因此 web 开发人员无需手动更新应用程序中的用户访问权限设置。
- 它允许开发人员将策略编写成代码,这使得策略更容易版本化、审查和管理。
- 它可以轻松地集成到安全的云服务微服务中,例如 AWS 或 Kubernetes,以实现轻松且安全的策略更新。
此工具非常适合那些希望在其项目或应用程序中包含实时权限更新功能的任何人。你可以加入他们的Slack群组,了解更多相关信息。
他们目前在 GitHub 上拥有 4000 多个 star,这表明他们得到了更广泛社区的支持和信任。你也可以通过给他们项目 star 来支持他们:
在GitHub上给他们点星标⭐️](https://io.permit.io/se-opal)
Taipy, 构建 Python 数据与智能 Web 应用程序🎉你也可以加入Permit的启动周从2024年10月28日至11月1日!试试新功能,领取超酷周边,还有机会赢取定制键盘⌨️。马上注册,用你的GitHub账号!🎁
你是否想过要简单地构建一个AI项目,而不想用前端框架搞得复杂?如果是这样的话,这个工具就是为你设计的。
Taipy 是一个使用 Python 和现有模型来创建使用数据或 AI 驱动的网络应用程序的工具。它专为需要快速数据可视化的机器学习工程师和数据分析师、寻求轻松构建完整应用的 Python 开发者以及希望以简单方法创建具有基本功能的自定义数据看板的业务分析师而设计。
Taipy 使用 Python 命令创建组件、图形界面和仪表板。它主要用于数据驱动的项目,非常适合处理大规模数据集。
Taipy非常适合处理复杂的流程,提供节点以高效处理这些流程,同时支持与pandas的集成,让您可以直接在项目中操作数据。
给他们的GitHub仓库点个星⭐️https://github.com/Avaiga/taipy
Reflex — 用纯Python开发Web应用作为一个纯Python开发者或不了解前端开发的后端开发者,我知道没有展示项目的渠道有多么痛苦,因为项目通常都是代码且没有任何用户界面。如果你是这样的人,那么这个工具将彻底改变你的世界。
使用纯Python通过反射以最简单的方式构建交互式用户界面,可以如此快速和轻松地做到;这有多酷啊!
这减少了学习最新前端框架的必要性;它负责处理用户界面和服务器逻辑。
这个工具通过用纯Python语言构建组件来运作,与传统Web开发不同的是,传统Web开发中一个全栈应用通常包括两个独立的应用:一个处理用户界面,另一个处理服务器逻辑或状态管理。例如,React可能处理用户界面,而Flask处理服务器逻辑。在Reflex中,所有内容都在一个代码库中构建,并可以保存到一个项目文件中。
另外,你无需学习如何在Heroku、AWS或Azure等平台上部署。Reflex让你只需一条命令就能轻松部署项目。
在GitHub上给他们点星 ⭐️ (https://github.com/reflex-dev/reflex)
Crawlee — 一款用于网页爬取和浏览器自动化工具的库抓取很有用,因为它允许你匿名地从网站收集大量数据,这有助于市场调研、商业分析、AI训练和竞争分析。这主要通过使用JavaScript渲染或一个HTTP库工具来完成。为了让抓取变得简单有趣,因此有了Crawlee。
Crawlee 是一个专注于让任何开发人员都能轻松进行网络爬虫的工具。这是一个用 Python 开发的开源项目。Crawlee 最初是为使用 Typescript 的开发者构建的,目前它拥有 13k 的 Star 和超过 100k 下载。
Crawlee for Python 使 Python 中的网络爬虫非常简单,与基本的 HTTP 库相比,Crawlee 提供了以下特点:
- 它支持 BeautifulSoup、HTTPX 以及像 Playwright 这样的无头浏览器,用于抓取有或没有 JavaScript 渲染的网站。
- 它使用代理轮换和会话管理,有助于避免被网站封禁,使得抓取带有防机器人措施的网站变得非常简单。
- 它基于异步 IO 构建,使其在 I/O 密集型任务或大型项目抓取中表现优异。
自从ChatGPT发布以来,人工智能几乎在每一场技术讨论中都是热门话题。现在很难找到一家初创公司不在其产品中添加某种AI功能。对于那些想要探索当前AI市场但又不想头疼处理复杂大型语言模型基础设施的网页开发者来说,这样的工具可能正是你需要的。
Portkey 是一个开源的 AI网关,它旨在让集成像 OpenAI、Phi-3 和 Anthropic 这样的大型语言模型(LLMs)变得简单。它允许开发人员快速构建 AI 功能特性,而无需处理复杂的 LLM 基础设施问题。
AI网关处理来自多个AI提供商的API请求,使其能够轻松切换模型、管理提示并跟踪性能。具备缓存、负载均衡和重试等特性,它确保您的应用程序始终保持快速和稳定。
LLMware 为企业复杂问题提供智能解决方案如果我想学习如何构建和部署大型语言模型,我会选择使用LLMware。它专为像我这样的小白设计——不需要深入了解,但仍想尝试一下的人。它提供了预构建的组件和即用型模型,让我可以快速搭建聊天机器人。
使用LLMware,Web开发人员无需从零开始构建模型——他们可以专注于微调现有模型以满足其需求。LLMware管理LLM的扩展规模和性能监控,使开发人员能够专注于创意地构建AI工具。最重要的是,它提供了多种模型可供选择。
在构建你下一个AI驱动的项目时,考虑使用LLMware来处理模型的基础设施部分,而你可以专注于项目的交互设计。
LLMware 在 GitHub 上获得了 4.5k+ 星,因此它受到了开源社区的广泛欢迎和支持。
Beautiful Soup — 一个用于网页解析的库每一个网页开发者都需要明白网页抓取的工作原理,至少一次在职业生涯中,因为它可以帮助你从网站收集大量数据用于研究。Beautiful Soup(一个用于网页抓取的工具)是个非常适合做这件事的工具。
这是一个开源的Python库,使用解析器从HTML和XML网站或页面中抓取数据。它具有独特的数据查找和处理方式,可以为您节省数小时的工作时间,甚至可能避免调试的麻烦。
所有的Python网络抓取工具的存在都归功于Beautiful Soup的强大功能,所以如果你要构建这样的工具,不妨考虑使用这个库。
Gunicorn — 适用于 UNIX 的 Python WSGI HTTP 服务器Gunicorn,又称“Green Unicorn”,是一个处理Python WSGI应用的HTTP服务器,许多Python开发者都在使用它,但其在运行Web应用时的实际作用常常被低估。想象你在处理一个Python项目,并需要平滑地处理多个用户请求。Gunicorn就会在幕后做些神奇的工作。它能轻松处理请求,这样你就可以专注于开发,而不用担心服务器管理。
工作主力是WSGI,WSGI是定义了web服务器和web应用程序之间通信方式的web服务器网关接口。Gunicorn是像Nginx或Apache这样的web服务器与如Django和Flask这样的web框架之间的中间件。
如果你想用Python框架来开发全栈项目,你需要对这个工具有所了解。它非常适合管理大型Python项目,是开发者的不错选择。
Scrapy — 网络爬虫Scrapy(https://scrapy.org),不仅是一个网页抓取工具,它是一个工具框架,提供的功能远比Beautiful Soup强大。虽然Beautiful Soup帮助你从HTML和XML文件中提取数据,但Scrapy更进一步,它抓取页面上的所有内容并跟随链接,保存数据,进一步抓取其他相关数据等。
Scrapy 是构建来处理大型抓取项目或任务的,因为它内置了爬行支持。唯一的缺点是它的安装和配置。它有一个陡峭的学习曲线,对于不熟悉网页抓取的不熟练开发人员来说,这可能需要一段时间。
如果你想找一个自动化工具来处理大规模多页抓取,Scray 就是你最好的选择,提供一站式服务。
在GitHub上给它点个星⭐️
Wagtail — 开源的 Python CMS (内容管理系统)
CMS,或内容管理系统,是一种软件,它允许用户无需任何技术背景或知识即可创建、管理和调整网站上的内容。这对于那些想要管理博客但又不想从零开始搭建的博主来说非常理想。
Wagtail 是一个基于 Python 构建的开源内容管理系统,提供了一种简单的方式来管理网站内容。它让你完全控制前端,可以构建可定制的页面。因为它基于 Django 构建,所以熟悉 MVC 架构,无论是小型还是大型项目都非常适合。
这个工具旨在让内容管理变得超级简单和高效。它让团队成员更容易协作。
Streamlit — 更快地构建数据应用今天列表中的最后一个内容是Streamlit。当我想要构建一个AI驱动的工具时,但不想用前端框架构建用户界面,我第一次尝试了Streamlit。
Streamlit 提供了一种简单快速的方式来构建网络应用,就像 Taipy 一样。它提供了一种轻松创建响应式数据应用程序的方式。虽然它最适合用于构建机器学习应用或数据仪表板的可视化,Streamlit 也可以用来构建一个简单的应用。
尽管它的响应速度不如Taipy,Streamlit仍然是构建Python驱动的AI应用程序的绝佳选择。喜欢Streamlit的一个原因是它的简洁和易用性,这使得它非常适合用于任何数据或AI驱动的应用的原型设计。
最后或
最后
或
结尾
(注:根据上下文选择最合适的表达)
为了结束这篇文章,这些开源Python项目很重要,因为它们可以帮助优化你的开发流程并提高你的网络应用的性能。列表中提到的这些项目在这方面很有帮助。
Python 开发者通常要么单独处理 web 项目的后端部分,要么进行数据分析,但是有了这些工具,你可以构建全栈 web 应用程序,全功能的 web 爬虫应用,或者在 web 项目中工作于内容管理系统(CMS),而不需要了解前端。
如果你觉得我们遗漏了任何适合Python开发者的理想工具或你最喜欢的工具,请在评论区分享一下。
感谢你阅读!🎉 别忘了去看看Permit的Launch Week,那里有超多好礼等你来拿🎁,还有机会赢取定制键盘哦!