Metadata-Version: 2.4
Name: deemoji
Version: 1.0.0
Summary: Unix filter that removes Unicode emoji from text streams
Author: Matěj Cepl
License-Expression: Apache-2.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
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: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSES/Apache-2.0.txt
Dynamic: license-file

# deemoji

A tiny Unix filter that removes Unicode emoji from UTF-8 text streams while
leaving everything else untouched.

## Usage

```bash
python3 deemoji.py < input.txt > output.txt
printf 'Hello 🌍!\n' | python3 deemoji.py
```

## What is removed

- Single emoji: `😀`, `🚀`
- Country flags: `🇨🇿`
- Skin-tone variants: `👍🏽`
- Zero-width-joiner sequences: `👨‍👩‍👧‍👦`, `👩‍🚀`
- Keycap sequences: `9️⃣`
- Emoji with emoji presentation selector: `❤️`

## What is preserved

- ASCII and digits
- National characters: `Příliš žluťoučký`, `你好`
- Mathematical symbols: `∀x∈ℝ`
- Box-drawing characters: `┌─┐`
- Text-presentation variants: `❤︎` (kept)

## Tests

```bash
python3 -munittest -v test_deemoji
```

## Updating emoji data

`_emoji_data.py` is generated from the Unicode `emoji-test.txt` file:

```bash
python3 generate_emoji_table.py --version 16.0
```

Only the standard library is required.
