Metadata-Version: 2.1
Name: emoji-writer
Version: 0.0.3
Summary: Tool to write words with emojis
Home-page: https://github.com/Brinon/emoji_writer
Author: Pablo Llueca
Author-email: Pablo Llueca <pablo.llueca@gmail.com>
License: MIT License
        
        Copyright (c) [year] [fullname]
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://github.com/Brinon/emoji_writer
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: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: click
Requires-Dist: emoji (==1.2.0)

# Emoji Writer
Python package to write words using emojis

## Instalation
`emoji_writer` can be installed from pip:

```
pip install emoji_writer==0.0.2
```

or cloned from github:
```
git clone
https://github.com/pllueca/emoji_writer
```

to install and run the tests locally
```
pip install -r requirements.txt
pytest test
```

Also can use containerized:

Build the container
```
make build
```

Run the test inside the container
```
make test
```

To build the python package:
```
make buildpkg
```

## Usage (Python module)

```python
from emoji_writer import write_emoji_word
print(write_emoji_word("hello", foreground="✅", background="👽"))
👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽
👽✅👽👽👽✅👽✅✅✅✅✅👽✅👽👽👽👽👽✅👽👽👽👽👽👽✅✅✅👽👽
👽✅👽👽👽✅👽✅👽👽👽👽👽✅👽👽👽👽👽✅👽👽👽👽👽✅👽👽👽✅👽
👽✅👽👽👽✅👽✅👽👽👽👽👽✅👽👽👽👽👽✅👽👽👽👽👽✅👽👽👽✅👽
👽✅✅✅✅✅👽✅✅✅✅👽👽✅👽👽👽👽👽✅👽👽👽👽👽✅👽👽👽✅👽
👽✅👽👽👽✅👽✅👽👽👽👽👽✅👽👽👽👽👽✅👽👽👽👽👽✅👽👽👽✅👽
👽✅👽👽👽✅👽✅👽👽👽👽👽✅👽👽👽👽👽✅👽👽👽👽👽✅👽👽👽✅👽
👽✅👽👽👽✅👽✅✅✅✅✅👽✅✅✅✅✅👽✅✅✅✅✅👽👽✅✅✅👽👽
👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽👽

>>> print(write_emoji_word("hello", foreground="alien", background="thumbs_up"))
👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍
👍👽👍👍👍👽👍👽👽👽👽👽👍👽👍👍👍👍👍👽👍👍👍👍👍👍👽👽👽👍👍
👍👽👍👍👍👽👍👽👍👍👍👍👍👽👍👍👍👍👍👽👍👍👍👍👍👽👍👍👍👽👍
👍👽👍👍👍👽👍👽👍👍👍👍👍👽👍👍👍👍👍👽👍👍👍👍👍👽👍👍👍👽👍
👍👽👽👽👽👽👍👽👽👽👽👍👍👽👍👍👍👍👍👽👍👍👍👍👍👽👍👍👍👽👍
👍👽👍👍👍👽👍👽👍👍👍👍👍👽👍👍👍👍👍👽👍👍👍👍👍👽👍👍👍👽👍
👍👽👍👍👍👽👍👽👍👍👍👍👍👽👍👍👍👍👍👽👍👍👍👍👍👽👍👍👍👽👍
👍👽👍👍👍👽👍👽👽👽👽👽👍👽👽👽👽👽👍👽👽👽👽👽👍👍👽👽👽👍👍
👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍
```

## Usage (Scripts)


`python main.py write --word hello --foreground 👽 --background 🤤`

