跳转到主要内容

为Python提供快速且内存高效的DAWG(DAFSA)

项目描述

DAWG

https://travis-ci.org/pytries/DAWG.png?branch=master

本包为Python(2.x和3.x)提供基于DAWG(DAFSA)的字典样式的只读对象。

DAWG中的字符串数据可能比标准Python字典少占用200倍内存,并且原始查找速度相当;它还提供了快速的高级方法,如前缀搜索。

许可

包装代码采用MIT许可证。捆绑的dawgdic C++库采用BSD许可证。捆绑的libb64是公共领域。

变更

0.8.0 (2020-02-19)

  • 添加了对Python 3.8的支持

  • 删除了对Python 3.2、3.3和3.4的支持

  • 使用Cython 0.29.15重新构建了扩展

0.7.8 (2015-04-18)

  • 添加了额外的类型注解,使代码运行更快;

  • 删除了bitbucket上的mercurial镜像;

  • 使用Cython 0.22重新构建了包装器。

0.7.7 (2014-11-19)

  • DAWG.b_prefixes 方法用于避免utf8编码/解码(感谢Ikuya Yamada);

  • 使用Cython 0.21.1重新构建了包装器。

0.7.6 (2014-08-10)

  • 使用Cython 0.20.2重新构建了包装器以修复一些问题。

0.7.5 (2014-06-05)

  • 切换到setuptools;

  • 上传了一些轮子到PyPI。

0.7.4 (2014-05-29)

  • 修复了DAWG构建中的错误:输入应按其二进制表示进行排序。

0.7.3 (2014-05-29)

  • 包装程序使用Cython 0.21dev重建;

  • 验证了Python 3.4兼容性。

0.7.2 (2013-10-03)

0.7.1 (2013-05-25)

  • 扩展程序使用Cython 0.19.1重建;

  • 修复了从错误加载的DAWG中查找时发生的段错误(感谢Alex Moiseenko)。

0.7 (2013-04-05)

  • IntCompletionDAWG

0.6.1 (2013-03-23)

  • 修复了LC_ALL=C环境中的安装问题;

  • PyPy不再官方支持(使用DAWG-Python与PyPy)。

0.6 (2013-03-22)

  • 修复了许多线程安全错误(但牺牲了库的运行速度)。

0.5.5 (2013-02-19)

  • 修复了PyPy下的安装(注意:在PyPy下DAWG运行较慢,可能存在错误)。

0.5.4 (2013-02-14)

  • 对文档字符串进行了一些小调整;

  • 使用Cython 0.18重新构建了扩展程序。

0.5.3 (2013-01-03)

  • .compile_replaces方法进行了小的改进;

  • .similar_items方法进行了基准测试;

  • 使用Cython pre-0.18重新构建了扩展程序;这使得.prefixes.iterprefixes方法运行更快(在某些情况下可达6倍)。

0.5.2 (2013-01-02)

  • 测试被包含在源分发中;

  • 由于我损坏的(慢速的)Python 3.2安装,README中的基准测试结果不具有代表性;

  • 在Python 3.x和LC_ALL=C下修复了安装(感谢Jakub Wilk)。

0.5.1 (2012-10-11)

  • 在构建DAWG时提供了更好的错误报告;

  • 对于零字节的键,修复了__contains__

  • 创建了dawg.Error异常类;

  • 如果某些键包含不支持的字符,则构建BytesDAWGRecordDAWG失败,而不是产生错误的结果。

0.5 (2012-10-08)

本版本中,为了提供项目的字母顺序,改变了BytesDAWGRecordDAWG的存储方案。

这是一个不兼容的版本。为了读取使用DAWG先前版本创建的BytesDAWGRecordDAWG,请使用构造函数参数payload_separator

>>> BytesDAWG(payload_separator=b'\xff').load('old.dawg')

0.4.1 (2012-10-01)

  • 通过更新dawgdic到最新的svn,修复了空DAWG的段错误。

0.4 (2012-09-26)

  • iterkeysiteritemsiterprefixes方法(感谢Dan Blanchard)。

0.3.2 (2012-09-24)

  • 用于查找给定键所有前缀的prefixes方法。

0.3.1 (2012-09-20)

  • 捆绑的dawgdic C++库更新到最新版本。

0.3 (2012-09-13)

  • 提供了更宽松的查找方法的similar_keyssimilar_itemssimilar_item_values方法(例如,它们可能用于处理元音符号);

  • load方法返回self;

  • 支持Python 3.3。

0.2 (2012-09-08)

使用load方法加载的DAWG的内存使用量得到显著提高。

由于包装器中存在某个地方的错误,使用read()方法或反序列化的DAWG使用的内存比使用load()方法加载的DAWG多3-4倍。本版本中已修复load(),但其他方法尚未修复。

0.1 (2012-09-08)

首次发布。

项目详情


下载文件

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

源分发

DAWG-0.8.0.tar.gz (371.1 kB 查看哈希值)

上传时间

构建分发

DAWG-0.8.0-cp38-cp38-macosx_10_14_x86_64.whl (176.2 kB 查看哈希值)

上传时间 CPython 3.8 macOS 10.14+ x86-64

DAWG-0.8.0-cp37-cp37m-macosx_10_14_x86_64.whl (174.0 kB 查看哈希值)

上传时间 CPython 3.7m macOS 10.14+ x86-64

DAWG-0.8.0-cp36-cp36m-macosx_10_14_x86_64.whl (177.8 kB 查看哈希值)

上传时间 CPython 3.6m macOS 10.14+ x86-64

DAWG-0.8.0-cp35-cp35m-macosx_10_14_x86_64.whl (169.2 kB 查看哈希值)

上传时间 CPython 3.5m macOS 10.14+ x86-64

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面