跳转到主要内容

difflib算法的快速实现

项目描述

CyDifflib

Continuous Integration PyPI package version Python versions
GitHub license

CyDifflib是difflib算法的快速实现,可以作为直接替换使用。

🚀 性能基准

以下基准测试比较了原始difflib实现、库cdifflib和CyDifflib的性能

Benchmark CyDifflib

⚙️ 安装

您可以使用pip从PyPI安装此库

pip install cydifflib

CyDifflib为所有常用平台提供二进制轮

源构建

对于源构建(例如来自SDist打包的),您只需要一个C++11兼容的编译器。如果您想的话,可以直接从GitHub安装。

pip install git+https://github.com/rapidfuzz/CyDifflib.git@main

📖 使用

该库可以像difflib一样使用。只需使用cydifflib模块代替difflib

# from difflib import SequenceMatcher
from cydifflib import SequenceMatcher

官方difflib文档解释了如何使用该库。如果您使用的是内部使用difflib某些算法的库,可以在导入此库之前替换实现。例如,对于thefuzz,可以按以下方式执行

from cydifflib import SequenceMatcher
import difflib

difflib.SequenceMatcher = SequenceMatcher
from thefuzz import fuzz

👍 贡献

欢迎PR!

  • 发现错误?以问题的形式报告。任何与difflib的行为差异都被视为错误。
  • 能使其更快?太好了!只需避免外部依赖,并记住外部行为不会改变。
  • 没有时间编码?告诉您的朋友和订阅者关于CyDifflib的事情。

谢谢:heart

⚠️ 许可协议

版权所有 2021-至今 Max BachmannCyDifflib 是一款免费且开源的软件,受 MIT 许可协议 许可。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装软件包 的信息。

源代码发行版

cydifflib-1.1.0.tar.gz (309.9 kB 查看哈希值)

上传时间 源代码

构建发行版

cydifflib-1.1.0-pp39-pypy39_pp73-win_amd64.whl (497.0 kB 查看哈希值)

上传时间 PyPy Windows x86-64

