semvec/pypi-packages huggingface dataset:
MoxQtRadar 0.0.2
MoxQtRadar - Python tools

# MoxQtRadar

MoxQtRadar is a library for Qt UniRadar tool

## 📌 Features
- **Bring Up Checker** 
- **CW Mode** 
- **Data Analyzer**: Off-Line Tools 
- **Distance Angle Chart** 
- **ASMT Distance Angle Chart** 
- **Main Window** 
- **Motion LED** 
- **Position 2D Chart** 
- **System Log** 
- **qt_threading** : thread control tools for all GUI
- **workers_base** : workers for GUI arch.  
  

## 🛠️ Supported Tools
- `UniRadar`: Universal Radar GUI (UART interface)

## 📦 Installation
```bash
pip install MoxQtRadar
pip install --upgrade MoxQtRadar
pip install MoxQtRadar==0.0.1rc4
```
https://pypi.org/project/MoxQtRadar/
## 🚀 Usage
```python
    from . import qt_threading, workers_base
    from .bringUp_check import BringUpChecker
    from .cwMode import CwMode
    from .dataAnalyzer import DataAnalyzer
    from .distAngle import DistAngle
    from .distAngleAsmt import DistAngleAsmt
    from .motionLED import MotionLED
    from .position2D import Position2D
    from .rxOnly import RxOnly
    from .sysLogLevel import SysLogLevel
    from .qt_threading import start_worker
    from .workers_base import StepsWorker

```

## 📜 version

🧪 0.0.2    add sample path as default path of dataAnalyzer
🧪 0.0.1    1st version
heartale 0.0.2
听书

# 摸鱼听书

> 写程序很多时候是重复工作，听音乐没细胞，那就听听书洗洗脑子吧

## 原因

