2、两种线程池,以及为什么需要这两种线程池?[5]
由于GIL的限制,因此在Python中使用线程池需要注意业务是CPU密集型任务还是IO密集型任务,这将导致在线程数量和线程池目标上的不同选择。
3、是时候改变了:datetime.utcnow()现已被弃用[6]
4、PythonWeb应用的线上部署[7]
介绍了如何使用Nginx+Gunicorn+Supervisor、Nginx+uWSGI+Supervisor、Waitress、Meinheld等不同方案部署Flask应用,分析了它们的优缺点。
5、PythonGIL作出的不断变化的“保证”[8]
介绍了CPython全局解释器锁的实现细节,介绍了从Python3.9到目前3.13开发版之间的变化。其中有一项很大的差别,在3.9及早期版本,GIL在执行很多字节码时会释放,而在3.13版本,只在少数字节码上检查是否释放GIL。
6、使用pip-compile和pip-tools作Django的依赖项管理[9]
7、Python程序的bug分类[10]
作者将程序的bug分成四类:类型错误和linting错误、导入时异常、运行时异常、静默的错误。处理的策略是减少出现后面的错误类型,将其变为前面的错误处理。
8、有多少Python核心开发者使用类型提示?[11]
Python的类型提示正在逐渐流行,但是,它在核心开发者群体中已经普及到什么程度了呢?作者经过分析,给出了这样的数据:所有核心开发者中,大约53%的人最近有开源项目,其中39%的人使用类型提示。近3年里加入团队的人中,有76%使用类型提示。
9、记一次用Python的ast模块将Flask项目转为Quart的尝试[12]
作者为了使用OpenAI返回的异步迭代器内容,将不支持异步的Flask项目重构成了支持异步的Quart。但手动修改的工作量太大,因此他想到通过解析ast来修改,提升项目转换的效率。
10、PythonNumPy库的可视化解释[13]
11、用组合还是继承?我有不同看法[14]
传统观点认为组合优于继承,但作者认为Python不能很好地支持,若教条式使用组合,只会引入问题,因此作者提供了一种简单实现的思路。
12、选择正确的数据仪表板工具:Streamlit和Shiny的独特优势[15]
项目&资源
1、screenshot-to-code:利用截图生成HTML/Tailwind/JS代码[17]
超级火爆的新项目,它使用GPT-4Vision生成代码,使用DALL-E3生成与截图相似的外观。甚至可以输入URL来实时克隆一个网站!(star19.4K)
2、sqlalchemy_data_model_visualizer:将SQLalchemy数据模型转换为漂亮的SVG图表[18]
将SQLAlchemyORM模型生成高质量的可视化效果,使用Graphviz将每个模型呈现为有向图,更容易理解数据库表之间的关系。
3、aiconfig:配置驱动的AI应用开发框架[19]
4、PyNest:基于FastAPI构建的框架,遵循NestJS的模块化架构[20]
可以让你轻松构建可扩展且可维护的API,支持依赖注入、类型注释、装饰器和代码生成。
5、StyleTTS2:近乎人类水平的文本转语音库[21]
它利用风格扩散和对抗训练与大型语音语言模型(SLM)来实现人类水平的TTS合成。(star2.7K)
6、pyjokes:程序员的一句话笑话(笑话即服务)(github.com)[22]
7、gTTS:用于与Google的文本转语音API交互[23]
用于调用GoogleTranslate的文本转语音API,提供可定制的语音特定的句子分词器,以及可定制的文本预处理器。(star2K)
8、chatfairy:极简的网页版聊天室,只依赖Flask[24]
极简的聊天室应用,前后端代码在仅115行的单文件中,使用SSE作后端消息推送,不依赖websocket,支持用户认证、多用户聊天、上下线通知、路由保护。(投稿自@yuxiaoy1)
9、streamlit-shadcn-ui:在streamlit中使用shadcn-ui组件[25]
Streamlit的组件选择相对局限,且样式比较古老。这个项目将前端流行的shadcn组件库引入到Streamlit当中,UI更为美观。
10、video-subtitle-remover:用AI去除图片/视频的硬字幕/水印[26]
可无损分辨率将视频中的硬字幕去除,生成去除字幕后的文件,利用AI填充原字幕区域;支持自定义字幕位置,支持全视频自动去除所有文本。
11、flowty-realtime-lcm-canvas:使用LCM和gradio库的草图到图像演示[27]
将你的草稿图实时变成生动的图像,可更改UI中的模型ID来使用不同的模型。(star1.5K)
12、pyephem:科学级的天文学计算库[28]
可执行高精度天文学计算,用于查找行星、彗星或小行星的位置,确定特定星体的位置,计算月球各阶段的日期,天文坐标系转换,确定春分和冬至的日期,等等。