cydifflib-1.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (536.1 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ x86-64

cydifflib-1.1.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (525.9 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ ARM64

cydifflib-1.1.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (547.4 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cydifflib-1.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (516.7 kB 查看哈希值)

上传时间 PyPy macOS 10.9+ x86-64

cydifflib-1.1.0-pp38-pypy38_pp73-win_amd64.whl (497.8 kB 查看哈希值)

上传时间 PyPy Windows x86-64

cydifflib-1.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (538.3 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ x86-64

cydifflib-1.1.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (529.2 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ ARM64

cydifflib-1.1.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (550.8 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cydifflib-1.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (517.8 kB 查看哈希值)

上传时间 PyPy macOS 10.9+ x86-64

cydifflib-1.1.0-cp312-cp312-win_arm64.whl (476.3 kB 查看哈希值)

上传时间 CPython 3.12 Windows ARM64

cydifflib-1.1.0-cp312-cp312-win_amd64.whl (501.9 kB 查看哈希值)

上传时间 CPython 3.12 Windows x86-64

cydifflib-1.1.0-cp312-cp312-win32.whl (479.9 kB 查看哈希值)

上传时间 CPython 3.12 Windows x86

cydifflib-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.12 musllinux: musl 1.1+ x86-64

cydifflib-1.1.0-cp312-cp312-musllinux_1_1_s390x.whl (1.2 MB 查看哈希值)

上传时间 CPython 3.12 musllinux: musl 1.1+ s390x

cydifflib-1.1.0-cp312-cp312-musllinux_1_1_ppc64le.whl (1.2 MB 查看哈希值)

上传时间 CPython 3.12 musllinux: musl 1.1+ ppc64le

cydifflib-1.1.0-cp312-cp312-musllinux_1_1_i686.whl (1.2 MB 查看哈希值)

上传时间 CPython 3.12 musllinux: musl 1.1+ i686

cydifflib-1.1.0-cp312-cp312-musllinux_1_1_aarch64.whl (1.1 MB 查看哈希值)

上传时间: CPython 3.12 musllinux: musl 1.1+ ARM64

cydifflib-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (578.7 kB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.17+ x86-64

cydifflib-1.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (560.6 kB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.17+ s390x

cydifflib-1.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (592.0 kB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.17+ ppc64le

cydifflib-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (561.0 kB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.17+ ARM64

cydifflib-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (584.6 kB 查看哈希值)

上传时间: CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cydifflib-1.1.0-cp312-cp312-macosx_11_0_arm64.whl (530.4 kB 查看哈希值)

上传时间: CPython 3.12 macOS 11.0+ ARM64

cydifflib-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl (542.3 kB 查看哈希值)

上传时间: CPython 3.12 macOS 10.9+ x86-64

cydifflib-1.1.0-cp312-cp312-macosx_10_9_universal2.whl (749.2 kB 查看哈希值)

上传时间: CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64)

cydifflib-1.1.0-cp311-cp311-win_arm64.whl (475.6 kB 查看哈希值)

上传时间: CPython 3.11 Windows ARM64

cydifflib-1.1.0-cp311-cp311-win_amd64.whl (501.4 kB 查看哈希值)

上传时间 CPython 3.11 Windows x86-64

cydifflib-1.1.0-cp311-cp311-win32.whl (481.0 kB 查看哈希值)

上传时间 CPython 3.11 Windows x86

cydifflib-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.11 musllinux: musl 1.1+ x86-64

cydifflib-1.1.0-cp311-cp311-musllinux_1_1_s390x.whl (1.2 MB 查看哈希值)

上传时间 CPython 3.11 musllinux: musl 1.1+ s390x

cydifflib-1.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl (1.2 MB 查看哈希值)

上传时间 CPython 3.11 musllinux: musl 1.1+ ppc64le

cydifflib-1.1.0-cp311-cp311-musllinux_1_1_i686.whl (1.2 MB 查看哈希值)

上传时间 CPython 3.11 musllinux: musl 1.1+ i686

cydifflib-1.1.0-cp311-cp311-musllinux_1_1_aarch64.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.11 musllinux: musl 1.1+ ARM64

cydifflib-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (583.7 kB 查看哈希值)

上传时间 CPython 3.11 manylinux: glibc 2.17+ x86-64

cydifflib-1.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (567.1 kB 查看哈希值)

上传时间 CPython 3.11 manylinux: glibc 2.17+ s390x

cydifflib-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (604.2 kB 查看哈希值)

上传时间 CPython 3.11 manylinux: glibc 2.17+ ppc64le

cydifflib-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (571.0 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ARM64

cydifflib-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (591.8 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cydifflib-1.1.0-cp311-cp311-macosx_11_0_arm64.whl (528.1 kB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

cydifflib-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl (539.4 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ x86-64

cydifflib-1.1.0-cp311-cp311-macosx_10_9_universal2.whl (743.7 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

cydifflib-1.1.0-cp310-cp310-win_arm64.whl (475.0 kB 查看哈希值)

上传于 CPython 3.10 Windows ARM64

cydifflib-1.1.0-cp310-cp310-win_amd64.whl (500.0 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

cydifflib-1.1.0-cp310-cp310-win32.whl (481.6 kB 查看哈希值)

上传于 CPython 3.10 Windows x86

cydifflib-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ x86-64

cydifflib-1.1.0-cp310-cp310-musllinux_1_1_s390x.whl (1.2 MB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ s390x

cydifflib-1.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl (1.2 MB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ ppc64le

cydifflib-1.1.0-cp310-cp310-musllinux_1_1_i686.whl (1.2 MB 查看哈希值)

上传时间: CPython 3.10 musllinux: musl 1.1+ i686

cydifflib-1.1.0-cp310-cp310-musllinux_1_1_aarch64.whl (1.1 MB 查看哈希值)

上传时间: CPython 3.10 musllinux: musl 1.1+ ARM64

cydifflib-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (584.7 kB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ x86-64

cydifflib-1.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (567.9 kB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ s390x

cydifflib-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (604.4 kB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ ppc64le

cydifflib-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (570.6 kB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ ARM64

cydifflib-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (593.9 kB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cydifflib-1.1.0-cp310-cp310-macosx_11_0_arm64.whl (527.7 kB 查看哈希值)

上传时间: CPython 3.10 macOS 11.0+ ARM64

cydifflib-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl (539.5 kB 查看哈希值)

上传时间: CPython 3.10 macOS 10.9+ x86-64

cydifflib-1.1.0-cp310-cp310-macosx_10_9_universal2.whl (743.4 kB 查看哈希值)

上传于 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

cydifflib-1.1.0-cp39-cp39-win_arm64.whl (474.7 kB 查看哈希值)

上传于 CPython 3.9 Windows ARM64

cydifflib-1.1.0-cp39-cp39-win_amd64.whl (500.1 kB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

cydifflib-1.1.0-cp39-cp39-win32.whl (481.1 kB 查看哈希值)

上传于 CPython 3.9 Windows x86

cydifflib-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.1+ x86-64

cydifflib-1.1.0-cp39-cp39-musllinux_1_1_s390x.whl (1.2 MB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.1+ s390x

cydifflib-1.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl (1.2 MB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.1+ ppc64le

cydifflib-1.1.0-cp39-cp39-musllinux_1_1_i686.whl (1.2 MB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.1+ i686

cydifflib-1.1.0-cp39-cp39-musllinux_1_1_aarch64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.1+ ARM64

cydifflib-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (584.6 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

cydifflib-1.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (567.8 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ s390x

cydifflib-1.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (603.0 kB 查看哈希值)

上传时间 CPython 3.9 manylinux: glibc 2.17+ ppc64le

cydifflib-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (570.1 kB 查看哈希值)

上传时间 CPython 3.9 manylinux: glibc 2.17+ ARM64

cydifflib-1.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (593.3 kB 查看哈希值)

上传时间 CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cydifflib-1.1.0-cp39-cp39-macosx_11_0_arm64.whl (528.4 kB 查看哈希值)

上传时间 CPython 3.9 macOS 11.0+ ARM64

cydifflib-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl (540.0 kB 查看哈希值)

上传时间 CPython 3.9 macOS 10.9+ x86-64

cydifflib-1.1.0-cp39-cp39-macosx_10_9_universal2.whl (744.8 kB 查看哈希值)

上传时间 CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

cydifflib-1.1.0-cp38-cp38-win_amd64.whl (501.0 kB 查看哈希值)

上传时间 CPython 3.8 Windows x86-64

cydifflib-1.1.0-cp38-cp38-win32.whl (479.5 kB 查看哈希值)

上传时间 CPython 3.8 Windows x86

cydifflib-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.8 musllinux: musl 1.1+ x86-64

cydifflib-1.1.0-cp38-cp38-musllinux_1_1_s390x.whl (1.2 MB 查看哈希值)

上传时间 CPython 3.8 musllinux: musl 1.1+ s390x

cydifflib-1.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl (1.2 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ ppc64le

cydifflib-1.1.0-cp38-cp38-musllinux_1_1_i686.whl (1.2 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ i686

cydifflib-1.1.0-cp38-cp38-musllinux_1_1_aarch64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ ARM64

cydifflib-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (586.9 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

cydifflib-1.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (569.5 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ s390x

cydifflib-1.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (603.9 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ ppc64le

cydifflib-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (571.8 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ ARM64

cydifflib-1.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (594.2 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cydifflib-1.1.0-cp38-cp38-macosx_11_0_arm64.whl (527.6 kB 查看哈希值)

上传于 CPython 3.8 macOS 11.0+ ARM64

cydifflib-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl (539.2 kB 查看哈希值)

上传于 CPython 3.8 macOS 10.9+ x86-64

cydifflib-1.1.0-cp38-cp38-macosx_10_9_universal2.whl (743.1 kB 查看哈希值)

上传于 CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

支持