```
🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤
🤤👽🤤🤤🤤👽🤤👽👽👽👽👽🤤👽🤤🤤🤤🤤🤤👽🤤🤤🤤🤤🤤🤤👽👽👽🤤🤤
🤤👽🤤🤤🤤👽🤤👽🤤🤤🤤🤤🤤👽🤤🤤🤤🤤🤤👽🤤🤤🤤🤤🤤👽🤤🤤🤤👽🤤
🤤👽🤤🤤🤤👽🤤👽🤤🤤🤤🤤🤤👽🤤🤤🤤🤤🤤👽🤤🤤🤤🤤🤤👽🤤🤤🤤👽🤤
🤤👽👽👽👽👽🤤👽👽👽👽🤤🤤👽🤤🤤🤤🤤🤤👽🤤🤤🤤🤤🤤👽🤤🤤🤤👽🤤
🤤👽🤤🤤🤤👽🤤👽🤤🤤🤤🤤🤤👽🤤🤤🤤🤤🤤👽🤤🤤🤤🤤🤤👽🤤🤤🤤👽🤤
🤤👽🤤🤤🤤👽🤤👽🤤🤤🤤🤤🤤👽🤤🤤🤤🤤🤤👽🤤🤤🤤🤤🤤👽🤤🤤🤤👽🤤
🤤👽🤤🤤🤤👽🤤👽👽👽👽👽🤤👽👽👽👽👽🤤👽👽👽👽👽🤤🤤👽👽👽🤤🤤
🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤
```

`python main.py write --word hello --foreground alien --background bright_button`

```
🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆
🔆👽🔆🔆🔆👽🔆👽👽👽👽👽🔆👽🔆🔆🔆🔆🔆👽🔆🔆🔆🔆🔆🔆👽👽👽🔆🔆
🔆👽🔆🔆🔆👽🔆👽🔆🔆🔆🔆🔆👽🔆🔆🔆🔆🔆👽🔆🔆🔆🔆🔆👽🔆🔆🔆👽🔆
🔆👽🔆🔆🔆👽🔆👽🔆🔆🔆🔆🔆👽🔆🔆🔆🔆🔆👽🔆🔆🔆🔆🔆👽🔆🔆🔆👽🔆
🔆👽👽👽👽👽🔆👽👽👽👽🔆🔆👽🔆🔆🔆🔆🔆👽🔆🔆🔆🔆🔆👽🔆🔆🔆👽🔆
🔆👽🔆🔆🔆👽🔆👽🔆🔆🔆🔆🔆👽🔆🔆🔆🔆🔆👽🔆🔆🔆🔆🔆👽🔆🔆🔆👽🔆
🔆👽🔆🔆🔆👽🔆👽🔆🔆🔆🔆🔆👽🔆🔆🔆🔆🔆👽🔆🔆🔆🔆🔆👽🔆🔆🔆👽🔆
🔆👽🔆🔆🔆👽🔆👽👽👽👽👽🔆👽👽👽👽👽🔆👽👽👽👽👽🔆🔆👽👽👽🔆🔆
🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆🔆
```

Also supports and optional border:

`python main.py write --word LGTM! --foreground brain --background "blue_circle" --border --border-size 2`

```
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
🔥🔥🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔥🔥
🔥🔥🔵🧠🔵🔵🔵🔵🔵🔵🧠🧠🧠🔵🔵🧠🧠🧠🧠🧠🔵🧠🔵🔵🔵🧠🔵🔵🧠🔵🔵🔥🔥
🔥🔥🔵🧠🔵🔵🔵🔵🔵🧠🔵🔵🔵🧠🔵🔵🔵🧠🔵🔵🔵🧠🧠🔵🧠🧠🔵🔵🧠🔵🔵🔥🔥
🔥🔥🔵🧠🔵🔵🔵🔵🔵🧠🔵🔵🔵🔵🔵🔵🔵🧠🔵🔵🔵🧠🔵🧠🔵🧠🔵🔵🧠🔵🔵🔥🔥
🔥🔥🔵🧠🔵🔵🔵🔵🔵🧠🔵🔵🔵🔵🔵🔵🔵🧠🔵🔵🔵🧠🔵🧠🔵🧠🔵🔵🧠🔵🔵🔥🔥
🔥🔥🔵🧠🔵🔵🔵🔵🔵🧠🔵🔵🧠🧠🔵🔵🔵🧠🔵🔵🔵🧠🔵🔵🔵🧠🔵🔵🧠🔵🔵🔥🔥
🔥🔥🔵🧠🔵🔵🔵🔵🔵🧠🔵🔵🔵🧠🔵🔵🔵🧠🔵🔵🔵🧠🔵🔵🔵🧠🔵🔵🔵🔵🔵🔥🔥
🔥🔥🔵🧠🧠🧠🧠🧠🔵🔵🧠🧠🧠🔵🔵🔵🔵🧠🔵🔵🔵🧠🔵🔵🔵🧠🔵🔵🧠🔵🔵🔥🔥
🔥🔥🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵🔥🔥
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
```	

