Python 潮流周刊#18:Flask、Streamlit、Polars 的学习教程
△点击上方“Python猫”关注 ,回复“1”领取电子书
你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。标题取自其中三则分享,不代表全部内容都是该主题,特此声明。
本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。
为了方便读者获取原始内容,我已将周刊的 Markdown 文件归档在 Github,请通过以下链接获取:https://github.com/chinesehuazhou/python-weekly
🦄文章&教程
1、一份深入探索 Flask 的指南[1]
由系列文章组成的 Flask 学习指南,深入了解 Flask 的内部结构、核心特性和功能,涵盖主题有程序和请求上下文、Werkzeug、会话、安全(防CSRF)、测试、2.0 版本的异步等。
2、使用 PyMuPDF 识别与提取表格[2]
识别和处理 PDF 文件中的表格是件困难的事,PyMuPDF 最新版本 1.23.0 提供了从 PDF 中提取表格的功能!可以将提取内容交给 pandas 处理,可以导出 Excel 和 CSV 格式的文件。
3、深入介绍 Python 3.12 中的永生对象[3]
周刊第 16 期[4]分享了 Instagram 在 Python 3.12 引入永生对象的故事,而这里分享的文章深入剖析解释器源码,为我们回答了以下问题:为什么要引入永生对象?它对性能有什么影响?它是如何实现的(如 None 对象和小整数),如何做到兼容旧版本的接口的?
4、Python 中下划线的十种用法[5]
你知道 Python 中的下划线有哪些用法么?这篇文章介绍了:REPL 中的用法、作变量名的前缀和后缀时的四种用法、作为赋值“接收器”的两种用法、新 match-case 语法中的用处、用作频繁调用的函数别名、大额数字中增加可读性。
5、Python Asyncio 之网络编程方法详解[6]
Asyncio 不仅提供了简单的Socket
接口,还基于它提供了Protocol
&Transport
接口以及更高级的Stream
接口,大大的减轻了开发者进行网络编程的心理负担。文章主要介绍了这几个接口的简单使用以及对应的原理分析。
6、给初学者的 Streamlit 学习指南[7]
Streamlit 是一个用于创建和部署 Web 程序的框架,广泛用于机器学习和数据科学领域。这篇教程介绍了它的安装以及常用组件的使用。
7、如何在 FastAPI 应用中使用 Tailwind CSS 和 SQLAlchemy[8]
FastAPI 是一个轻量级框架,通常需要集成其它组件搭配使用。这篇文章介绍了如何将 FastAPI 与 Jinja2 模板引擎、Tailwind CSS 以及 SQLAlchemy 结合,创建出一个好用的开发脚手架。
8、Python 如何不作排序但保持数据有序[9]
文章介绍了 Python 堆排序/优先队列、二分查找、有序容器的相关使用,它们有更好的时间复杂度或适用场景,是比暴力搜索和暴力排序更值得采用的解决方案。
9、用 Django 发送带有验证链接的电子邮件[10]
我们经常会在注册一些账号后收到一封验证邮件,只有在链接的有效期内点击它才能完成账号注册。这篇教程介绍了如何用 Django 来实现这个功能,这是一个简短而完整的练手项目。
10、探索全球多样性:Pyetho — 用于了解国家及其语言的 Python 库[11]
文章介绍了Pyetho[12] 这个库的基本使用,它主要包含了全球国家及其语言的相关信息,采用 ISO 标准。收录有 195 个国家,我查询了下,中国有 285 种语言。除了国家和语言基本信息外,其它功能包括:查询某种语言的使用人数、查询某种语言在哪些国家使用、查询某种语言的谱系家族、查询所有的语言家族,等等。
11、Polars:快如闪电的 DataFrame 库[13]
Polars 是数据分析领域的新秀,底层是用 Rust 写的,拥有超高性能。这是一篇详细的教程,内容包括:它的 DataFrame、表达式和上下文、惰性 API(LazyFrame)、与外部数据源集成、与 Numpy 和 pandas 的集成,等等。
12、深入学习数据结构与算法:C++、Swift、Python、Java、C#、JavaScript[14]
超长文预警!文章探索了不同编程语言中常见数据结构的实现,使用简洁的动画和图表直观介绍了相关的知识。主要涉及线性数据结构,如数组、动态数组、链表、循环链表、栈、队列、哈希表、集合,等等。数据结构当然离不开算法和时间复杂度,文中也有对应介绍。
🎁Python潮流周刊🎁已免费发布了 18 期,访问下方链接,即可查看全部内容:https://pythoncat.top/tags/weekly[15]
如果你觉得周刊有价值,请表达小小心意,赞赏一下猫哥吧~~
🐿️项目&资源
1、fastapi-users:开箱即用的 FastAPI 用户管理库[16]
为 FastAPI 添加用户注册与身份验证模块,主要特性有:可扩展的用户模型、注册/登录/重置密码/邮箱验证、OAuth2 登录流程、可定制的数据库后端、支持多种身份验证,等等。(star 3.3K)
2、upiano:命令行里的钢琴[17]
在命令行里弹钢琴是种什么体验?!安装这个库后,你就可以用鼠标和键盘来弹钢琴了。
3、hrequests:requests 库的替代品[18]
一个比 requests 库更简单、可配置、功能丰富的库,使用 gevent 实现高性能并发,支持 HTTP/2,JSON 序列化比标准库快 10 倍,代码使用类型提示,100% 线程安全。
4、wisdomInterrogatory:智海-录问法律大模型[19]
由浙江大学、阿里巴巴达摩院以及华院计算共同设计研发的法律大模型,以“普法共享和司法效能提升”为目标。模型基座是 Baichuan-7B,预训练的数据包括法律文书、司法案例以及法律问答数据,共 40 G。
5、awesome-systematic-trading:一个精选的系统化交易列表[20]
系统化交易/量化交易是依据规则和算法进行自动化交易的策略,这个仓库收录了一系列资源:库、软件、策略、书籍、博客、论文、视频,等等。(star 1.1K)
6、Qwen-VL:阿里通义千问-VL 模型的官方库[21]
Qwen-VL 是阿里云研发的大规模视觉语言模型,可以以图像、文本、检测框作为输入,并以文本和检测框作为输出。支持多语言、多图交错对话。评测结果显示,Qwen-VL 在多个 VL 任务上相比目前 SOTA 的 Generalist Models 都有明显优势。
7、h2ogpt:私人文档+图像的问答[22]
查询和总结你的文档,或者与本地私有的 GPT LLM 聊天。支持大部分文档,支持 LLaMa2、Falcon、Vicuna、AutoGPTQ、LORA 等,支持 Linux、Docker、MAC 和 Windows。(star 7.2K)
8、refact:开源编码助手,支持自动补全、代码重构、代码分析[23]
Copilot 的开源替代方案,可自托管或使用云服务。支持 starcoder、starchat、llama2、wizardlm 等开源模型,支持代码补全、重构、解释、分析、优化与修复错误等功能。
9、dify:创建自己的 AI 应用[24]
dify 是 Do It For You 的简写,是一个易用的 LLMOps 平台,支持快速创建出自己的 AI 应用。核心能力:通过 Langchain 支持主流的大语言模型(包括讯飞星火、文心一言、通义千问)、可视化编排 Prompt、支持添加数据集、支持插件、支持数据标注与改进。(star 8K)
10、dara:轻松创建交互式 Web 应用程序[25]
一个低代码开发框架,与 Plotly Dash、Streamlit 和 Shiny 相似,支持快速创建仪表板应用。后端使用 FastAPI,前端是一个基于 React 的 UI。
🐱赞助&支持
如果你喜欢周刊,请分享给其他需要的同学,让更多人可以从中受益~
如果你觉得周刊有价值,请随意赞赏[26] 或 买杯咖啡[27] 进行支持!
如果你想帮助周刊办得更好,欢迎向我们投稿或提出建议:投稿/建议通道[28]
如果你是品牌方或广告主,欢迎私信我,洽谈赞助与合作事项。
🐼欢迎订阅
微信公众号[29]:除更新周刊外,还发布其它原创作品,并转载一些优质文章。(可加好友,可加读者交流群)
博客[30] 及 RSS[31]:我的独立博客,上面有历年原创/翻译的技术文章,以及从 2009 年以来的一些随笔。
Github[32]:你可以获取本周刊的 Markdown 源文件,做任何想做的事!
邮件[33]:在 Substack 上开通的频道,满足你通过邮件阅读时事通讯的诉求。
Telegram[34]:除了发布周刊的通知外,我将它视为一个“副刊”,补充发布更加丰富的资讯。
Twitter[35]:我的关注列表里有大量 Python 相关的开发者与组织的账号。
参考资料
一份深入探索 Flask 的指南: https://testdriven.io/guides/flask-deep-dive
[2]使用 PyMuPDF 识别与提取表格: https://artifex.com/blog/table-recognition-extraction-from-pdfs-pymupdf-python
[3]深入介绍 Python 3.12 中的永生对象: https://codeconfessions.substack.com/p/understanding-immortal-objects-in
[4]第 16 期: https://pythoncat.top/posts/2023-08-19-weekly
[5]Python 中下划线的十种用法: https://mathspp.com/blog/pydonts/usages-of-underscore
[6]Python Asyncio 之网络编程方法详解: https://so1n.me/2023/08/29/python_asyncio_lib_network/
[7]给初学者的 Streamlit 学习指南: https://dev.to/codemaker2015/streamlit-cheatsheet-for-beginners-706
[8]如何在 FastAPI 应用中使用 Tailwind CSS 和 SQLAlchemy: https://ezzeddin.hashnode.dev/fastapi-tailwind-sqlalchemy
[9]Python 如何不作排序但保持数据有序: https://www.bitecode.dev/p/how-not-to-sort-in-python
[10]用 Django 发送带有验证链接的电子邮件: https://delighto.hashnode.dev/send-verification-email-django
[11]探索全球多样性:Pyetho — 用于了解国家及其语言的 Python 库: https://medium.com/@i18nsolutionspy/exploring-global-diversity-pyetho-python-library-for-language-and-country-insights-4a688958ea83
[12]Pyetho: https://github.com/i18nsolutionspy/Pyetho
[13]Polars:快如闪电的 DataFrame 库: https://realpython.com/polars-python/
[14]深入学习数据结构与算法:C++、Swift、Python、Java、C#、JavaScript: https://dev.to/khaledhosseini/data-structures-and-algorithms-for-multi-language-programmers-c-swift-python-java-c-javascript-alp
[15]https://pythoncat.top/tags/weekly: https://pythoncat.top/tags/weekly
[16]fastapi-users:开箱即用的 FastAPI 用户管理库: https://github.com/fastapi-users/fastapi-users
[17]upiano:命令行里的钢琴: https://github.com/eliasdorneles/upiano
[18]hrequests:requests 库的替代品: https://github.com/daijro/hrequests
[19]wisdomInterrogatory:智海-录问法律大模型: https://github.com/zhihaiLLM/wisdomInterrogatory
[20]awesome-systematic-trading:一个精选的系统化交易列表: https://github.com/edarchimbaud/awesome-systematic-trading
[21]Qwen-VL:阿里通义千问-VL 模型的官方库: https://github.com/QwenLM/Qwen-VL
[22]h2ogpt:私人文档+图像的问答: https://github.com/h2oai/h2ogpt
[23]refact:开源编码助手,支持自动补全、代码重构、代码分析: https://github.com/smallcloudai/refact
[24]dify:创建自己的 AI 应用: https://github.com/langgenius/dify
[25]dara:轻松创建交互式 Web 应用程序: https://github.com/causalens/dara
[26]赞赏: https://img.pythoncat.top/wechat_code.png
[27]买杯咖啡: https://www.buymeacoffee.com/pythoncat
[28]投稿/建议通道: https://github.com/chinesehuazhou/python-weekly/issues/new
[29]微信公众号: https://img.pythoncat.top/python_cat.jpg
[30]博客: https://pythoncat.top
[31]RSS: https://pythoncat.top/rss.xml
[32]Github: https://github.com/chinesehuazhou/python-weekly
[33]邮件: https://pythoncat.substack.com
[34]Telegram: https://t.me/pythontrendingweekly
[35]Twitter: https://twitter.com/chinesehuazhou