@sidereus/cube-compress
v0.1.2
Published
Compress .cube to .cubexs and decompress .cubexs to .cube files (Python + TypeScript)
Readme
@sidereus/cube-compress
A small Python module for compressing and decompressing .cube files. This repo also includes a frontend TypeScript version with the same format.
Install
npm install @sidereus/cube-compress(前端用到的 fflate 会随包自动安装。)
Usage (Python)
from cube_compress import compress, decompress
compress("input.cube", "output.cubexs")
decompress("output.cubexs", "output.cube")Usage (前端 TypeScript)
import { compress, decompress } from './cubeCompress';
// 压缩:输入 cube 文件字符串,输出字节数组
const cubeString = '...'; // 完整 .cube 文件内容
const bytes: Uint8Array = compress(cubeString);
// 解压:输入字节数组(.cubexs 或 compress 的输出),输出 cube 文件字符串
const restored: string = decompress(bytes);- compress(cubeString: string): Uint8Array — 输入为 cube 文件字符串,输出为字节数组(与 Python 写出的 .cubexs 格式一致)。
- decompress(bytes: Uint8Array): string — 输入为字节数组,输出为 cube 文件字符串。
依赖:fflate(gzip 压缩/解压,自带 TypeScript 类型)。
Notes
- This is a Python script distributed via npm for convenience.
- You need Python and NumPy available in your environment.
- Compression is lossy (float32 -> 24-bit) and output formatting may differ from the original.
compress()always writes.cubexsanddecompress()always writes.cube.
