duangsuse::Echo
840 subscribers
4.55K photos
141 videos
587 files
6.94K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): a19a0b
Download Telegram
duangsuse::Echo
#dev #algorithm #statement 「只要搜对了接口」 把问题写出来,就等于解决问题。顺便消灭所有事后、事前的坑 所谓编程语言能力,就是这样创建「伪接口」叙事的编程习惯,带来了治未病的价值观。 伪代码,不通用、不好思考 真代码,不易于溯源和穷举 我不需要「设计模式」,因为真实生活的对象之间的模式,比刻意设计术语和样板更加深广 我没有编过程,只是用数据的算式,展示算法和用法、答案和问题的本来面貌 OCR截屏, 字符画 <10行 fib 和杨辉三角、螺旋矩阵的定义 <20行 自动重构…
#py 周刊

#ai 方便中国用户离线安装的中文 Llama2-7B

Jupternb 7 支持 Jupyter Lab 的内嵌调试器
pip install manhole, pyrasite 支持向py进程注入代码

@pyscript.bridge def 可以提供js侧 py.func()
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/pyscript.min.js"></script>

awesome htmx 项目清单

pip install taipy
数据过滤节点图+mdx GUI

自动安装的免检测爬虫
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())

Py3.12 的 f"" 支持嵌套, 但仍不能被函数重载
#FP 最佳实践

pipx 已经支持的单文件依赖提案
#!/usr/bin/env python
# Requirements:
# requests

