semvec/pypi-packages huggingface dataset:
glean-parser 18.2.0
Parser tools for Mozilla's Glean telemetry
Requires Python: >=3.9

# Glean Parser

Parser tools for Mozilla's Glean telemetry.

## Features

Contains various utilities for handling `metrics.yaml` and `pings.yaml` for [the
Glean SDKs](https://mozilla.github.io/glean). This includes producing generated
code for various integrations, linting and coverage testing.

## Documentation

- [How to Contribute](https://github.com/mozilla/glean_parser/blob/main/CONTRIBUTING.md). Please file bugs in [bugzilla](https://bugzilla.mozilla.org/enter_bug.cgi?assigned_to=nobody%40mozilla.org&bug_ignored=0&bug_severity=normal&bug_status=NEW&cf_fission_milestone=---&cf_fx_iteration=---&cf_fx_points=---&cf_status_firefox65=---&cf_status_firefox66=---&cf_status_firefox67=---&cf_status_firefox_esr60=---&cf_status_thunderbird_esr60=---&cf_tracking_firefox65=---&cf_tracking_firefox66=---&cf_tracking_firefox67=---&cf_tracking_firefox_esr60=---&cf_tracking_firefox_relnote=---&cf_tracking_thunderbird_esr60=---&product=Data%20Platform%20and%20Tools&component=Glean%3A%20SDK&contenttypemethod=list&contenttypeselection=text%2Fplain&defined_groups=1&flag_type-203=X&flag_type-37=X&flag_type-41=X&flag_type-607=X&flag_type-721=X&flag_type-737=X&flag_type-787=X&flag_type-799=X&flag_type-800=X&flag_type-803=X&flag_type-835=X&flag_type-846=X&flag_type-855=X&flag_type-864=X&flag_type-916=X&flag_type-929=X&flag_type-930=X&flag_type-935=X&flag_type-936=X&flag_type-937=X&form_name=enter_bug&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=Unspecified&priority=P3&&rep_platform=Unspecified&status_whiteboard=%5Btelemetry%3Aglean-rs%3Am%3F%5D&target_milestone=---&version=unspecified).
- [User documentation for Glean](https://mozilla.github.io/glean/).
- [`glean_parser` developer documentation](https://mozilla.github.io/glean_parser/).

## Requirements

- Python 3.9 (or later)

## Usage

```sh
$ glean_parser --help
```

Read in `metrics.yaml`, translate to Kotlin format, and
output to `output_dir`:

```sh
$ glean_parser translate -o output_dir -f kotlin metrics.yaml
```

Check a Glean ping against the ping schema:

```sh
$ glean_parser check < ping.json
```
recallia 0.0.2
Add your description here
Requires Python: >=3.12

## recallia

Minimal voice-to-notes pipeline with FunASR + Ollama.

### Quickstart (Docker)
1) Requirements: Docker & docker-compose; NVIDIA GPU + container toolkit recommended; Ollama (runs as a service in compose).
2) (Optional) Reuse host Ollama models: set `HOST_OLLAMA_MODELS=/path/to/host/.ollama` before `docker compose up`.
3) Build & run:
   ```bash
   docker compose up --build
   ```
4) Drop audio files (`.mp3/.wav/.m4a/.aac`) into `data/inbox/`. Outputs land in `data/archive/YYYY-MM-DD/<hash>/`.

### Flow
- ASR via FunASR (GPU if available).
- Summaries/tags + per-sentence emotions via Ollama.
- Artifacts per file: original audio, `transcript.jsonl`, `llm_summary.json`, `llm_emotion.json`, `run.log`.
- Metadata in SQLite `data/db.sqlite3`.

### Config
- `docker-compose.yaml`: `OLLAMA_HOST` (defaults to `http://ollama:11434`), GPU flags, caches (`./cache`, `./modelscope`, optional `HOST_OLLAMA_MODELS`).
- `recallia/config.py`: ASR device, LLM model, base paths.

### Local (no Docker)
```bash
uv sync
python -m recallia
```
Ensure Ollama reachable at `OLLAMA_HOST`.

### Demo data
Use `examples/generate_demo_data.py` to produce sample audio/text for testing.

### Example archive (real output)
`data/archive/2025-12-15/7daf3d771c04/`
```
- 02_emergency_call.mp3
- transcript.jsonl
- llm_summary.json
- llm_emotion.json
- run.log
```
- `run.log` key fields:
  - summary: 技术人员发现API网关出现502错误，原因是数据库连接延迟导致CPU负载过高和慢查询问题。决定手动添加索引并切换流量以缓解当前状况。
  - tags: api网关, 数据库连接, 索引
  - duration_sec: 7.064
- `llm_summary.json` snippet:
```json
{
  "response": {
    "summary": "技术人员发现API网关出现502错误，原因是数据库连接延迟导致CPU负载过高和慢查询问题。决定手动添加索引并切换流量以缓解当前状况。",
    "tags": "api网关, 数据库连接, 索引"
  }
}
```
- `transcript.jsonl` starts with full text, then per-segment entries. Excerpt:
```json
{"type": "full_text", "text": "Speaker 0: 喂，老张听得到吗？出大问题了， api 网关全是五百零二报错。\nSpeaker 2: 听到了，我刚看监控，数据库连接迟爆了， cpu 直接飙到百分之一百，\n..."}
{"type": "segment", "speaker": "Speaker 0", "text": "喂，", "start_time": 290, "end_time": 530, "emotion": "neutral"}
{"type": "segment", "speaker": "Speaker 2", "text": "数据库连接迟爆了，", "start_time": 10860, "end_time": 12400, "emotion": "neutral"}
```