If you are feeling lucky you can use random emojis (some of them are smaller and it breaks the shapes):

`python main.py write --word "random" --random-foreground --random-background`

```
🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤
🏤🧜🧜🧜🧜🏤🏤🏤🧜🧜🧜🏤🏤🧜🏤🏤🏤🧜🏤🧜🧜🧜🧜🏤🏤🏤🧜🧜🧜🏤🏤🧜🏤🏤🏤🧜🏤
🏤🧜🏤🏤🏤🧜🏤🧜🏤🏤🏤🧜🏤🧜🏤🏤🏤🧜🏤🧜🏤🏤🏤🧜🏤🧜🏤🏤🏤🧜🏤🧜🧜🏤🧜🧜🏤
🏤🧜🏤🏤🏤🧜🏤🧜🏤🏤🏤🧜🏤🧜🧜🏤🏤🧜🏤🧜🏤🏤🏤🧜🏤🧜🏤🏤🏤🧜🏤🧜🏤🧜🏤🧜🏤
🏤🧜🧜🧜🧜🏤🏤🧜🧜🧜🧜🧜🏤🧜🏤🧜🏤🧜🏤🧜🏤🏤🏤🧜🏤🧜🏤🏤🏤🧜🏤🧜🏤🧜🏤🧜🏤
🏤🧜🏤🧜🏤🏤🏤🧜🏤🏤🏤🧜🏤🧜🏤🏤🧜🧜🏤🧜🏤🏤🏤🧜🏤🧜🏤🏤🏤🧜🏤🧜🏤🏤🏤🧜🏤
🏤🧜🏤🏤🧜🏤🏤🧜🏤🏤🏤🧜🏤🧜🏤🏤🏤🧜🏤🧜🏤🏤🏤🧜🏤🧜🏤🏤🏤🧜🏤🧜🏤🏤🏤🧜🏤
🏤🧜🏤🏤🏤🧜🏤🧜🏤🏤🏤🧜🏤🧜🏤🏤🏤🧜🏤🧜🧜🧜🧜🏤🏤🏤🧜🧜🧜🏤🏤🧜🏤🏤🏤🧜🏤
🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤🏤
```
You can also let the program decide which emojis to use based on the input word!

`python main.py write --word party --suggested-background --suggested-foreground`

```
🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉
🎉🥳🥳🥳🥳🎉🎉🎉🥳🥳🥳🎉🎉🥳🥳🥳🥳🎉🎉🥳🥳🥳🥳🥳🎉🥳🎉🎉🎉🥳🎉
🎉🥳🎉🎉🎉🥳🎉🥳🎉🎉🎉🥳🎉🥳🎉🎉🎉🥳🎉🎉🎉🥳🎉🎉🎉🥳🎉🎉🎉🥳🎉
🎉🥳🎉🎉🎉🥳🎉🥳🎉🎉🎉🥳🎉🥳🎉🎉🎉🥳🎉🎉🎉🥳🎉🎉🎉🎉🥳🎉🥳🎉🎉
push:
	docker tag plluecaweb:dev registry.digitalocean.com/pllueca-web/plluecaweb:latest
	docker push registry.digitalocean.com/pllueca-web/plluecaweb:latest
🎉🥳🥳🥳🥳🎉🎉🥳🥳🥳🥳🥳🎉🥳🥳🥳🥳🎉🎉🎉🎉🥳🎉🎉🎉🎉🎉🥳🎉🎉🎉
🎉🥳🎉🎉🎉🎉🎉🥳🎉🎉🎉🥳🎉🥳🎉🥳🎉🎉🎉🎉🎉🥳🎉🎉🎉🎉🎉🥳🎉🎉🎉
🎉🥳🎉🎉🎉🎉🎉🥳🎉🎉🎉🥳🎉🥳🎉🎉🥳🎉🎉🎉🎉🥳🎉🎉🎉🎉🎉🥳🎉🎉🎉
🎉🥳🎉🎉🎉🎉🎉🥳🎉🎉🎉🥳🎉🥳🎉🎉🎉🥳🎉🎉🎉🥳🎉🎉🎉🎉🎉🥳🎉🎉🎉
🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉
```

