semvec/pypi-packages huggingface dataset:
pre-process-chain 0.1.4
包含一种链式预处理设计模式（以更低的时间成本解决同时需要多种预处理方式的场景）、以及实现了一些文本预处理方法的包
License: MIT

============
文本预处理
============
该包包含一种链式预处理设计模式

当实际需求中需要多种预处理操作，并且每个预处理之间有相互交叉、并且预处理的顺序也会影响结果，如考虑如下情况：

若需求需要同时依赖以下三种预处理方式

    "文本清洗->段落分割->中文转数字",

    "文本清洗->段落分割",

    "段落分割->文本清洗"

称每一个预处理流程为一条“预处理链”

手动维护多个预处理链较为麻烦，并且当每条预处理链中有可复用部分时，若要复用则又会使得代码较为耦合，并且当后续预处理链上有更改时维护也很麻烦

因此，设计这样一个类，只要告诉类有哪些预处理方法，和每条预处理链的预处理方法调用顺序，让该类自动维护并装配得到所需的结果

**该类会保存每一个预处理子步骤的副本，实际上维护了一个预处理文本树，当可复用时不会重复计算。因此，时间效率上更快，但是会占用更大内存空间（因为每一步都会保存）**

有需求的话可以在目前的基础上，自行实现对内存空间的优化

另外该包实现了一些文本预处理方法，如：

“去除HTML标签”、“文本过滤（去除生僻字、大写转小写、全角转半角、特殊 / 繁体数字转普通数字）”、“识别文本中表示分割的标点符号”、“中文数字转阿拉伯数字”

由于目前主要是自用的，只能保证满足我自己的业务场景，所以请您使用前测试一下是否满足您的需求情况

============
1.如何安装
============

::

    pip install pre_process_chain

========================
2.该包主要包含的类
========================
------------------------
PreProcessChain
------------------------
文本预处理链，告诉该类有哪些预处理方法，并且每一个预处理链的预处理方法调用顺序，即可自动维护和生成预处理结果，后续更改时也很方便。
时间性能更高，占用更多的内存空间。

使用方法：
::

    # 初始化实例，声明有哪些预处理方法及这些方法的别名
    pre_process_chain = PreProcessChain({
        "purify": TextProcess.purify,
        "numerate": TextProcess.numerate_chinese_digit,
        "separate": lambda x: TextProcess.scan_separator(x, " ", "|")
    })

    # 对某段文本指定某些预处理方法，若是多个预处理方法串行执行时用"-"连接
    result = pre_process_chain.generate(text, ["purify-numerate", "purify-separate"])

    # 获取某种方法的预处理结果
    result.get("purify")  # 获取预处理链"purify"的结果
    result.get("purify-numerate")  # 获取预处理链"purify-numerate"的结果

------------------------
TextProcess
------------------------
实现了一些文本预处理方法，具体请看代码注释

::

    TextProcess.remove_html_tag()  # 去除HTML标签
    TextProcess.purify()  # 文本过滤（去除生僻字、大写转小写、全角转半角、特殊 / 繁体数字转普通数字）
    TextProcess.numerate_chinese_digit()  # 将中文数字转为阿拉伯数字
    TextProcess.scan_separator()  # 扫描文本中的分隔符标点符号
disnake-pagination 2.1
A simple Embed Paginator for your projects made with disnake.
License: MIT

# Disnake Paginator
A simple Embed Paginator developed for projects made with [disnake](ttps://github.com/DisnakeDev/disnake), a fork of [discord.py](https://github.com/Rapptz/discord.py).

![pagination](https://github.com/DorianAarno/Paginator/assets/88921711/834c30be-0056-4d1c-bc38-dce5dc51e440)

# Installation
You can use [pip](https://pip.pypa.io/en/stable/) to install this library.
```
pip install disnake-pagination
```

# Usage
### Guide
```py
from Paginator import CreatePaginator
from disnake import Embed

embeds = [
  Embed(description="First Embed"),
  Embed(description="Second Embed"),
  Embed(description="Third Embed"),
  Embed(description="Fourth Embed")
]
timeout = 120.0 # Optional
author_id = ctx.author.id # Optional, If not specified, anyone can interact with pagination buttons.

await ctx.send(embed=embeds[0], view=CreatePaginator(embeds, author_id, timeout))
```

### Example
You may view implementation of this library in [PointsBot](https://github.com/DorianAarno/PointsBot).

# Contributing
* Pull requests and issues are welcome.
* Consider giving this repository a ⭐, It is highly appreciated!

# License
This repository has been made available via [MIT](https://github.com/DorianAarno/Paginator/blob/main/LICENSE) License.