Metadata-Version: 2.4
Name: cfskit
Version: 0.1.2
Summary: Common research utilities for our NUIST-GenAI-Lab and CCGM tasks
Author-email: CFuShn <1354809038@qq.com>
License: MIT
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: loguru<1,>=0.6.0
Requires-Dist: accelerate<1,>=0.23.0; python_version < "3.10"
Requires-Dist: accelerate<2,>=1.0.0; python_version >= "3.10"
Requires-Dist: tensorboard<2.20,>=2.12.0; python_version < "3.9"
Requires-Dist: tensorboard<3,>=2.20.0; python_version >= "3.9"
Provides-Extra: torch
Requires-Dist: torch<3,>=2.0.0; extra == "torch"
Provides-Extra: tb
Requires-Dist: torch<3,>=2.0.0; extra == "tb"
Provides-Extra: tb-vision
Requires-Dist: torchvision<1,>=0.15.0; extra == "tb-vision"
Provides-Extra: dev
Requires-Dist: pytest<9,>=8.0.0; extra == "dev"
Dynamic: license-file

# cfskit

cfskit 是一个科研学术项目脚手架, 初版专注于3个功能点: 日志、实验可视化写入、进程信号控制, 并提供可运行的代码模板:

- [nlab-lite-template](examples/nlab-lite-template/): 轻量快速实验模板，保留 2-5 分钟快测闭环。
- [nlab-template](examples/nlab-template/): 论文生命周期模板，面向调研、文档、agent 协作和 OpenClaw 托管实验。

配合这个统一的模板, 可以让所有论文代码复现、二次开发、新建项目在一开始就完成非逻辑性的结构改造，统一成规范标准、结构清晰的实验工程形态。

| 工具 | 模块 | 说明 |
|------|------|------|
| Logger | `cfskit.log_util` | 基于 loguru 的统一日志，tqdm 兼容，单次初始化 |
| Writer | `cfskit.tb_util` | 基于 TensorBoard 的实验可视化写入，多进程自动适配 |
| IPC | `cfskit.ipc_util` | 基于 SIGUSR1/SIGUSR2 的进程间信号量，支持优雅控制训练流程 |

### 基础 API

```python
from cfskit import logger, setup_logger, setup_tensorboard, tb

setup_logger("output/demo/logs", name="nlab")
setup_tensorboard("output/demo/runs", name="nlab")

logger.info("experiment started")
tb.scalar("Loss/train", 0.1, step=1)
```

### 安装

```bash
pip install cfskit
```