> [阅读 app](https://github.com/gedoor/legado) 听书很方便，但是我喜欢带着电脑上的头戴式耳机，所以想在电脑上听书

- 需要结合 [阅读 app](https://github.com/gedoor/legado)
- 可以免费用 `微软晓晓听书`
- 阅读进度与手机同步

> 👍 现在也支持阅读本地 txt 文件，并自动记录阅读进度，中断以后继续朗读而不重头开始

## 使用方法

如果你在使用 `python3` 下面的很容易

### 环境配置

> 只需配置一次

1. [这里](https://github.com/yuhldr/heartale/releases/tag/beta)下载并安装 `heartale*.whl`

   非 linux 系统可能需要设置播放程序，安装ffmpeg即可，看最后详细说明

2. 测试是否修改成功

   终端输入

   ```bash
   echo "配置成功！" > /tmp/test.txt && heartale
   ```

   如果听到 "test，配置成功"，说明没问题

### 朗读类型

默认 `txt`，设置中

```json
"server": {
    "key": "txt",
...
}
```

#### 本地 txt 文件

修改本地配置 `~/.config/bpy/config.json`，其中的

```json
"txt":{
    "path_file": "/tmp/test.txt"
}
```

中的 `/tmp/test.txt` 改为 你的书籍文件所在路径

#### 阅读 app

1. 打开 `阅读app` 的 web 服务

   手机与电脑同一个`局域网`，然后打开 [阅读 app](https://github.com/gedoor/legado)，设置中点开 `Web服务`，注意那个 ip 地址（`:` 后面是端口）

2. 修改本地配置文件 `~/.config/bpy/config.json`

   其中

   ```json
   "ip": "192.168.1.6",
   "port": "1122"
   ```

   里面的 `192.168.1.6` 改成刚才你看到的 `ip`，端口 `1122` 一般不用改

3. 修改如下内容中的 `txt` 为 `legado`

   ```json
   "server": {
       "key": "txt",
   ...
   }
   ```

### 运行

终端运行

```bash
heartale
```

### 其他配置

配置文件路径

```bash
~/.config/bpy/config.json
```

完整配置文件，如果修改错误，可以这里找到原始文件，还原

```json
{
  "version": 1,
  "server": {
    "key": "txt",
    "legado": {
      "ip": "192.168.1.6",
      "port": "1122"
    },
    "txt": {
      "path_file": "/tmp/test.txt"
    }
  },
  "tts": {
    "play": {
      "code": ["paplay"]
    },
    "download": {
      "key": "edge",
      "edge": {
        "voice": "zh-CN-XiaoxiaoNeural",
        "rate": "+30%"
      },
      "azure": {
        "key": "",
        "region": "japanwest",
        "language": "zh-CN",
        "voice": "zh-CN-XiaoxiaoNeural",
        "rate": "+30%"
      }
    }
  }
}
```

### 音频播放程序

默认针对 linux，使用 `paplay`，资源消耗极小

```json
"tts": {
    "play": {
        "code": [
            "paplay"
        ]
    },
...
}
```

可以用 ffmpeg

```json
"tts": {
    "play": {
        "code": ["ffplay", "-nodisp", "-autoexit", "-loglevel", "quiet"]
    },
    ...
}
```

也可以用 `mpv`

```json

"tts": {
    "play": {
        "code": ["mpv"]
    },
    ...
}
```

#### TTS 转语音

- tts-edge

  > 免费，不用设置密钥，但是音色少

  ```py
  {
      # 支持的语言和音色：edge-tts --list-voices
      "voice": "zh-CN-XiaoxiaoNeural",
      # 语速
      "rate": "+30%"
  }
  ```

  推荐的音色：

  - XiaoxiaoNeural

- azure

  > 学生有免费额度，必须申请并设置密钥 🔑，音色更多

  ```py
  {
      # 密钥必须设置
      "key": "你自己的密钥xxxxx",
      # 区域与你申请密钥选择的区域有关
      "region": "你申请的区域比如：japanwest",
      # 看这里多语言、语音选择：https://learn.microsoft.com/zh-cn/azure/ai-services/speech-service/language-support?tabs=tts
      "language": "zh-CN",
      "voice": "zh-CN-XiaoxiaoNeural",
      # 语速
      "rate": "+30%"
  }
  ```

  推荐的音色：

  - XiaoxiaoNeural
  - XiaochenNeural
  - XiaochenMultilingualNeural
  - XiaoshuangNeural
  - XiaoyouNeural

## 贡献说明

请保证严格遵守 `pylint` （至少python3.8）

```bash
pylint $(git ls-files '*.py')
```

## 后续开发说明

- 大概会做 ui
- 大概会做朗读本地 pdf、txt(已支持) 等格式文本
Irene-crypto 0.1.0
Encrypt an arbitrary list of messages into one ciphertext and decrypt back (AEAD)
Requires Python: >=3.8

# multimsg-aead

Rust library (exposed to Python via **pyo3 + maturin**) that encrypts an arbitrary list of messages
into a single authenticated ciphertext and decrypts it back.

- AEAD ciphers: **AES-256-GCM** (default) or **ChaCha20-Poly1305**
- Self-describing envelope: `[version | alg | noncelen | nonce | ciphertext+tag]`
- Optional **AAD** binds context and header for integrity
- Enforces **>= 3 messages**
- Cross-platform: pure Rust crypto crates (Linux/Windows)

## Build (dev install into current venv)
```bash
pip install maturin
maturin develop --release
```

## Use from Python
```python
from multimsg_aead import generate_key, encrypt_texts, decrypt_texts

key = generate_key()  # 32 random bytes
msgs = ["hello", "from", "rust+python"]
aad = b"example-context"           # optional

ct = encrypt_texts(msgs, key, algorithm="aes256gcm", aad=aad)
print("ciphertext len:", len(ct))

roundtrip = decrypt_texts(ct, key, aad=aad)
print(roundtrip)                    # ['hello', 'from', 'rust+python']
```

## Notes
- Do **not** reuse a (key, nonce) pair. Nonce is random & included in the envelope.
- If decryption fails, you likely used the wrong key/AAD or the data was corrupted.
- Import name is `multimsg_aead` (underscore); pip package is `multimsg-aead` (hyphen).