uv-最快的python包管理工具

概述

uv (https://github.com/astral-sh/uv) 是一个极快的Python包和项目管理工具,他是用Rust编写的。他可以用来代替 pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv等工具。

他有如下的亮点:

  • 极快的速度,比pip快10-100倍
  • 提供pip兼容的接口形式,这样可以选择不学新的语法
  • 提供python版本的管理,可以方便的切换下载python版本(这点比poetry好)
  • 全局cache来管理依赖,这样可以避免重复下载

安装

阅读更多

asyncio调度介绍

概述

Python 的 asyncio 库提供了一种基于事件循环的异步编程模型,其核心是无栈协程(Stackless Coroutine)。无栈协程具有以下特性:

  • 单线程事件循环asyncio 在单线程上创建一个事件循环,用于调度协程的执行。
  • 协作式多任务:协程只有在主动交出控制权(如通过 await)时,事件循环才能调度其他协程。
  • 异步等待:使用 await 调用可调度的对象(如协程、FutureTask),并获取其结果。

事件循环

事件循环是 asyncio 的核心组件,负责管理和调度所有异步任务。其工作原理如下:

阅读更多