图片由编辑
环状领 是一个用 Rust 编写的极其快速的 Python linter 和格式化程序,旨在替换和改进 Flake8、Black 和 isort 等现有工具。它提供 10-100 倍更快的性能,同时通过 700 多个内置规则和流行插件的重新实现保持奇偶校验。
Ruff 的统计数据 |从头开始检查 CPython 代码库
Ruff 支持具有 3.12 兼容性和“pyproject.toml”的现代 Python。它还提供自动修复支持、缓存和编辑器集成。 Ruff 对单一存储库友好,并用于 Pandas、FastAPI 等主要开源项目。通过结合速度、功能和可用性,Ruff 将 linting、格式化和自动修复集成到一个统一的工具中,该工具比现有选项快几个数量级。
我们可以使用 PIP 轻松安装 `ruff`。
pip install ruff
为了测试运行 Ruff 有多容易和快速,我们可以使用 DagHub 存储库 kingabzpro/瑜伽姿势分类。您可以克隆它或使用您自己的项目进行格式化。
项目结构
首先,我们将对我们的项目进行检查。您还可以通过替换“.”来在单个文件上运行 linter。与文件位置。
ruff check .
Ruff 已识别出 9 个错误和 1 个可修复的错误。为了修复错误,我们将使用 –fix 标志。
ruff check --fix .
如您所见,它修复了 1 个可修复的错误。
要格式化项目,我们将使用“ruff format”命令。
$ ruff format .
>>> 3 files reformatted
Ruff linter 和格式化程序对代码进行了大量更改。但是,为什么我们需要这些工具?答案很简单——它们有利于执行编码标准和约定。因此,您和您的团队都可以专注于代码的重要方面。此外,它们还有助于提高代码的质量、可维护性和安全性。
作者的 Gif
要在项目中使用 Ruff for Jupyter Notebooks,您必须创建 `ruff.toml` 文件并添加以下代码:
extend-include = ["*.ipynb"]
您也可以对“pyproject.toml”文件执行相同的操作。
之后重新运行命令以查看它对 Jupyter 笔记本文件进行的更改。
2 个文件已重新格式化,我们有 2 个笔记本文件。
$ ruff format .
>>> 2 files reformatted, 3 files left unchanged
我们还通过再次运行“check”命令修复了这些文件中的问题。
$ ruff check --fix .
>>> Found 51 errors (6 fixed, 45 remaining).
最终的结果是惊人的。它在没有破坏代码的情况下进行了所有必要的更改。
作者的 Gif
通过编辑“ruff.toml”文件来调整 linter 和格式化程序设置,可以轻松为 Jupyter Notebooks 配置 Ruff。查看 配置 Ruff 文档 以获得更多细节。
target-version = "py311"
extend-include = ["*.ipynb"]
line-length = 80 [lint]
extend-select = [ "UP", # pyupgrade "D", # pydocstyle
] [lint.pydocstyle]
convention = "google"
开发人员和团队可以通过“ruff-pre-commit”使用 Ruff 作为预提交钩子:
- repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. rev: v0.1.5 hooks: # Run the linter. - id: ruff args: [ --fix ] # Run the formatter. - id: ruff-format
它还可以通过 `ruff-action` 用作 GitHub Action:
name: Ruff
on: [ push, pull_request ]
jobs: ruff: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: chartboost/ruff-action@v1
Ruff 最令人愉快的方面是它的 VSCode 扩展。它简化了格式化和检查,消除了对第三方扩展的需要。只需搜索 环状领 在扩展市场上安装它。
图片来源: Ruff – Visual Studio 市场
我已经配置了“setting.json”,以便它在保存时格式化。
Ruff 提供闪电般快速的 linting 和格式化,以实现更干净、更一致的 Python 代码。为了提高性能,Ruff 在 Rust 中重新实现了 700 多个内置规则,从 Flake8、isort 和 pyupgrade 等流行工具中汲取灵感,以实施一套全面的编码最佳实践。精心策划的规则集侧重于捕获错误和关键风格问题,而不会过多挑剔。
与预提交挂钩、GitHub Actions 和 VSCode 等编辑器的无缝集成使得将 Ruff 集成到现代 Python 工作流程中变得容易。无与伦比的速度和精心设计的规则集使 Ruff 成为重视快速反馈、简洁代码和顺畅团队协作的 Python 开发人员的必备工具。 Ruff 通过将强大的功能与出色的性能相结合,为 Python linting 和格式化设置了新标准。
阿比德·阿里·阿万 (@1abidaliawan) 是一名经过认证的数据科学家专业人士,他热爱构建机器学习模型。 目前,他专注于内容创建和撰写有关机器学习和数据科学技术的技术博客。 Abid 拥有技术管理硕士学位和电信工程学士学位。 他的愿景是使用图形神经网络为患有精神疾病的学生构建一个人工智能产品。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- PlatoData.Network 垂直生成人工智能。 赋予自己力量。 访问这里。
- 柏拉图爱流。 Web3 智能。 知识放大。 访问这里。
- 柏拉图ESG。 碳, 清洁科技, 能源, 环境, 太阳能, 废物管理。 访问这里。
- 柏拉图健康。 生物技术和临床试验情报。 访问这里。
- Sumber: https://www.kdnuggets.com/enhance-your-python-coding-style-with-ruff?utm_source=rss&utm_medium=rss&utm_campaign=enhance-your-python-coding-style-with-ruff
- :具有
- :是
- $UP
- 1
- 10
- 12
- 51
- 7
- 700
- 8
- 80
- 9
- a
- 操作
- 行动
- 加
- 调整
- 再次
- AI
- 目标
- 所有类型
- 还
- 惊人
- an
- 和
- 回答
- 保健
- AS
- 方面
- 方面
- 自动表
- BE
- 有利
- 最佳
- 最佳实践
- 黑色
- 炽烈
- 博客
- 都
- 破坏
- 虫子
- 建立
- 建筑物
- 内建的
- 但是
- by
- CAN
- 醒目
- 认证
- 更改
- 查
- 清洁
- 清洁器
- 码
- 代码库
- 编码
- 合作
- 结合
- 兼容性
- 全面
- 集中
- 配置
- 一贯
- 内容
- 内容创造
- 公约
- 创建信息图
- 创建
- 危急
- 策划
- 目前
- data
- 数据科学
- 数据科学家
- 学位
- 提供
- 设计
- 详情
- 开发
- do
- 借鉴
- 容易
- 易
- 编辑
- 编辑
- 消除
- 执行
- 强制执行
- 工程师
- 提高
- 愉快的
- 错误
- 故障
- 必要
- 现有
- 延期
- 扩展
- 非常
- 高效率
- 快
- 反馈
- 文件
- 档
- 最后
- 固定
- 固定
- 重点
- 聚焦
- 以下
- 针对
- 格式
- 格式
- 发现
- 止
- 功能
- GIF
- GitHub上
- 谷歌
- 图形
- 图神经网络
- 有
- he
- 帮助
- 他的
- 持有
- 钩
- 创新中心
- HTTPS
- ID
- 确定
- 疾病
- 改善
- in
- 结合
- 专题
- 安装
- 集成
- 集成
- 成
- 问题
- IT
- 它的
- 工作机会
- Jupyter笔记本
- 掘金队
- 学习
- 左
- 快如闪电
- 喜欢
- 圖書分館的位置
- 爱
- 机
- 机器学习
- 制成
- 维持
- 主要
- 使
- 制作
- 颠覆性技术
- 市场
- 主
- 心理
- 精神疾病
- 模型
- 现代
- 更多
- 此外
- 最先进的
- 必要
- 需求
- 网络
- 神经
- 神经网络
- 全新
- 笔记本
- 笔记本电脑
- 众多
- of
- 优惠精选
- on
- 开放源码
- 附加选项
- or
- 订单
- 我们的
- 输出
- 超过
- 己
- 大熊猫
- 平价
- 性能
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 插件
- 热门
- 做法
- 产品
- 所以专业
- 项目
- 项目
- 提供
- 推
- 蟒蛇
- 质量
- 快
- 其余
- 更换
- 知识库
- 要求
- 导致
- 健壮
- 定位、竞价/采购和分析/优化数字媒体采购,但算法只不过是解决问题的操作和规则。
- 运行
- 运行
- 锈
- s
- 同
- 保存
- 科学
- 科学家
- 搜索
- 保安
- 看到
- 集
- 套数
- 设置
- 显著
- 简易
- 只是
- 单
- 光滑
- So
- 速度
- 标准
- 标准
- 步骤
- 奋斗的
- 学生
- 工作室
- 样式
- SUPPORT
- 支持
- 团队
- 队
- 文案
- 技术
- 专业技术
- 电信
- test
- 比
- 这
- 博曼
- 他们
- 第三方
- Free Introduction
- 那些
- 通过
- 至
- 工具
- 工具
- 统一
- 无与伦比
- 上
- 可用性
- 使用
- 用过的
- 使用
- 运用
- 折扣值
- 版本
- 通过
- 愿景
- 视觉
- we
- 为
- 而
- WHO
- 为什么
- 将
- 也完全不需要
- 工作流程
- 写作
- 书面
- 您
- 您一站式解决方案
- 和风网