Metadata-Version: 2.4
Name: pycorelibs
Version: 0.2.2
Summary: A collection of reusable python core library from AI Lingues.
Author-email: AI Lingues <support@ailingues.com>
License: MIT
Keywords: AILingues,components,core,library
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: aiohappyeyeballs~=2.6.1
Requires-Dist: aiohttp~=3.12.15
Requires-Dist: aiosignal~=1.4.0
Requires-Dist: annotated-types~=0.7.0
Requires-Dist: async-timeout~=5.0.1
Requires-Dist: attrs~=25.3.0
Requires-Dist: backports.tarfile~=1.2.0
Requires-Dist: beautifulsoup4~=4.13.4
Requires-Dist: build~=1.3.0
Requires-Dist: certifi~=2025.8.3
Requires-Dist: charset-normalizer~=3.4.2
Requires-Dist: click~=8.2.1
Requires-Dist: colorama~=0.4.6
Requires-Dist: cssselect~=1.3.0
Requires-Dist: Cython~=3.1.2
Requires-Dist: ddgs~=9.5.2
Requires-Dist: docutils~=0.22
Requires-Dist: feedfinder2~=0.0.4
Requires-Dist: feedparser~=6.0.11
Requires-Dist: filelock~=3.18.0
Requires-Dist: frozenlist~=1.7.0
Requires-Dist: html2text~=2025.4.15
Requires-Dist: id~=1.5.0
Requires-Dist: idna~=3.10
Requires-Dist: importlib_metadata~=8.7.0
Requires-Dist: jaraco.classes~=3.4.0
Requires-Dist: jaraco.context~=6.0.1
Requires-Dist: jaraco.functools~=4.2.1
Requires-Dist: jieba3k~=0.35.1
Requires-Dist: joblib~=1.5.1
Requires-Dist: keyring~=25.6.0
Requires-Dist: lxml~=6.0.0
Requires-Dist: lxml_html_clean~=0.4.2
Requires-Dist: markdown-it-py~=3.0.0
Requires-Dist: mdurl~=0.1.2
Requires-Dist: more-itertools~=10.7.0
Requires-Dist: multidict~=6.6.3
Requires-Dist: newspaper3k~=0.2.8
Requires-Dist: nh3~=0.3.0
Requires-Dist: nltk~=3.9.1
Requires-Dist: packaging~=25.0
Requires-Dist: pillow~=11.3.0
Requires-Dist: primp~=0.15.0
Requires-Dist: propcache~=0.3.2
Requires-Dist: psutil~=7.0.0
Requires-Dist: py-cpuinfo~=9.0.0
Requires-Dist: pydantic~=2.11.7
Requires-Dist: pydantic_core~=2.33.2
Requires-Dist: Pygments~=2.19.2
Requires-Dist: pyproject_hooks~=1.2.0
Requires-Dist: python-dateutil~=2.9.0.post0
Requires-Dist: pywin32-ctypes~=0.2.3
Requires-Dist: PyYAML~=6.0.2
Requires-Dist: readme_renderer~=44.0
Requires-Dist: redis~=6.3.0
Requires-Dist: regex~=2025.7.34
Requires-Dist: requests~=2.32.4
Requires-Dist: requests-file~=2.1.0
Requires-Dist: requests-toolbelt~=1.0.0
Requires-Dist: rfc3986~=2.0.0
Requires-Dist: rich~=14.1.0
Requires-Dist: sgmllib3k~=1.0.0
Requires-Dist: six~=1.17.0
Requires-Dist: soupsieve~=2.7
Requires-Dist: tinysegmenter~=0.3
Requires-Dist: tldextract~=5.3.0
Requires-Dist: tqdm~=4.67.1
Requires-Dist: twine~=6.1.0
Requires-Dist: typing-inspection~=0.4.1
Requires-Dist: typing_extensions~=4.14.1
Requires-Dist: urllib3~=2.5.0
Requires-Dist: yarl~=1.20.1
Requires-Dist: zipp~=3.23.0

# PyCoreLibs

AI Lingues 基础组件库- PyCoreLibs

## Message

消息库，基于redis的异步消息框架

参考:redis/README.md

## Network

### search 搜索引擎

互联网搜索引擎

### requests 请求

- fetch_url 强化版通用网络请求函数，增加了重试机制,并适用于复杂场景。

- is_url 验证是否为合法url

### scrawer 网页文本获取

- HTMLContent 提取网页内容

## system 信息

### SystemInfo

获取当前系统信息

- OS 操作系统
- CPU
- Macs 网卡
- MB 主板

### RunTimeInfo 运行期信息

- get_boot_time 获取系统启动时间和系统已运行时长

    跨平台细节：

        Linux：boot_time 基本来自 btime（自启动以来的挂钟差，包含睡眠/休眠的停留时间）。

        Windows：psutil 内部通常用系统 tick 估算，一般不包含睡眠时间（更接近“活跃运行时长”）。
      
- get_uptime 获取自 start_mono（monotonic 起点）至今的运行时长（不受系统时钟跳变影响，如被 NTP/手动调整，或夏令时切换）

## Utils

### files文件处理

- EnumFileSizeUnit

- FilesInfo 类

  - get_file_size
    获取文件大小，并返回指定单位的大小。

        支持B,KB,MB,GB,TB

  - line_count

        获取指定文件的总行数

        Windows系统: 使用换行符作为判断标记
        Linux系统: 使用系统自带的wc命令统计

        注: 近适用于文本类型文件,其他类型如二进制文件统计结果不具备参考意义

  - get_directory_last_modified_time
  获取指定目录最后修改时间

  - get_directory_last_modified_timestamp
  获取指定目录最后修改时间戳

### formate 数据格式化指定类型

Formates 类，静态方法如下：

- fInt 转换为整数
- fFloat 转换为浮点数
- fBool 转换为布尔值
- fDate 按指定格式解析日期
- fEnum 校验值是否在允许集合内（用于枚举字段）
- fJSON 解析为 JSON 对象

### logger日志

- 支持自动产生日志
- 支持同时向控制台和日志文件输出
- 支持进度条
- 支持info、warning和error三个级别的日志

### strings 字符串处理

UniCodeGenerator
创建随机码，日期前缀 + 随机码

    可配置、使用 secrets 生成高强度随机码的编码生成类
    | 场景            | 参数示例                                        |
    | ----------------| ---------------------------------------------- |
    | 邀请码（短）     | `prefix_date=False, random_length=6`           |
    | 订单号（当天唯一）| `prefix_date=True, random_length=4`            |
    | URL 安全短码     | `charset=string.ascii_letters + string.digits` |
    
