Metadata-Version: 2.4
Name: mcapfixindex
Version: 0.1.0
Summary: Rebuild missing MessageIndex / Summary / ChunkIndex for local MCAP files
Author: mcapfixindex
License-Expression: MIT
Keywords: mcap,robotics,index,message-index,chunk-index
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mcap>=1.1.1
Requires-Dist: zstandard>=0.21.0
Provides-Extra: lz4
Requires-Dist: lz4>=4.0.0; extra == "lz4"
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: build>=1.0; extra == "dev"
Requires-Dist: twine>=5.0; extra == "dev"
Requires-Dist: lz4>=4.0.0; extra == "dev"
Dynamic: license-file

# mcapfixindex

为缺少 MessageIndex 的本地 MCAP 文件补全索引（同时重建 Summary / ChunkIndex），生成新的 MCAP。消息内容不变。

## 安装

```bash
pip install mcapfixindex
```

环境要求：Python 3.10+，macOS / Linux / Windows。

## 快速开始

**检查索引：**

```bash
mcapfixindex inspect --input /path/to/bag.mcap
```

**补全单个文件：**

```bash
mcapfixindex fix --input /path/to/bag.mcap --output /path/to/fixed.mcap
```

**批量处理目录：**

```bash
mcapfixindex fix --input /path/to/mcap_dir --output ./output
```

## 常用参数

| 参数 | 默认值 | 说明 |
|---|---|---|
| `--input` | 必填 | `.mcap` 文件路径，或包含多个 `.mcap` 的目录 |
| `--output` | `<stem>_indexed.mcap` | 输出文件或目录 |
| `--compression` | `preserve` | chunk 压缩：`preserve` / `zstd` / `lz4` / `none` |
| `--force` | 关闭 | 即使已有 MessageIndex 也强制重写 |

## 说明

- 典型输入：已有 Summary / ChunkIndex，但 `ChunkIndex.message_index_offsets` 为空
- 输出为新文件，不原地覆盖
- 消息 payload、schema、channel、attachment、metadata 保持不变