Flask 防范 IDOR 地址穷举攻击 (但不要学B站用AV BV号..

asyncio 注册自定义轮询任务检查任务回调的执行耗时


#jp 《每个人的线性代数》 [pdf 共10页]直接以可视化的示例概括了 ndarray([]) , 反观一些离岸国人一边以「哇你们线代好厉害哦」来认知一种数据工具, 一边吐槽中国的 CS 为啥那么烂 那么八股文
https://github.com/kenjihiranabe/The-Art-of-Linear-Algebra
《线性代数应该这样学》的英文版 Linear Algebra Done Right 最新版(第四版)开放获取了,可以免费下载电子版 https://link.springer.com/content/pdf/10.1007/978-3-031-41026-0.pdf
https://www.3blue1brown.com/topics/linear-algebra
教什么线代,直接看3b1b 用Numpy可视化计算
怎么不问问神奇的gpt呢?
如果只是停留在把自己当计算器的程度,gpt超过100个做题家
这个「一定的数学知识」随着时代和计算机的进步,一定是越来越少的
所谓生产工作,大家都能生产才有市场啊

把能解决问题的简单概念,用原创的废话转写,得到逻辑完美的新问题和“新”工具,便拿工具兜售自己对新问题的浮夸定义;这就是我对CS的观感。

就像一些 BASIC 时代的人,在吹“咱的语言都结构化流控了” “我又懂稀罕的古佬真理了” “逻辑式和响应式真的太特殊了” ,
殊不知时代仍在向定义式、生成代码、自定语法糖,在向语言去符号化 的方向走,快到都没机会让他们用留了一手的知识 漂亮地回击“恶意质疑”,便应“不体面”地求知若鸡 🥰实在太暖心

或许,这就是叙事逻辑的不同吧。 我没get到1行就显山露水的算法,有什么好高等的;我们大可用10页树立心智模型,来让核心只有1页,因为有规律 才被称为计算机「科学」。

技巧和功能有许多,在我眼里都是家常菜。作为一个合格的“大胃王”,私房菜这种东西,过眼云烟吧。

俺代码的接口越多,烧脑的概念便越少, 可能他们做的东西间没有联系,乃至结构和程序、专业和常识间争夺C位,那就完蛋了。

你用python写,你性能好,你下班早,你吃饭香,你睡的安稳
你用c写,它性能好,它cpu早下班,它内存吃饭香,它硬盘睡的稳
你说,应该死道友还是死贫道?
#py 周刊

#learn visualize 交互式py学习
conda install -c conda-forge lpython 在使用dict时比 numba.njit 编译快一倍 . cython3 最近更新就不提了
numpy-pandas, cupy-cuDF
pip install jupyter-ai 可以用 %%ai chatgpt -f math,html,. 免费访问AI,避免复制粘贴了
match case: 已经可替代 elif

from rich import inspect: py版的 devtools
textual.binding UI: 手动实现命令行 ChatGPT
命令行 MSPaint

#web #ml 支持向量列的数据库
asyncio 用线程池优化文件读取
Mpire: A Python package for easier and faster multiprocessing https://github.com/sybrenjansen/mpire
#rust py异步流读取 JSON

py的元编程FFI:
jupyterSQL 教程
java from jpype import startJVM, shutdownJVM, java
startJVM(convertStrings=False)
java.lang.System.out.println("hello world")
java.util.Random().nextInt(10)

js import pythonmonkey as js; js.eval("console.log")('hello, world')

#ce CPython如何编译源代码
#py 周刊

#ts Mypy: 1.5
Mypy 是 Python 的静态类型检查工具,1.5 版本主要功能有: @overrride 、更灵活的 TypedDict(字面创建的 dataclass) 创建和更新、可显示错误代码的文档、改进了泛型函数的类型推断、__slots__ 的优化、步进 Python 3.12

#ai 整理和预处理pdf文件,让GPT访问
from bot import Retriever, llm_reply

#backend 用 numpy, 线程池 优化数学区间求和函数

- 杀死 ProcessPoolExecutor
Python 自身不适合处理 CPU 密集型任务,文章中项目原本使用进程池来规避 GIL 问题,后使用线程、C++ 扩展,内存使用量减少 50%,CPU 使用量减少约 20%

- 观点: Py 不适合编写100行以上的软件,因为弱类型、重构难和性能


from contextlib import suppress
with suppress(FileNotFoundError):
的妙用

- 上下文管理器
from tenacity import Retrying, stop_after_attempt #AbortSignal
for attempt in Retrying(3):
with attempt
:

骗你的。Java式接口让人难以评价:
for i in Retrying(stop=stop_after_attempt(3)):
with i:
print(f"🧨炸弹{'真的'*i.retry_state.attempt_number} 要炸了!")
try: time.sleep(2) # 按Ctrl+C !
except:pass
else: raise Exception("💥!")

#visualize #plt LibCST: 遍历Python3代码树
btw. 你可以用 %%showast 和 astor 查看算式的树状图和代码形式
- viztracer 提供了 DevTools profile 页

#datas 绘制多个直方图、折线图表
- #tex 对比"星星旗帜"的海龟画图 Python 来学习 PostScript
PostScript 广泛用于打印机、出版和图形设备。文章将可被 convert -page 720x480 flag.ps flag.png 的程序,直译成对接到 matplotlibPython 代码


#java 如何编写简单的C模块,篡改 CPython 解释器的数字
导入一个模块后,如何让 print(8) 会打印出 9?只需要拿到整数对象池,交换两个大整数引用的值
swap( (PyLongObject*)PyLong_FromLong(8)->ob_digit[0] , (9)  )

#os #linux 在 execvp(["python3", “Hello World.py”]) 时,会发生什么?
在 py 文件中写上一句,执行这个文件,幕后都发生了什么呢?文章使用了 readelf 、strace 、ldd 、debugfs 、/proc 、ltrace 、dd 和 stat 等工具,详细解释了脚本被执行的过程。
主要涉及操作系统,GNU libc 相关的内容
推荐阅读


#js htmx: 强化的 form table dialog,交互式界面扩展
<form hx-put="/contact/1" hx-target="this" hx-swap="outerHTML">


#php 🤯 Slack: 我们认真觉得PHP好用
duangsuse::Echo
#py #math 《优雅不是奢侈品》 “如何才能让编程者们相信,简单性和清晰性——简而言之:数学家所说的“优雅”——不是可有可无的奢侈品,而是决定成功与失败的关键因素?” ― Edsger W. Dijkstra,“计算机著作精选:个人观点”,第 347 页。 简单明了的代码就是优雅的代码。这些都是代码中非常理想的属性。Dijkstra 又补充道: “……在软件不可靠性的情况下,最大的成本因素是复杂。 一个可靠的(因此简单的)程序的开发和使用成本,比一个(复杂的因此)不可靠的程序要廉价。” 人们…
#py 周刊
- 《优雅不是奢侈品》
- nogil 最新情报
- #web Django ORM 最佳实践
- Django 自带的JWT 路径验证和登录页
- #ts 阮一峰 入门, 纯JS入门

- #linux #rust Nush: 不是 Powershell
- #js npm依赖图
- #ai #tool realsizer4x 超分辨
- #rust pixi add cowpy 强化pip
- #ui Toga: 跨平台的 TkGUI

- #ml Viberary: 开源书籍检索引擎
- Khan 为何从Py2移植到 kt,go
- #parallel 用asyncio分享查询,防止缓存失效时并发卡爆
- #plt Rust vs Idris,Zig: 渐强类型的解药 #1

单进程 cron
from apscheduler.schedulers.background import BackgroundScheduler

cron = BackgroundScheduler(jobstores=sqlite)
.add_job(print, 'interval', seconds=5)
.start()

并行 multiprocessing: #2
with mpire.WorkerPool(n_jobs=5) as pool:
results = pool.map(getFiles, range(10), progress_bar=True)


- 修改语法ASDL,实现 map( (x)=>x*x, [1]) [Parser/Python.asdl] [30行实现]
- 奇怪的for赋值, 魔术方法
from xx import*明确化:设置好 xx.__all__ = [exports]

实现 lazy load:
importlib.import_module

⭐️import pyforest 自动导入np,pd 等变量
#code 修改语法 __import__('cv2') -
from lazy import cv2

import types,sys

class lazy(types.ModuleType):
def __getattr__(self, mod):
import importlib.util as _
if None==(r:=sys.modules.get(mod)):
id = _.find_spec(mod)
# get it inserted into sys.modules.
_.LazyLoader(id.loader).exec_module(r:=_.module_from_spec(id))
return r

sys.modules['lazy']=lazy('-L imports')
— 仅供学习,import 语句本可以是局部。 (GPT怎么变蠢了
#ts
#1为什么静态类型的C,Go,C++ 不是弱检查 就是太复杂

代码练习: 不需要 type WTF<> = 就可以检查 htmlTag, funcPipe, nthArg, printf("\d") 等调用的类型

int[10] 的实质、 #Kt 类型推导的原理
duangsuse::Echo
#tech #recommend #js 🧐从『函数』的定义就能知道,#编程范式 的发展史 👉 地址symbol、子程序void()、对象 SAM object、算式 x=>y 或文档树、 模式查询select [a b], a=1|a=2 : x86无结构:是弱检查指针、面条流控、256项字符集,定长数组,栈分配,加载到内核mmap(rwx..不能为READ 段错误) 是dll内地址 C过程式:是向调用栈赋值后跳过去等返回,是子程序 C#OOP:捕获了局部变量(cellvar,可变)、原型虚表到t…
#py 周刊

- Excel 支持 import pandas, statsmodels, matplotlib / seaborn 了, Guido 亲自推广(可能是云计算,要订阅)
- PowerToys添加“可交互”的截图
- Google 等各种大公司的技术blog #list
- #apple #design 设计师法则
- #learn 看美军的脏话官话(F-words)学英语 。

- 单靠 #sql 如何保存数据
- APL 里有的 py 基本列表处理式
- FastAPI 最佳实践 list
- async stdlib: 对比理解各种流行实现

- fixit linter: py 版本的 IDEA 自动迁移 (无AI), cffi: 我用什么 C parser 链接到.h 文件
- 用 difflib 开发一个文件比较工具
- KeymouseGo, ahkunwrapped py : 类似按键精灵的鼠标键盘录制和自动化操作
- quivr:生成式 AI 打造你的第二大脑, trafilatura: GUI 文本/评论 爬虫
检索非结构化的信息,可以理解成支持人工智能的 Obsidian。可以处理各种形式的文件如文本、图片、代码、音频和视频等,依赖于 ChatGPT、Docker、Supabase

- FastAPI + SSE new EventSource('/http流') API 下发文本消息
- 用py编写代码高亮图片生成 (carbon.now.sh ..)
- Streamlit 地图高亮生成
- Streamlit GPT4文件摘要工具

- Mojo #ai #rust: 对Py的渐强类型&优化 的语法改进 [waitlist]
def mandelbrot_0(c: ComplexFloat64) -> Int: #CPU FMA优化, 1Mojo = 15Numpy = 89CPy
z = c, nv = 0
for i in range(1, 200): #清晰度
if abs(z) > 2: break
z = z*z + c
nv += 1
return nv

👀 Rust 确实是资本的语言,融资1亿刀乐

#code #algorithm 埃氏素数筛
def gen_primes():
"""Generate an infinite sequence of prime numbers."""
D = {}
q = 2
while True:
if q not in D: D[q * q] = [q];yield q
else:
for p in D[q]: D.setdefault(p + q, []).append(p)
del D[q]
q += 1
duangsuse::Echo
#py 周刊 - Excel 支持 import pandas, statsmodels, matplotlib / seaborn 了, Guido 亲自推广(可能是云计算,要订阅) - PowerToys添加“可交互”的截图 - Google 等各种大公司的技术blog #list - #apple #design 设计师法则 - #learn 看美军的脏话官话(F-words)学英语 。 - 单靠 #sql 如何保存数据 - APL 里有的 py 基本列表处理式 - FastAPI 最佳实践 list…
#py 周刊
#recommend #tool 带有 "Android 子系统", taskmgr,... 的网页版Win12 demo 🎨
#algorithm Hello Algo 多语言实例
#tool EasySpider +可视化编程
#android 高级包管理器
js: await using fp = openFile()

Flask 深入探索: 请求上文、会话、CORS
fastapi-users:开箱即用的 FastAPI 用户管理库
Django 发送带有验证链接的电子邮件
FastAPI 使用 Tailwind CSS + SQLAlchemy
Streamlit 初学者指南: 类似 Juypter UI
Polars:快如闪电的 #rust DataFrame 库, 优化表达式和上下文、惰性
dara:轻松创建交互式 Web 图表程序 📊
Python Asyncio 之 socket() 网络编程理论详解

可视化+深入学习数据结构与算法:C++、Swift、Python、Java、C#、JavaScript
bisect,heapq 如何保持数组有序
upiano:命令行里的钢琴 FluidSynth
探索国家/文化多样性:Pyetho — 用于列出国家及其语言
深入介绍 Python 3.12 中的永生对象(如 None 关键字和小整数)
下划线的十种用法(REPL, match, i18n)


7、h2ogpt:私人文档+图像的问答 PyMuPDF 识别与提取表格
8、refact:开源编码助手,支持自动补全、代码重构、代码分析
9、dify:创建自己的 AI 应用 +CN
duangsuse::Echo
#py 周刊 - Excel 支持 import pandas, statsmodels, matplotlib / seaborn 了, Guido 亲自推广(可能是云计算,要订阅) - PowerToys添加“可交互”的截图 - Google 等各种大公司的技术blog #list - #apple #design 设计师法则 - #learn 看美军的脏话官话(F-words)学英语 。 - 单靠 #sql 如何保存数据 - APL 里有的 py 基本列表处理式 - FastAPI 最佳实践 list…
#py 周刊
HackerNews 等新闻聚合
本该辅助思维的工具,如何异化我们
pysentation: 在终端展示你的py代码
js anti-debug: 尝试阻止全编程界最优秀的 DevTools,
https://github.com/theajack/disable-devtool/blob/master/src/detector/sub-detector/func-to-string.ts
v0.dev: 生成预览和迭代HTML设计

Mojo 🔥 Linux版本可用, 自带 Tensor(nd),DType 支持
(ps. 这人怎么 parser 都不会写啊, (1+ 换行 1) 时解析失败,等待下一行不就行了吗? 他只是写了个众所周知的hint
这个 let var 是干嘛啊(还有Java式的 class Benchmark..),Python 简洁的优势都丢了

🤖 Falcon 作为当前最大的开源大模型,有 180B 参数,在 3.5 万亿词的 TII RefinedWeb 上训练
jieba的替换: pkuseg-python , hanlp

#wasm #plt 500行迷你C编译器
🥧 半手工绘制 plt.极座标直方图

📈 #algorithm min/maxHeap 有序列实现
#bin Bloom filter 集合 位运算实现 —性质类似WeakSet, 非常快

🐳 用Podman部署py包 [维护pip包]
📝 使用 Protobuf message{} 储存和传输
protoc --python_out=. .\music.proto

from music_pb2 import Library
Library().add(music).K=V
lib.SerializeToString()
lib.ParseFromString(f.read())


compress:基于个人语料库的快捷输入工具
gpt_academic #zh gui : 为 ChatGPT/GLM 提供实用化交互界面
GPT 学术优化,特别优化论文阅读/润色/写作体验,模块化设计,支持自定义快捷按钮&函数插件,支持 Python 和 C++ 等项目剖析&自译解功能,PDF/LaTex 论文翻译&总结功能
#py 周刊
Python,YAML 的缩进为何比C系优秀

4、strictyaml:类型安全的 YAML 解析和校验库
用于解析 YAML 的受限子集,拒绝解析丑陋的、难以阅读和不安全的 YAML 简写,有严格的标记验证和直接的类型转换
TOML 文件格式有什么问题?
“改进的” INI 文件,是 pip 推荐的配置文件格式。但连 TOML 的作者也认为它是一种糟糕的格式!

12、Python Fire:自动生成命令行接口
谷歌开源的一个用于生成 CLI 的库,Github 25K star。这篇文章介绍了它的一般命令、组合命令、链式命令、复杂命令等用法。

5、facefusion:更先进的换脸工具
最新开源的一个人像换脸库,star 涨得飞快!(star 6.9K)

#tool 把网页转换成 Markdown 格式存储
一站式 LLM 底层技术原理入门指南
基于数学点乘的 Transformer原理引言
7、instagraph:将文本内容或 URL 转换为可视化的知识图谱
可以提取复杂信息中的名词实体,生成它们的关系图谱。使用了 GPT-3.5,以及 Flask

该以一种怎么样的心态对待开源
🐎 网易云音乐 Tango 低代码引擎正式开源!

文章集 Writing an #OS in Rust , 从linker-BIOS ABI到算法
Thorium.rocks : Chromium 改版

10、使用 Django 和 HTMX 开发一个数据库搜索项目
一篇详细的 Django 项目教程,实现一个全栈的项目。文中有作者的教程视频。

11、异步 SqlAlchemy 和多数据库管理
利用 asyncio 和 SqlAlchemy 库,文章探讨了如何有效地连接和管理多个数据库,获得可扩展且具有弹性的架构。文章介绍了两种实现方法。

前端新轮子 Nue JS,作者称要打造全新的 Web 生态 [docs]
tornado Web 框架 的协程调度原理

14、为什么 Python 代码在函数中运行得更快?
代码执行的工作原理是什么?如何测试与优化 Python 函数的性能?

13、我最爱的解 LeetCode 问题的 Python 技巧

#algorithm 玩转遗传算法
遗传算法(Genetic Algorithm)是一种受生物进化理论启发的优化算法,用于解决复杂的搜索和优化

9、调试 Python正则表达式的灾难性回溯
作者使用 py-spy 定位一个 CPU 100% 占用问题,找出了罪魁祸首的正则表达式

Python abc 类型提示的轻量化:接口
from typing import Protocol

@typing.runtime_checkable
class DuckLike(Protocol):
def walk(self, to: str) -> None: ...
#py 周刊

在单核情况下加快 Python 代码速度,提速 2339/554us=4倍
提速一个低色深保真算法,涉及的一些概念:指令级并行 (ILP)、分支预测、单指令多数据(SIMD)、内存层次结构等。

6 件可以用 Functools 模块做的很酷的事
@cache 缓存、@total_ordering 让你少写排序方法、@singledispatch 函数重载、partial() 颗粒化传参、@wraps wrapt装饰器、reduce() 函数。

7 个极佳的 Python 身份验证库
Authlib、Pyjwt、Flask-login、Django-allauth、ItsDangerous、Python Social Auth、Flask-security

Python对象模型(大部分)由语法糖组成
Brett Cannon 写了一系列关于“语法糖”的博客,并创建了MyPY,解析了 80 多个语法糖特性。locals(), 闭包赋值所致的 nonlocal 问题, type(X).__neg__(X); type(X or Y).__add__(X,Y), raise 替代break

为什么有这么多 Python Dataframe?
Pandas、Polars、Dask 和 PySpark 的区别在哪?作者认为是电子表格、关系数据库、二维数组/矩阵、对象 的便利性不同

用$ Radon 来衡量计算圈复杂度等指标
计算圈复杂度、原始指标、Halstead 指标、可维护性指数,可用于 CI 集成,可与 Jupyter Notebook 一起使用。(star 1.5K)

CPython 在处理字符串时使用了布隆过滤器,比如 splitlines()、strip() 两个函数(不到 50 行 C 代码)
PythonUUID 的使用
from uuid import uuid1() 利用系统 MAC 地址与时间戳生成 uuid;uuid4() 生成完全随机的 uuid;uuid3() 和 uuid5() 基于常量命名空间和变量名生成 uuid,前者使用 MD5 算法,后者使用 SHA-1 算法。

深入理解 pytest.main()Python 测试框架的核心功能解析
这个非常实用的函数,用于从命令行运行测试集或者以编程方式运行测试。文章探讨了它的用法和一些常见的应用场景。

toml-bench:在 Python该用哪个 toml 库?
比较了 toml、tomli/tomli_w、tomlkit、pytomlpp、rtoml 和 qtoml 这几个库,考察它们在处理数据时的行为表现以及性能。

迎接更快的 SymPy
SymPy 是一个用于符号计算(symbolic computation)的库,可以处理代数、微积分、离散数学等领域的问题。

使用 import-linter 让你的 Python 项目架构更整洁
在依赖关系治理方面,通过提供各种类型的“契约”,让我们得以将项目内隐式的复杂依赖关系,通过配置文件显式的表达出来。文章介绍了它的入门使用,以及 6 种修复依赖关系的技巧。
# 分层:resources -> clusters
# 调整前
resources -> clusters
clusters -> resources.cluster_utils # 应该是 clusters.utils

quasiqueue:管理长时间运行的多进程作业
可处理进程创建和清理、信号管理、跨进程通信

logparser:用于日志解析的机器学习工具包
自动从非结构化的日志信息中提取出关键的表格信息。(star 1.2K)

llama2.mojo:纯 Mojo 版本的 Llama 2 ,将性能提高了近 250 倍
作者将 Python 版本的 llama2.py 移植成 Mojo 版本。(star 1.1K)
#py 周刊
- 周刊1
无语了, #telegram 上写文怎么破事那么多呢? Ctrl+K 弹框又限bot干🐴呢,哇会做C++ UX真是太厉害了,Markdown编辑都搞不全
//替换/^\d*、//g; $0.innerHTML.replace(/<.?p.*?>/g,"")

$$('p').forEach(e=> e.replaceWith(...e.childNodes))
$('[tabindex]:read-write').innerHTML=prompt()
只能在vs和web两个浏览器间,直接CtrlCV文档 😅


20 个令人兴奋的 Python 项目创意
经常看到有人问:有没有简单易上手的 Python 项目推荐?不妨看看这篇文章,它介绍了 20 个小项目的想法,另外原作者已经实现了很多项目,源码可从文中的仓库地址获取。
15 个 Python 小项目(star 1K)
一个 Python 基础语法问答网站
什么是 lambda 表达式? lambda 有什么局限性、什么时候应该避免使用?

Google Sheets 也能用 Python 微软在 8 月让 Excel 支持了 Python
Python 代码转为 LATEX 公式工具 Google 开源的 (star 6.5K)
CardStock:跨平台的 GUI 构建工具 提供了一个类似于绘图程序的编辑器,支持文本、图形、图像、按钮、输入框和 Web 视图等元素;可添加事件驱动的 Python 代码。
介绍 rip - 快速而简约的 pip 实现 Rust 版本 pip。它试图在 Conda 和 PyPI 间架起一座坚固的桥梁

当我遇见了 Guido van Rossum--今年 Pycascades 上做了演讲“Python 中用元类作元编程”,并遇见 Guido,他们聊了一些Py后端
rendercv:用 YAML/JSON 文件创建 PDF 格式的简历 目前仅有一款主题。
通过阅读代码学习:Python 标准库设计决策解释 推荐了这些:statistics、pathlib、dataclasses、graphlib
使用 Python 调用 Rust 的三种方法 三种方法:HTTP、IPC(进程间通信) 和 FFI(外部函数接口)。

主流实现
Python 3.11 vs Python 3.12 之性能测试 AMD 锐龙 7000 系列和 i13 上共进行了 91 种基准测试
PEP-703 无 GIL CPython 的进展 就在本周,Python 指导委员会宣布采纳了这个提案!这篇文章写于消息宣布的两周前,总结了过去一段时间里发生的技术思考和进展。(附:PEP-703 的讨论

PEP-730 CPython 提供对 iOS 的官方支持BeeWareKivy 是支持 iOS 的 Python APP 开发框架,说明了技术的可行性。
Python 的代码生成:拆解 Jinja 介绍了 Jinja 编译器基础结构的设计,比较了 Jinja 和 Django 的模板,分析它们产生截然不同设计的历史原因

我们必须聊聊 Flask 🌶
Flask 最近发布了 3.0 版本,Werkzeug 也同时发了 3.0 版本,《Flask Web Development》一书的作者吐槽 Flask 总是出现向下不兼容的问题,劝 Flask 核心开发不要做无端的重构
Flask、它的生态和向后兼容性 ,这篇是对它的回应,作者是 Flask 的维护者之一。 >继续关于 Flask 的讨论


AI
基于 ProPainter 技术去除图片以及视频水印 引入了双域传播的新方法和一种高效的遮罩引导视频 Transformers,增强了视频修复的性能
pipeless:一个计算机视觉框架 轻松构建与部署可实时分析及操作视频流的应用,无需构建和维护多媒体 pipeline。支持YOLO插件
RealtimeSTT:强大、高效、低延迟的语音转文本库
ZenNotes:Windows 记事本,支持翻译和TTS
手撸个视频翻译和配音工具玩玩 结果不太妙 openai-whisper 离线模型、 Google 接口、 Microsoft Edge tts。

Chrome-GPT:可控制 Chrome 的 AutoGPT 代理(star 1.4K)
swirl-search:用 AI 同时搜索多个数据源 支持连接到数据库+排名结果(SQL、NoSQL、Google BigQuery)、公共数据(谷歌、Arxiv)
voyager:用于 Python 和 Java 的近似邻搜索库 对内存中的向量集合执行,出自 Spotify,每天被查询数亿次,扛得住海量用户的请求。召回率比 annoy 高。
duangsuse::Echo
#py 周刊 - 周刊1 无语了, #telegram 上写文怎么破事那么多呢? Ctrl+K 弹框又限bot干🐴呢,哇会做C++ UX真是太厉害了,Markdown编辑都搞不全 //替换/^\d*、//g; $0.innerHTML.replace(/<.?p.*?>/g,"") $$('p').forEach(e=> e.replaceWith(...e.childNodes)) $('[tabindex]:read-write').innerHTML=prompt() 只能在vs和web两个浏览器间,直接CtrlCV文档…
#py 周刊
周刊1
#新品
Black 格式化工具+lint的替代者Ruff:快 30 倍以上 25w/.1s
你应该什么时候升级到 Python 3.12?建议你等到 12 月,修复不兼容的软件包、缺少二进制包

Python 3.12:一个被人忽略的史诗级版本 👍
改进 Numpy 的 Python API,为 2.0 版本准备

3.12 对于 Python 的意义,大于 3.5 的“async/await” 和 3.6 的 “Type Hint” 对于 Python 的意义!PEP-669 带来的可调试性(Cyberbrain call #visualize)、PEP-684 为 non-GIL 带来的性能提升、PEP-697 松耦合 C API


不要再用 requirements.txt 了, setup.py 的糟糕体验
推荐使用 Poetry。pip 的主要问题是没有 lockfile 和手工管理虚拟环境麻烦
在 Mac 上安装 Python 的正确方法作者给出的建议是 Pyenv + pyenv-virtualenv

uDjango:单文件的 Django 微型项目 这个项目是 DjangoCon US 2023 的演示项目,使用单文件不到 10 行代码,演示一个最小的 Django 应用。
Django vs Flask:哪个是最好的 Python Web 框架?一篇细致的长文,详细对比了它们在模板系统、URL 调度器、数据库支持、身份验证及授权、测试、软件架构、学习曲线等方面的差异。没有更好的,只有是否适合你的。

从零开始编写一个 Python 异步 ASGI Web 框架 这篇循序渐进的教程是很好的学习材料,让你了解 Web 框架设计、异步编程
kivy+pandas 开发简单的 Android 数据分析应用其作用是记录和显示你全天在屏幕上花费的时间

#框架
为什么 Django 后台管理系统那么“丑陋”?Django Admin UI 很多年没有变化,显得设计过时了。因为它不应该暴露给终端用户。

数据库生成的列 :Django & SQLiteGeneratedField 是正在开发的 Django 5.0 的新功能,实现C=A+B等自动SQL算式。这篇文章还介绍了一些 Django 5.0 中的新东西
Kenneth Reitz:迟来的道歉,以及 requests 3 的进展2019 年时 requests 3 的筹款闹出了不小的风波!文中列举了目前已经完成的一些事情(typehint,imports,async)

esmerald:高度可扩展、高性能的 Web 框架基于 Starlette 和 Pydantic ,支持同步和异步,提供 DAO、ORM、ODM、依赖注入、权限管理等功能。
grequests:异步的 HTTP 请求grequests 构建在 gevent 库之上,一个提升性能的建议。

#技巧 😨
100%的测试覆盖率是不够的:Python 中基于命题的测试 如何设置 @pytest.mark.parametrize
Hypothesis

Python 如何在日志中隐藏明文密码? 基于 logging 模块的两种实现方案:自定义 filter 和自定义 formatter
使用 AI 进行网页抓取实验(使用 GPT-4 解析 HTML)GPT4的能力到底如何呢?如抓取结构良好的网站、抓取 Google 自然搜索结果、抓取 Google SERP、以及抓取 Google MAPS 结果。

从混沌到凝聚:构建你自己的 Monorepo 文章介绍如何使用 GitHub Actions。monorepo 是将所有项目都放到一个代码仓管理,可能包含不同语言和框架。这意味着对它的依赖管理和 CI/CD 等都与普通代码仓不同。
RSS-GPT:使用 ChatGPT 为你的 RSS 订阅源生成摘要使用 GitHub workflow 新生成 RSS 订阅源且推送到 GitHub Pages。一键配置无需服务器。


#精通
Python 是一种编译型语言

我们通常习惯将 Python 称为一种解释型语言,因为它在运行时逐行。很多人还知道 .pyc 其实也有编译的过程。作者通过苏格拉底式对话和几轮实验,引导读者重新思考“解释”与“编译”:它们是错误的二分法、限制了编程的可能性
Python-Type-Challenges:通过在线挑战来学习 Python 类型提示

开发一个 Python 编译器和解释器这是一系列博文,目前已更新 6 篇,目标是探索和研究实现 Python 等编程语言所需的概念和算法,将会涉及:Lex-YaCC、树解释器。

你能用 Python 的 bisect 模块做到这些事两个函数,可以做很多事:二分搜索、前缀搜索、在列表中查找连续的相等值、查找字典中最接近的键、自定义对象的排序、按照字典 key 搜索。
使用 Ptpython 提高你的编码效率Ptpython 是一个功能丰富且对用户友好的 Python REPL,在脚本中嵌入。
de4py:Python 逆向工程工具包 (neta de4dot) 一款高级的 Python 反混淆器,面向恶意软件分析师和逆向工程师,它拥有精美的 UI 和一些高级功能。

#资源 🤗
public-apis:面向开发者的公共 API 列表 非常非常丰富的公共 API 清单,内容应有尽有。(star 2K)

XHS_Downloader: 小红书图文/视频 spider
FunASR:端到端语音识别工具包阿里。有语音端点检测(VAD)、标点恢复、语言模型、说话人验证、说话人分离和多人对话语音识别等。(star 1.2K)
使用 Python+ChatGPT 开发一个书籍摘要 AI Langchain 和 OpenAI embedding 开发一个书籍摘要工具。另外,作者使用 Streamlit 发布了一个在线体验网站
duangsuse::Echo
#py #code #recommend 说到有趣的py接口,有个 iself() def read_as_io(f): class T(io.TextIOBase): read=lambda o,size: f(o) return T -匿名对象 之前写贪吃蛇 snk.c 就用到链表 不想缓冲区溢出的话Vec还是好的。C里你要实现[] 需要懂链表/strcat, rust 里你写 Vec<i32> push 就好了 Rust的生命周期现在基本不需要考虑(尤其是对应用开发时), type infer…
#py 周刊阅读笔记
https://t.iss.one/NewlearnerChannel/12060
https://t.iss.one/NewlearnerChannel/12097

https://www.kdnuggets.com/why-you-should-not-overuse-list-comprehensions-in-python
#code
primes =lambda upper_limit: [x for x in range(2, upper_limit + 1) if  x > 1 and all(x % i != 0 for i in range(2, int(math.sqrt(x)) + 1))]
primes(50)

#拆分后

is_prime=lambda num: num > 1 and all(num % i != 0 for i in range(2, int(math.sqrt(num)) + 1))

primes = [x
for x in range(2, 50 + 1)
if is_prime(x)
]

后面
def flatten_matrix(matrix):
def find_prime_indices(matrix, flattened_matrix):
求和排序的我不想写,因为明显可以用 yield和np.vectorize

# Parse&flatten the JSON string with deep"inner_key" into a Python dictionary
这个也不想,因为用match和递归更常见吧,elif isinstance 是什么py2地狱绘图

https://bernsteinbear.com//blog/simple-python-repl/#:~:text=readline%20API
https://www.skywind.me/blog/archives/2761
如何利用RegExp/创建REPL

出自 https://docs.python.org/3.11/library/re.html
#js #code 当输入 "3 hello 1world" 时展开缩写,并且补齐出现过的词

Lexer=kv=>{
let re=Object.keys(kv).map(x=>`(${x})`).join('|'), mf=Object.values(kv),m,i,j=0
re=RegExp(re, 'gy')
return (s,ontok)=>{
for(m of re[Symbol.matchAll](s)) ontok(
mf[(j=m.findIndex((x,i)=>null!=x &&i!=0))-1](m[j]), (i=m.index), i+m[0].length
)
}
}

f=Lexer({
'\\d+':parseInt,
'[a-zA-Z]+':s=>s,
'\\s+'(){}
})

rep=(txt,on, n=null)=>f(txt,x=> (x==null)?on(' '):
(x.substr)? (on(x.repeat(n)),n=null) :
(n=x)
)

buildAry=(f,a=[])=>(f(x=>a.push(x)), a)

buildAry(rep.bind(0,"3hi 1end")).join('')

因为JS部分都这么长,还是懒得移植到PyExecJS了,总之分词器、括号配对啥的可以靠正则,提供补齐列表也不难

就用 <body ContentEditable>+CSS.hilights 示例吧?
https://jsbin.com/kamufijomu/edit?js,output 😅

参考^回复,这样就有分词和括号配对高亮了?

—续周刊
https://github.com/stickfigure/blog/wiki/How-to-(and-how-not-to)-design-REST-APIs
十多项 REST API 的最佳实践规则,解释了规则的含义及实现
作者嘲笑了几家公司被广泛使用的 API,将它们作为规则的反例。

[Django 5.0 发布了!](https://docs.djangoproject.com/en/5.0/releases/5.0)
新增`Field.db_default` 参数,可设置由数据库计算的日期等默认值;`GeneratedField` 可以创建由数据库计算的列,简化了表单字段相关元素的呈现
FastAPI 已经支持 python-dependency-injector 实现依赖注入的方法。

[kolo VSCode 插件:查看 Django 应用的执行过程](https://github.com/kolofordjango/kolo)
具有帧可视化、漂亮的火焰图、显示执行了 SQL 查询的代码行
[autometrics-py:函数级的指标监测工具](https://github.com/autometrics-dev/autometrics-py)
只加一个装饰器,可检测函数的请求率、错误率和延迟,开箱即用仪表板、自定义告警、运行开销小

https://dev.to/taipy/new-open-source-vs-old-open-source-33k7
10 组在 Python 社区很知名的库的替代库,这里最没争议的估计是 Ruff 替代 Pylint,
其它则还有:Taipy/Streamlit、Polars/Pandas、Dask/PySpark、PyTorch/TensorFlow ……

[Python 借助 Gopy 库实现调用 Go.whl 包](https://last9.io/blog/using-golang-package-in-python-using-gopy/)
https://preslav.me/2023/11/27/python-is-easy-golang-is-simple-simple-is-not-easy/#:~:text=also%20at%20the-,core%20of%20Django,-%2C%20which%20speaks%20to

[对比 Python 与 Rust 的编程习惯用法](https://programming-idioms.org/cheatsheet/Python/Rust) 有意思的网站,可比较不同编程语言在 300 多项习惯用法上的区别
就像 https://component-party.dev/
https://kobzol.github.io/rust/python/2023/05/20/writing-python-like-its-rust.html
从 Rust 中学到的一些编程习惯:使用类型提示、使用数据类代替元组或字典、使用代数数据类型、使用“newtype”、使用构造函数、使用互斥锁等

[Python 工具箱系列文章](https://www.cnblogs.com/shanxihualu/p/17391082.html)
这是一个系列文章,目前包含 31 篇文章,最近介绍的几个工具是数据库相关的:Neo4j(一个 NoSQL 图数据库,使用 Py2neo 操作)、PostgreSQL

[trogon:为 CLI 程序生成友好的GUI](https://github.com/Textualize/trogon)
[当在终端输入“ls”后会发生什么?](https://www.warp.dev/blog/what-happens-when-you-open-a-terminal-and-enter-ls)(英文)
有一道很类似的常见的面试题:“当在浏览器输入 google.com 后会发生什么?”
[solara:一个纯 python、React-风格的ipywidget框架](https://github.com/widgetti/solara)
[用tkinter、PySimpleGUI 和 Jupyter Notebook 播放 GIF?](https://www.blog.pythonlibrary.org/2023/12/05/viewing-an-animated-gif-with-python/)
https://toga.readthedocs.io/en/stable/tutorial/tutorial-0.html#:~:text=()%0A%0A%20%20%20%20button%20%3D-,toga.Button,-(%22Hello%20world
Toga是跨平台的pyGUI
kanban-python:终端中的看板应用程序,和Vue TUI 一样
duangsuse::Echo
[人工智能 AI 孙燕姿模型应用实践](https://v3u.cn/a_id_310) 最近 AI 孙燕姿太火了!文章基于 Python3.10 和开源库 so-vits-svc(高表现力的语音合成模型)、Spleeter(人声和伴奏分离) [clone-voice: 一个带 web 界面的声线转换工具](https://github.com/jianchang512/clone-voice) 支持中文、英文、日语、韩语 4 种语言,也支持文字转语音(star 1.3K) [八十行代码实现开源的 Midjourney、Stable…
#py 周刊

https://coderslegacy.com/python-init-py-best-practices/
from a import * 
# 代表了 a.py
import a.b as b
# 代表 a/b.py
# 但是,你可以利用b.py imports 和 __all__=[] 对导出进行平铺化

https://nedbatchelder.com/blog/202312/realworld_matchcase.html
PEP: 在PyVM实现Null可空链 ?? ?. ?[]
这个修改非常复杂,但因为py不支持内联lambda ?.run{} ?: 什么的,恐怕没啥意义
btw. []"" 0 None or 已被用于null替换

https://augierpi.gricad-pages.univ-grenoble-alpes.fr/mojo-the-point-of-view-of-a-researcher-using-python.html#tiobe
mojo: 正在进步的py科学计算超集

msgspec: 支持BSON,toml,yml ; 比 pydantic 快10x
import msgspec
msgspec.json.encode(User("alice", groups={"admin", "engineering"}))

class User(msgspec.Struct):
"""A new type describing a User"""
name: str
groups: set[str] = set()
email: str | None = None


pydantic/FastUI : ASP# table再现

#ai #tool https://github.com/Coframe/coffee?tab=readme-ov-file#related
v0.dev , 外包围 <Coffee> 标签Ctrl+S就能让AI修改试运行, 完成后 < pour="" > 即合并代码
Forwarded from Leetao’s Space (Glittering)
📖主题 停止编写 __init__ 方法以优化Python类设计

🚩重点

• 在Python 3.7之前,__init__ 是创建数据结构的默认方法,但存在多重问题。
• 使用dataclass、classmethod和NewType可简化对象创建及增强类型安全。
• 通过class methods方便用户创建对象的同时,避免了不必要的复杂性和潜在错误。

结论 推荐使用dataclass和classmethod构建Python类,以确保对象有效性和便于维护,提高代码质量。

🏷️标签 #Python #编程设计

🔗链接 https://blog.glyph.im/2025/04/stop-writing-init-methods.html
🦄1
Forwarded from 小红书一瞥
我承认Python水平不如战鹰🤡
#编程 #Python #围棋
Forwarded from Solidot 纯净版
Python 纪录片上线
#Python

由 CultRepo 制作的 Python 语言纪录片《Python: The Documentary | An origin story》上周在 YouTube 上线,观看量超过了 18 万次。Python 语言最初是荷兰程序员 Guido van Rossum 的“课余”项目,它简洁易读的特性最终令其从众多编程语言中脱颖而出,成为最受人喜爱的语言之一,成为驱动 AI、数据科学以及科技巨头所开发软件使用的语言。出现在纪录片中的人物包括了 Guido van Rossum、Travis Oliphant、Barry Warsaw 等,它讲述了 Python 的崛起、社区驱动的演变、几乎导致分崩离析的冲突,以及这门语言对世界万物的影响。
www.youtube.com/watch?v=GfH4QL4VqJ0
Forwarded from 层叠 - The Cascading
Python 基金会因「坚持推行 DEI」放弃美政府 $1.5M 捐款。

- Python 基金会 (PSF) 发文如是说。DEI 指多元化、平等及包容 (diversity, equity, inclusion)。
- 捐款来自美国政府国家科学基金会 (NSF) 关于开源生态系统的项目,起初由 Python 基金会职员组织申请。
- 捐款方美国政府要求 PSF 不开展促进 DEI 的工作,否则可能收回已发放捐款。

pyfound.blogspot.com/~

#Python #US