semvec/pypi-packages huggingface dataset:
bklml-ff 1.1
BenjaminKalb Localizations Markup Language File Finder — cross-platform CLI scanner for .bklml files (BKLML localizations).
Requires Python: >=3.8
Keywords: benjaminkalb, bjkalb, bklml, cli, lml

# BKLML File Finder

[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.html)
[![Python 3.8+](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://www.python.org/)

**BenjaminKalb Localizations Markup Language File Finder** — cross-platform CLI scanner for `.bklml` files (BKLML localizations).

## ✨ Features

- 🔍 **Recursive search for** `.bklml` files in folders
- 📊 **Metadata parsing**: `@VERSION:{1.2.0}` and `@DESCRIPTION:{text}`
- 💻 **Full cross-platform**: Linux, Windows, macOS
- ⚡ **Without dependencies** — Python standard library only
- 📦 **Easy installation**: AUR, PyPI, pipx or manual (AUR, PyPI, pipx in the next update)

## 🚀 Quick Start

### Installation

**Arch Linux (AUR):**
```bash
yay -S bklml-ff
# or
paru -S bklml-ff
```

**Any system (PyPI):**
```bash
pipx install git+https://github.com/benjaminkalb/bklml-ff.git
```

**Manual installation:**
```bash
git clone https://github.com/benjaminkalb/bklml-ff.git
cd bklml-ff
chmod +x bklml-ff.py
sudo cp bklml-ff.py /usr/local/bin/bklml-ff  # Linux/Mac
# Windows: rename to bklml-ff.py & add to PATH
```

### ⚡ Usage

**Help**
```bash
bklml-ff --help
```
**Search in the current folder**
```bash
bklml-ff .
```
**Recursive search with details**
```bash
bklml-ff ~/projects --details
```
**Only the upper level**
```bash
bklml-ff /path/to/folder --no-recursive -d
```

### 📊 Example of output from --details
```bash
Found 3 .bklml file(s):

File path                           | Version  | Description
----------------------------------------------------------------------
src/en.bklml                        | 1.2.0    | English 2D Game Localization
src/ru.bklml                        | 1.1.1    | Russian 2D Game Localization
plugins/auth.bklml                  | 0.9.2    | translations for lines
```

### 📋 Command Line arguments
```bash
> Argument | > Description | > Example

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

DIRECTORY	| The folder to scan (by default .)	| bklml-ff ~/src
--details, -d	| Show versions and descriptions | --details
--no-recursive | Only the upper level	| --no-recursive
--version	| Program version	| --version
--help, -h	| Reference	| --help
```

### 🤝 Contribution to the development
```bash
[1] Fork repository
[2] Create branch: git checkout -b feature/amazing-feature
[3] Commit changes: git commit -m 'Add amazing feature'
[4] Push to the branch: git push origin feature/amazing-feature
[5] Create Pull Request
```
teeny-IANYEYZ 0.0.1
A tiny programming language
Requires Python: >=3.8

<p align="center">
  <img src="teenyBanner.png" width="100%" alt="Teeny - A tiny fast prototyping language">
</p>

# Teeny Programming Language

Teeny is a small, expression-first programming language designed for quick scripting and rapid prototyping. Its syntax stays tiny and predictable, but it still includes useful features like structural binding, pattern matching, modules, pipeline operators, and backtick-style regex. Everything in Teeny is an expression — blocks, functions, conditionals, loops — so code stays compact and consistent.

See [https://teeny-lang.surge.sh/](https://teeny-lang.surge.sh/).

## **A tiny example**

```teeny
greet := (name) => "Hello, {name}!"

for [i, who] in [[1, "Alice"], [2, "Bob"], [3, "Cat"]] {
    println("{i}: " + greet(who))
}
```
ant-image 0.1.0
A very lightweight image file format.
Requires Python: >=3.9

# ant

.ant is a raster image file format.

## header

to make it easier to recognize by both user and computer, specific byte is present,\
`[61]`, `a` in ascii.

width and height of an image are 1-based values defined by 2 bytes, width and height,\
`[w][h]`, therefore max size of the file format is 256px x 256px.

## data

each pixel is a byte, meaning that the number of possible colors is 256.

the orient of matrix should be row-major,
could be redefined by the image viewing program.

color palette is defined by the image viewing program,
but ansi 256 is recommended.

## example

```
; header
61
03 01 ; 4x2
; data
01 23 45 67
89 ab cd ef
```
roam-fm-mcp 0.1.0
MCP server for controlling Roam FM radio app via AI assistants like Claude
Requires Python: >=3.10
Keywords: ai, assistant, claude, mcp, radio, roam-fm

# Roam FM MCP Server

MCP (Model Context Protocol) server for controlling [Roam FM](https://fm.houjoe.me) radio app via AI assistants like Claude.

## Prerequisites

- macOS
- Roam FM app installed and running
- MCP remote control enabled in Roam FM: Settings > Labs > AI Remote Control
- Python 3.10+

## Installation

```bash
cd mcp-server
pip install -e .
```

## Configuration

### Claude Code

Add to your Claude Code MCP settings (`~/.claude/claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "roam-fm": {
      "command": "roam-fm-mcp"
    }
  }
}
```

Or if using a virtual environment:

```json
{
  "mcpServers": {
    "roam-fm": {
      "command": "/path/to/venv/bin/roam-fm-mcp"
    }
  }
}
```

## Available Tools

| Tool | Description |
|------|-------------|
| `roam_play` | Start playing radio. Optionally filter by country code. |
| `roam_pause` | Pause the current station. |
| `roam_resume` | Resume playback. |
| `roam_next` | Skip to next random station. |
| `roam_stop` | Stop playback completely. |
| `roam_status` | Get current playback status and station info. |
| `roam_get_stats` | Get listening statistics. |

### Country Codes

Use ISO 3166-1 alpha-2 country codes for filtering:

- `JP` - Japan
- `US` - United States
- `FR` - France
- `DE` - Germany
- `GB` - United Kingdom
- `CN` - China
- etc.

## Example Usage

Ask your AI assistant:

- "Play Japanese radio stations"
- "Pause the radio"
- "What's currently playing?"
- "Skip to the next station"
- "How long have I been listening?"

## How It Works

```
AI Assistant ──MCP──> roam-fm-mcp ──URL Scheme──> Roam FM App
                                  <──status.json──
```

1. AI sends commands via MCP protocol
2. MCP server triggers URL Scheme (`roam-fm://play`, etc.)
3. Roam FM app executes the command
4. App writes status to `~/.roam-fm/status.json`
5. MCP server reads status and returns result

## Troubleshooting

### "Status file not found"

Make sure MCP remote control is enabled in Roam FM:
1. Open Roam FM
2. Go to Settings > Labs
3. Enable "AI Remote Control"

### Commands not working

1. Check if Roam FM is running
2. Verify the app is responding to URL schemes:
   ```bash
   open "roam-fm://play"
   ```
3. Check status file exists:
   ```bash
   cat ~/.roam-fm/status.json
   ```

## License

MIT