Letters can also be written in vertical:

`python main.py write --word hello --foreground fire --background white_large_square --border --border-emoji ATM_sign --vertical`

outputs
```
🏧🏧🏧🏧🏧🏧🏧🏧🏧
🏧⬜⬜⬜⬜⬜⬜⬜🏧
🏧⬜🔥⬜⬜⬜🔥⬜🏧
🏧⬜🔥⬜⬜⬜🔥⬜🏧
🏧⬜🔥⬜⬜⬜🔥⬜🏧
🏧⬜🔥🔥🔥🔥🔥⬜🏧
🏧⬜🔥⬜⬜⬜🔥⬜🏧
🏧⬜🔥⬜⬜⬜🔥⬜🏧
🏧⬜🔥⬜⬜⬜🔥⬜🏧
🏧⬜⬜⬜⬜⬜⬜⬜🏧
🏧⬜🔥🔥🔥🔥🔥⬜🏧
🏧⬜🔥⬜⬜⬜⬜⬜🏧
🏧⬜🔥⬜⬜⬜⬜⬜🏧
🏧⬜🔥🔥🔥🔥⬜⬜🏧
🏧⬜🔥⬜⬜⬜⬜⬜🏧
🏧⬜🔥⬜⬜⬜⬜⬜🏧
🏧⬜🔥🔥🔥🔥🔥⬜🏧
🏧⬜⬜⬜⬜⬜⬜⬜🏧
🏧⬜🔥⬜⬜⬜⬜⬜🏧
🏧⬜🔥⬜⬜⬜⬜⬜🏧
🏧⬜🔥⬜⬜⬜⬜⬜🏧
🏧⬜🔥⬜⬜⬜⬜⬜🏧
🏧⬜🔥⬜⬜⬜⬜⬜🏧
🏧⬜🔥⬜⬜⬜⬜⬜🏧
🏧⬜🔥🔥🔥🔥🔥⬜🏧
🏧⬜⬜⬜⬜⬜⬜⬜🏧
🏧⬜🔥⬜⬜⬜⬜⬜🏧
🏧⬜🔥⬜⬜⬜⬜⬜🏧
🏧⬜🔥⬜⬜⬜⬜⬜🏧
🏧⬜🔥⬜⬜⬜⬜⬜🏧
🏧⬜🔥⬜⬜⬜⬜⬜🏧
🏧⬜🔥⬜⬜⬜⬜⬜🏧
🏧⬜🔥🔥🔥🔥🔥⬜🏧
🏧⬜⬜⬜⬜⬜⬜⬜🏧
🏧⬜⬜🔥🔥🔥⬜⬜🏧
🏧⬜🔥⬜⬜⬜🔥⬜🏧
🏧⬜🔥⬜⬜⬜🔥⬜🏧
🏧⬜🔥⬜⬜⬜🔥⬜🏧
🏧⬜🔥⬜⬜⬜🔥⬜🏧
🏧⬜🔥⬜⬜⬜🔥⬜🏧
🏧⬜⬜🔥🔥🔥⬜⬜🏧
🏧⬜⬜⬜⬜⬜⬜⬜🏧
🏧🏧🏧🏧🏧🏧🏧🏧🏧
```

You can print all the examples running `python main.py examples`

## Usage (server)
The file `app.py` implements an HTTP webserver with an endpoint to generate emoji words. It can be ran with `make runserver`. It runs inside a docker container that exposes port 8000.

Endpoints:

* `GET /`
* `GET /{word}?OPTIONS`, e.g.: /lgtm?foreground=%F0%9F%92%85&background=%F0%9F%A6%AC`


## TODO
Features that would be nice to implement:

* [x] Support for multiline output
* [x] Random emojis, choosing emojis based on input word
* [ ] Slack integration
* [ ] groups of emojis: flags, faces, foods... Make able to get a random one from a group
* [ ] list available emojis
* [x] serving emojis through an http api

