Metadata-Version: 2.1
Name: art
Version: 3.5
Summary: ASCII Art Library For Python
Home-page: https://github.com/sepandhaghighi/art
Author: Sepand Haghighi
Author-email: sepand@qpage.ir
License: MIT
Project-URL: Webpage, http://art.shaghighi.ir
Project-URL: Source, https://github.com/sepandhaghighi/art
Project-URL: Tracker, https://github.com/sepandhaghighi/art/issues
Keywords: ascii art python3 python text font
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Text Processing :: Fonts
Classifier: Topic :: Text Editors
Classifier: Topic :: Text Processing :: General
Classifier: Topic :: Utilities
Classifier: Topic :: Multimedia
Classifier: Topic :: Printing
Requires-Python: >=2.7
Description-Content-Type: text/markdown
Requires-Dist: coverage (>=4.1)


<div align="center">
<pre>
 ______   ______  _______ 
| |  | | | |  | \   | |   
| |__| | | |__| |   | |   
|_|  |_| |_|  \_\   |_|   

</pre>
<a href="https://codecov.io/gh/sepandhaghighi/art">
  <img src="https://codecov.io/gh/sepandhaghighi/art/branch/master/graph/badge.svg" alt="Codecov" />
</a>
<a href="https://badge.fury.io/py/art"><img src="https://badge.fury.io/py/art.svg" alt="PyPI version" height="18"></a>
<a href="https://www.python.org/"><img src="https://img.shields.io/badge/built%20with-Python3-green.svg" alt="built with Python3" /></a>
<a href="https://github.com/sepandhaghighi/art/blob/master/FontList.ipynb"><img src="https://img.shields.io/badge/Font List-400-blue.svg"></a>
<a href="https://github.com/sepandhaghighi/art/blob/master/ArtList.ipynb"><img src="https://img.shields.io/badge/Art List-350-orange.svg"></a>
<a href="https://t.me/artlib_bot" target="__blank"><img src="https://img.shields.io/badge/Telegram-Bot-red.svg"></a>
<a href="https://anaconda.org/sepandhaghighi/art"><img src="https://anaconda.org/sepandhaghighi/art/badges/version.svg"></a>
</div>

----------

## Table of contents					
   * [Overview](https://github.com/sepandhaghighi/art#overview)
   * [Installation](https://github.com/sepandhaghighi/art/blob/master/INSTALL.md)
   * [Usage](https://github.com/sepandhaghighi/art#usage)
   		* [1-Line Art](https://github.com/sepandhaghighi/art#1-line-art)
   		* [ASCII Text](https://github.com/sepandhaghighi/art#ascii-text)
   		* [Font Modes](https://github.com/sepandhaghighi/art#font-modes)
   		* [Typo-Tolerance](https://github.com/sepandhaghighi/art#typo-tolerance)
   		* [Set Defaults](https://github.com/sepandhaghighi/art#set-defaults)
   		* [CLI](https://github.com/sepandhaghighi/art#cli)
   		* [Telegram Bot](https://github.com/sepandhaghighi/art#telegram-bot)
   		* [Try ART In Your Browser](https://github.com/sepandhaghighi/art#try-art-in-your-browser)
   		* [Screen Record](https://github.com/sepandhaghighi/art#screen-record)
   * [Issues & Bug Reports](https://github.com/sepandhaghighi/art#issues--bug-reports)
   * [Contribution](https://github.com/sepandhaghighi/art/blob/master/.github/CONTRIBUTING.md)
   * [Reference](https://github.com/sepandhaghighi/art#reference)
   * [Authors](https://github.com/sepandhaghighi/art/blob/master/AUTHORS.md)
   * [License](https://github.com/sepandhaghighi/art#license)
   * [Donate](https://github.com/sepandhaghighi/art#donate-to-our-project)
   * [Changelog](https://github.com/sepandhaghighi/art/blob/master/CHANGELOG.md)
   * [Code of Conduct](https://github.com/sepandhaghighi/art/blob/master/.github/CODE_OF_CONDUCT.md)

## Overview	
ASCII art is also known as "computer text art". It involves the smart placement of typed special characters or
letters to make a visual shape that is spread over multiple lines of text.

ART is a Python lib for text converting to ASCII art fancy. ;-)



<table>
	<tr> 
		<td align="center">Open Hub</td>
		<td align="center"><a href="https://www.openhub.net/p/artlib"><img src="https://www.openhub.net/p/artlib/widgets/project_thin_badge.gif"></a></td>	
	</tr>
	<tr>
		<td align="center">PyPI Counter</td>
		<td align="center"><a href="http://pepy.tech/count/art"><img src="http://pepy.tech/badge/art"></a></td>
	</tr>
	<tr>
		<td align="center">Github Stars</td>
		<td align="center"><a href="https://github.com/sepandhaghighi/art"><img src="https://img.shields.io/github/stars/sepandhaghighi/art.svg?style=social&label=Stars"></a></td>
	</tr>
	<tr>
		<td align="center">Font Counter</td>
		<td align="center">400</td>
	</tr>
	<tr>
		<td align="center">1-Line-Art Counter</td>
		<td align="center">350</td>
	</tr>
</table>



<table>
	<tr> 
		<td align="center">Branch</td>
		<td align="center">master</td>	
		<td align="center">dev</td>	
	</tr>
	<tr>
		<td align="center">Travis</td>
		<td align="center"><a href="https://travis-ci.org/sepandhaghighi/art"><img src="https://travis-ci.org/sepandhaghighi/art.svg?branch=master"></a></td>
		<td align="center"><a href="https://travis-ci.org/sepandhaghighi/art"><img src="https://travis-ci.org/sepandhaghighi/art.svg?branch=dev"></a></td>
	</tr>
	<tr>
		<td align="center">AppVeyor</td>
		<td align="center"><a href="https://ci.appveyor.com/project/sepandhaghighi/art"><img src="https://ci.appveyor.com/api/projects/status/n350ntyjthc2gil3/branch/master?svg=true"></a></td>
		<td align="center"><a href="https://ci.appveyor.com/project/sepandhaghighi/art"><img src="https://ci.appveyor.com/api/projects/status/n350ntyjthc2gil3/branch/dev?svg=true"></a></td>
	</tr>
</table>

<table>
	<tr> 
		<td align="center">Code Quality</td>
		<td align="center"><a class="badge-align" href="https://www.codacy.com/app/sepand-haghighi/art?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=sepandhaghighi/art&amp;utm_campaign=Badge_Grade"><img src="https://api.codacy.com/project/badge/Grade/405020450bc94088ad1450461831a587"/></a></td>	
		<td align="center"><a href="https://codebeat.co/projects/github-com-sepandhaghighi-art-dev"><img alt="codebeat badge" src="https://codebeat.co/badges/90e77325-a046-4cc5-9c3e-646c011a5b72" /></a></td>	
		<td align="center"><a href="https://www.codefactor.io/repository/github/sepandhaghighi/art"><img src="https://www.codefactor.io/repository/github/sepandhaghighi/art/badge" alt="CodeFactor" /></a></td>
	</tr>
</table>



## Usage

<div align="center">

<img src="https://github.com/sepandhaghighi/art/blob/master/otherfile/ART.gif">
<p>Quick Start</p>

</div>				


### 1-Line art

⚠️ Some environments don't support all 1-Line arts


#### 1. art					

This function return 1-line art as `str` in normal mode and raise `artError` in exception.	
```pycon
>>> from art import *
>>> art_1=art("coffee") # return art as str in normal mode
>>> print(art_1)
c[_]
>>> art_2=art("woman",number=2) # return multiple art as str
>>> print(art_2)
▓⚗_⚗▓ ▓⚗_⚗▓ 
>>> art_3=art("love_you",number=1,text="test") # 2-part art
>>> print(art_3)
»-(¯`·.·´¯)->test<-(¯`·.·´¯)-« 
>>> art("random") # random 1-line art mode
'(っ◕‿◕)っ '
>>> art("rand")   # random 1-line art mode
't(-_-t) '
>>> art(22,number=1,text="") # raise artError
Traceback (most recent call last):
        ...
art.art.artError: artname shoud have str type

```
#### 2. aprint				

This function print 1-line art in normal mode (return None) and raise `artError` in exception.
```pycon
>>> aprint("butterfly") # print art
Ƹ̵̡Ӝ̵̨̄Ʒ 
>>> aprint("happy") # print art
 ۜ\(סּںסּَ` )/ۜ
>>> aprint("love_you",number=1,text="test")  # 2-part art
»-(¯`·.·´¯)->test<-(¯`·.·´¯)-« 
>>> aprint("random") # random 1-line art mode
'(っ◕‿◕)っ '
>>> aprint("rand")   # random 1-line art mode
't(-_-t) '
>>> aprint("woman",number="22",text="") # raise artError
Traceback (most recent call last):
        ...
art.art.artError: number should have int type
```

#### 3. randart

`randart` function is added in `Version 2.2` as `art("random")` shortcut.
```pycon
>>> randart()
'ዞᏜ℘℘Ꮍ ℬℹℛʈዞᗬᏜᎽ '
>>> randart()
'✌(◕‿-)✌ '
```		

### ASCII text

⚠️ Some fonts don't support all characters		

⚠️ From `Version 3.3` Non-ASCII fonts added (These fonts are not compatible with some environments)

#### 1. text2art				

This function return ASCII text as `str` in normal mode and raise `artError` in exception.
```pycon	
>>> Art=text2art("art") # Return ASCII text (default font) and default chr_ignore=True 
>>> print(Art)
              _   
  __ _  _ __ | |_ 
 / _` || '__|| __|
| (_| || |   | |_ 
 \__,_||_|    \__|


>>> Art=text2art("art",font='block',chr_ignore=True) # Return ASCII text with block font
>>> print(Art)


 .----------------.  .----------------.  .----------------.
| .--------------. || .--------------. || .--------------. |
| |      __      | || |  _______     | || |  _________   | |
| |     /  \     | || | |_   __ \    | || | |  _   _  |  | |
| |    / /\ \    | || |   | |__) |   | || | |_/ | | \_|  | |
| |   / ____ \   | || |   |  __ /    | || |     | |      | |
| | _/ /    \ \_ | || |  _| |  \ \_  | || |    _| |_     | |
| ||____|  |____|| || | |____| |___| | || |   |_____|    | |
| |              | || |              | || |              | |
| '--------------' || '--------------' || '--------------' |
 '----------------'  '----------------'  '----------------'

>>> Art=text2art("test","random") # random font mode
>>> print(Art)
 |       | 
~|~/~/(~~|~
 | \/__) | 

>>> Art=text2art("test","rand") # random font mode
>>> print(Art)
___ ____ ____ ___ 
 |  |___ [__   |  
 |  |___ ___]  | 

>>> print(text2art('''Lorem  
ipsum 
dolor''', font="small")) # Multi-line print
 _                            
| |    ___  _ _  ___  _ __    
| |__ / _ \| '_|/ -_)| '  \   
|____|\___/|_|  \___||_|_|_|  

 _                         
(_) _ __  ___ _  _  _ __   
| || '_ \(_-<| || || '  \  
|_|| .__//__/ \_,_||_|_|_| 
   |_|                     
    _       _           
 __| | ___ | | ___  _ _ 
/ _` |/ _ \| |/ _ \| '_|
\__,_|\___/|_|\___/|_|  


>>> print(text2art("test","white_bubble"))  # Non-ASCII font example
ⓣⓔⓢⓣ

>>> text2art("seسسس",font=DEFAULT_FONT,chr_ignore=False) # raise artError in exception
Traceback (most recent call last):
        ...
art.art.artError: س is invalid 

```
#### 2. tprint				

This function print ASCII text in normal mode (return None) and raise `artError` in exception.
```pycon
>>> tprint("art") # print ASCII text (default font) 
              _   
  __ _  _ __ | |_ 
 / _` || '__|| __|
| (_| || |   | |_ 
 \__,_||_|    \__|


>>> tprint("art",font="block",chr_ignore=True) # print ASCII text (block font)

 .----------------.  .----------------.  .----------------.
| .--------------. || .--------------. || .--------------. |
| |      __      | || |  _______     | || |  _________   | |
| |     /  \     | || | |_   __ \    | || | |  _   _  |  | |
| |    / /\ \    | || |   | |__) |   | || | |_/ | | \_|  | |
| |   / ____ \   | || |   |  __ /    | || |     | |      | |
| | _/ /    \ \_ | || |  _| |  \ \_  | || |    _| |_     | |
| ||____|  |____|| || | |____| |___| | || |   |_____|    | |
| |              | || |              | || |              | |
| '--------------' || '--------------' || '--------------' |
 '----------------'  '----------------'  '----------------'

>>> tprint('testسس')  # chr_ignore flag ==True (Default)
 _               _   
| |_   ___  ___ | |_ 
| __| / _ \/ __|| __|
| |_ |  __/\__ \| |_ 
 \__| \___||___/ \__|

>>> tprint("test","random") # random font mode
 |       | 
~|~/~/(~~|~
 | \/__) | 

>>> tprint("test","rand") # random font mode
___ ____ ____ ___ 
 |  |___ [__   |  
 |  |___ ___]  |  


>>> tprint('testسس',chr_ignore=False) # raise artError in exception 
Traceback (most recent call last):
       ...
art.art.artError: س is invalid
>>> tprint('''Lorem  
ipsum 
dolor''', font="cybermedium") # Multi-line print
_    ____ ____ ____ _  _    
|    |  | |__/ |___ |\/|    
|___ |__| |  \ |___ |  |    

_ ___  ____ _  _ _  _    
| |__] [__  |  | |\/|    
| |    ___] |__| |  |    

___  ____ _    ____ ____ 
|  \ |  | |    |  | |__/ 
|__/ |__| |___ |__| |  \ 


```
#### 3. tsave				

This function return `dict` in normal and exception mode.
```pycon
>>> Response=tsave("art",filename="test.txt") # save ASCII text in test.txt file with save message (print_status==True) # return dict
Saved! 
Filename: test.txt
>>> Response["Message"]
'OK'
>>> Response=tsave("art",filename="test.txt",print_status=False) # save ASCII text in test.txt file without save message (print_status==False)
>>> Response["Message"]
'OK'
>>> Response["Status"]
True
>>> tsave(22,font=DEFAULT_FONT,filename="art",chr_ignore=True,print_status=True)
{'Status': False, 'Message': "'int' object has no attribute 'split'"}

```

### Font modes

These modes are available for `text2art`, `tprint` & `tsave`.	

#### 1. Font name	

⚠️ Some fonts don't support all characters

```pycon

>>> tprint("art",font="block",chr_ignore=True)

 .----------------.  .----------------.  .----------------.
| .--------------. || .--------------. || .--------------. |
| |      __      | || |  _______     | || |  _________   | |
| |     /  \     | || | |_   __ \    | || | |  _   _  |  | |
| |    / /\ \    | || |   | |__) |   | || | |_/ | | \_|  | |
| |   / ____ \   | || |   |  __ /    | || |     | |      | |
| | _/ /    \ \_ | || |  _| |  \ \_  | || |    _| |_     | |
| ||____|  |____|| || | |____| |___| | || |   |_____|    | |
| |              | || |              | || |              | |
| '--------------' || '--------------' || '--------------' |
 '----------------'  '----------------'  '----------------'

>>> tprint("art","white_bubble")
ⓐⓡⓣ

```	

#### 2. Random		

Randomly select from all fonts.	

Keywords : `random`, `rand` & `rnd`

```pycon
>>> tprint("test",font="random")
 |       | 
~|~/~/(~~|~
 | \/__) | 


```

#### 3. Random small

Randomly select from small fonts.	

Keywords : `rnd-small`, `random-small` & `rand-small`

* Note : New in `Version 2.8`

```pycon
>>> tprint("test",font="rnd-small")

_/  _   _ _/ 
/  (- _)  /  

```

#### 4. Random medium

Randomly select from medium fonts.

Keywords : `rnd-medium`, `random-medium` & `rand-medium`

* Note : New in `Version 2.8`

```pycon
>>> tprint("test",font="rnd-medium")

  ,                ,  
 ||               ||  
=||=  _-_   _-_, =||= 
 ||  || \\ ||_.   ||  
 ||  ||/    ~ ||  ||  
 \\, \\,/  ,-_-   \\, 


```

#### 5. Random large

Randomly select from large fonts.

Keywords : `rnd-large`, `random-large` & `rand-large`

* Note : New in `Version 2.8`

```pycon
>>> tprint("test",font="rnd-large")

8888888 8888888888 8 8888888888      d888888o.   8888888 8888888888 
      8 8888       8 8888          .`8888:' `88.       8 8888       
      8 8888       8 8888          8.`8888.   Y8       8 8888       
      8 8888       8 8888          `8.`8888.           8 8888       
      8 8888       8 888888888888   `8.`8888.          8 8888       
      8 8888       8 8888            `8.`8888.         8 8888       
      8 8888       8 8888             `8.`8888.        8 8888       
      8 8888       8 8888         8b   `8.`8888.       8 8888       
      8 8888       8 8888         `8b.  ;8.`8888       8 8888       
      8 8888       8 888888888888  `Y8888P ,88P'       8 8888       


```

#### 6. Random xlarge

Randomly select from xlarge fonts.	

Keywords : `rnd-xlarge`, `random-xlarge` & `rand-xlarge`

* Note : New in `Version 2.8`

```pycon
>>> tprint("test","rnd-xlarge")
      _____                    _____                    _____                _____          
     /\    \                  /\    \                  /\    \              /\    \         
    /::\    \                /::\    \                /::\    \            /::\    \        
    \:::\    \              /::::\    \              /::::\    \           \:::\    \       
     \:::\    \            /::::::\    \            /::::::\    \           \:::\    \      
      \:::\    \          /:::/\:::\    \          /:::/\:::\    \           \:::\    \     
       \:::\    \        /:::/__\:::\    \        /:::/__\:::\    \           \:::\    \    
       /::::\    \      /::::\   \:::\    \       \:::\   \:::\    \          /::::\    \   
      /::::::\    \    /::::::\   \:::\    \    ___\:::\   \:::\    \        /::::::\    \  
     /:::/\:::\    \  /:::/\:::\   \:::\    \  /\   \:::\   \:::\    \      /:::/\:::\    \ 
    /:::/  \:::\____\/:::/__\:::\   \:::\____\/::\   \:::\   \:::\____\    /:::/  \:::\____\
   /:::/    \::/    /\:::\   \:::\   \::/    /\:::\   \:::\   \::/    /   /:::/    \::/    /
  /:::/    / \/____/  \:::\   \:::\   \/____/  \:::\   \:::\   \/____/   /:::/    / \/____/ 
 /:::/    /            \:::\   \:::\    \       \:::\   \:::\    \      /:::/    /          
/:::/    /              \:::\   \:::\____\       \:::\   \:::\____\    /:::/    /           
\::/    /                \:::\   \::/    /        \:::\  /:::/    /    \::/    /            
 \/____/                  \:::\   \/____/          \:::\/:::/    /      \/____/             
                           \:::\    \               \::::::/    /                           
                            \:::\____\               \::::/    /                            
                             \::/    /                \::/    /                             
                              \/____/                  \/____/                              

```

#### 7. Wizard	

This mode consider length of input text to select font

Keywords : `wizard`, `wiz` & `magic`

* Note : New in `Version 2.9`

```pycon
>>> tprint("1","wizard")
    88 
  ,d88 
888888 
    88 
    88 
    88 
    88 
    88 
    88 
    88 



>>> tprint("1"*5,"wizard")
d88  d88  d88  d88  d88  
 88   88   88   88   88  
 88   88   88   88   88  
 88   88   88   88   88  
 88   88   88   88   88  
d88P d88P d88P d88P d88P 



>>> tprint("1"*15,"wizard")


 #  #  #  #  #  #  #  #  #  #  #  #  #  #  # 
## ## ## ## ## ## ## ## ## ## ## ## ## ## ## 
 #  #  #  #  #  #  #  #  #  #  #  #  #  #  # 
 #  #  #  #  #  #  #  #  #  #  #  #  #  #  # 
 #  #  #  #  #  #  #  #  #  #  #  #  #  #  # 
## ## ## ## ## ## ## ## ## ## ## ## ## ## ## 


```

#### 8. Random Non-ASCII

Randomly select from Non-ASCII fonts.	

Keywords : `random-na`, `rand-na` & `rnd-na`

* Note : New in `Version 3.4`

```pycon
>>> tprint("test","random-na")
₮Ɇ₴₮

>>> tprint("test","random-na")
ʇsǝʇ

```
⚠️ Non-ASCII fonts are only available in `Font name` and `Random Non-ASCII` modes	


### Typo-tolerance			
<a href="https://en.wikipedia.org/wiki/Levenshtein_distance">Levenshtein distance</a> used in this project. (`Version` >0.9)

```pycon
>>> Art=art("loveyou",number=1,text="test") # correct --> art("love_you",number=1,text="test"), error < |artname|/2
>>> print(Art)
»-(¯`·.·´¯)->test<-(¯`·.·´¯)-« 
>>> aprint("happi")  # correct --> aprint("happy"), error < |artname|/2
 ۜ\(סּںסּَ` )/ۜ 
>>> Art=art("birds2222222",number=1) # correct --> Art=art("birds",number=1), error >= |artname|/2
Traceback (most recent call last):
	...
art.art.artError: Invalid art name
>>> aprint("happi231")  # correct --> aprint("happy"), error < |artname|/2
⎦˚◡˚⎣ 
>>> aprint("happi2312344") # correct --> aprint("happy"), error >= |artname|/2
Traceback (most recent call last):
	...
art.art.artError: Invalid art name
>>> Art=text2art("test",font="black") # correct --> Art=text2art("test",font="block")
>>> print(Art)

 .----------------.  .----------------.  .----------------.  .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. |
| |  _________   | || |  _________   | || |    _______   | || |  _________   | |
| | |  _   _  |  | || | |_   ___  |  | || |   /  ___  |  | || | |  _   _  |  | |
| | |_/ | | \_|  | || |   | |_  \_|  | || |  |  (__ \_|  | || | |_/ | | \_|  | |
| |     | |      | || |   |  _|  _   | || |   '.___`-.   | || |     | |      | |
| |    _| |_     | || |  _| |___/ |  | || |  |`\____) |  | || |    _| |_     | |
| |   |_____|    | || | |_________|  | || |  |_______.'  | || |   |_____|    | |
| |              | || |              | || |              | || |              | |
| '--------------' || '--------------' || '--------------' || '--------------' |
 '----------------'  '----------------'  '----------------'  '----------------'

>>> tprint("test",font="cybermedum")   # correct --> tprint("test",font="cybermedium")
___ ____ ____ ___ 
 |  |___ [__   |  
 |  |___ ___]  |  


```

### Set defaults			
`set_default` function is added in `Version 2.2` in order to change default values.

```pycon
>>> help(set_default)
Help on function set_default in module art.art:

set_default(font='standard', chr_ignore=True, filename='art', print_status=True)
    This fuction change text2art tprint and tsave default values
    :param font: input font
    :type font:str
    :param chr_ignore: ignore not supported character
    :type chr_ignore:bool
    :param filename: output file name (only tsave)
    :type filename:str
    :param print_status : Save message print flag (only tsave)
    :type print_status:bool
    :return: None

>>> tprint("test")
 _               _   
| |_   ___  ___ | |_ 
| __| / _ \/ __|| __|
| |_ |  __/\__ \| |_ 
 \__| \___||___/ \__|


>>> set_default(font="italic")
>>> tprint("test")

_/  _   _ _/ 
/  (- _)  /  


```
* Note : Functions error response updated in `Version 0.8`

	<table>
	<tr>
		<td align="center">Function</td>
		<td align="center">Normal Output</td>
		<td align="center">Error</td>
	</tr>
	<tr>
		<td align="center">art</td>
		<td align="center">str</td>
		<td align="center">raise artError</td>

	</tr>
	<tr>
		<td align="center">aprint</td>
		<td align="center">None</td>
		<td align="center">raise artError</td>
	</tr>
	<tr>
		<td align="center">tprint</td>
		<td align="center">None</td>
		<td align="center">raise artError</td>
	</tr>
	<tr>
		<td align="center">tsave</td>
		<td align="center">{"Status":bool,"Message":str}</td>
		<td align="center">{"Status":bool,"Message":str}</td>
	</tr>
	<tr>
		<td align="center">text2art</td>
		<td align="center">str</td>
		<td align="center">raise artError</td>
	</tr>	
	<tr>
		<td align="center">set_default</td>
		<td align="center">None</td>
		<td align="center">raise artError</td>
	</tr>	
	</table> 

### CLI			
- List of arts :  `python -m art list` or `python -m art arts`
- List of fonts : `python -m art fonts`
- Test : `python -m art test`
- Text : `python -m art text yourtext fontname(optional)`
- Art : `python -m art shape art_name` or `python -m art art art_name`
- Save :  `python -m art save yourtext fontname(optional)`
- All  :  `python -m art all yourtext`

### Telegram bot			

Just send your text to one of these bots. 👇👇👇👇		

<a href="https://t.me/artlib_bot" target="__blank"><img src="https://img.shields.io/badge/Telegram-Bot1-red.svg"></a>			

<a href="https://t.me/textart_robot" target="__blank"><img src="https://img.shields.io/badge/Telegram-Bot2-blue.svg"></a>


### Try ART in your browser

ART can be used online in interactive Jupyter Notebooks via the Binder service! Try it out now! :	

[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/sepandhaghighi/art/master)

* Open `FontList.ipynb` and `ArtList.ipynb`
* Edit and execute each part of the notes, step by step from the top panel by run button

### Screen record		


<div align="center">
<a href="https://asciinema.org/a/186368" target="_blank"><img src="https://asciinema.org/a/186368.png" /></a>
<p>Screen Record</p>
</div>

* View full font list ([Link1](https://github.com/sepandhaghighi/art/blob/master/FontList.ipynb "Full Font List"),[Link2](http://art.shaghighi.ir/FontList.html "Full Font List"))					
* View full art list ([Link1](https://github.com/sepandhaghighi/art/blob/master/ArtList.ipynb "Full Art List"),[Link2](http://art.shaghighi.ir/ArtList.html "Full Art List"))

## Issues & bug reports			

Just fill an issue and describe it. I'll check it ASAP!							
or send an email to [sepand.haghighi@yahoo.com](mailto:sepand.haghighi@yahoo.com "sepand.haghighi@yahoo.com"). 

* Please complete the issue template 

## License

[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fsepandhaghighi%2Fart.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fsepandhaghighi%2Fart?ref=badge_large)

## Reference    

1. [1 Line Art](http://1lineart.kulaone.com/#/)
2. [Text To ASCII](http://patorjk.com/software/taag/#p=display&f=Blocks&t=ART)
3. [ASCII Generator](http://www.network-science.de/ascii/)
4. [Asky](https://asky.io/)
5. [Flipyourtext](https://www.flipyourtext.com/)
6. [YayText](https://yaytext.com)
7. [Coolletters](http://www.coolletters.net/)

## Donate to our project

<h3>Bitcoin :</h3>					

```12Xm1qL4MXYWiY9sRMoa3VpfTfw6su3vNq```			



<h3>Payping (For Iranian citizens)</h3>

<a href="http://www.payping.net/sepandhaghighi" target="__blank"><img src="http://www.qpage.ir/images/payping.png" height=100px width=100px></a>	

<h3>Say Thanks! </h3>


<a href="https://saythanks.io/to/sepandhaghighi"><img src="https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg"></a>

# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [Unreleased]
## [3.5] - 2019-05-04
### Added
- 15 new fonts
	1. magical
	2. paranormal
	3. sorcerer
	4. special
	5. dirty
	6. knight
	7. thin2
	8. tiny
	9. fancy1
	10. fancy2
	11. fancy3
	12. fancy4
	13. fancy5
	14. fancy6
	15. fancy7
## [3.4] - 2019-04-20
### Added
- 7 new fonts
	1. white_bubble
	2. smallcaps2
	3. superscript
	4. subscript
	5. full_width
	6. currency
	7. antrophobia
- `text2art` function support of `\n`
- `rnd-na` mode
### Changed
- `tprint` function modified
- `tsave` function modified
- `README.md` modified
- `random` mode modified
## [3.3] - 2019-04-10
### Added
- 3 new fonts
	1. mirror
	2. flip
	3. mirror_flip
- 40 new 1-line art
	1. dead eyes
	2. satan
	3. bomb
	4. sleepy coffee
	5. high five
	6. wtf dude?
	7. fungry
	8. derp
	9. drwoning
	10. almost cared
	11. yessir
	12. coffee now
	13. round cat
	14. squee
	15. round bird
	16. hoxom
	17. squid
	18. man spider
	19. spell cast
	20. jazz musician
	21. myan cat
	22. gimme
	23. crab
	24. playing in snow
	25. sunglasses
	26. mini penis
	27. victory
	28. don fuller
	29. dgaf
	30. ryans dick
	31. eds dick
	32. point
	33. afraid
	34. laughing
	35. energy
	36. drunkenness
	37. error
	38. penis2
	39. exchange
	40. singing2
- `test2.py`
- `font_check.py`
### Changed
- `test_mode` parameter added to `font_list` function
- `all` flag bug fixed
- `__main__.py` modified
- Warnings and errors messages moved to `art_param.py`
- Art random mode modified
## [3.2] - 2019-04-02
### Added
- 30 new 1-line art
	1. shrug
	2. flex
	3. this guy
	4. why
	5. meditation
	6. kitty
	7. pac man
	8. emo
	9. shark attack
	10. shocked
	11. monocle
	12. piggy
	13. camera
	14. what??
	15. neo
	16. lenny
	17. snowing
	18. dick
	19. wizard
	20. wat 
	21. chu
	22. butt
	23. sophie
	24. joy
	25. bautista
	26. smooth
	27. fuckall
	28. penis
	29. wat-wat
	30. fail
- `pydocstyle` test
### Changed
- Docstrings modified
- Some fonts lowercase bug fixed
- Font random modes modified
- `test_mode` parameter removed from `font_list` function

## [3.1] - 2019-03-06
### Added
- 30 new 1-line art
	1. rose3
	2. cigaret
	3. oar
	4. sword5
	5. car
	6. hacksaw
	7. canoe
	8. spider1
	9. machinegun
	10. roadblock
	11. aliens
	12. marge simpson
	13. homer simpson
	14. bat
	15. superman logo
	16. dna sample
	17. mail box
	18. ufo1
	19. ufo2
	20. spider2
	21. american money
	22. british money
	23. teepee
	24. heart3
	25. angel
	26. shark
	27. regular ass
	28. fat ass
	29. kiss my ass
	30. devil
- 15 new fonts
	1. future_1
	2. future_2
	3. future_3
	4. future_4
	5. future_5
	6. future_6
	7. future_7
	8. future_8
	9. gauntlet
	10. ghost_bo
	11. grand_pr
	12. green_be
	13. hades
	14. heavy_me
	15. nfi1
### Changed
- `README.md` modified
- `art` function typo-tolerance threshold modified

## [3.0] - 2019-02-11
### Added
- 20 new fonts
	1. druid
	2. e_fist
	3. ebbs_1
	4. ebbs_2
	5. eca
	6. faces_of
	7. fair_mea
	8. fairligh
	9. fantasy
	10. fbr12
	11. fbr1
	12. fbr2
	13. fbr_stri
	14. fbr_tilt
	15. finalass
	16. fireing
	17. flyn_sh
	18. fp1
	19. fp2
	20. funky_dr
- `CODE_OF_CONDUCT.md`
- `PULL_REQUEST_TEMPLATE.md`
- `ISSUE_TEMPLATE.md`
- `vulture` test
- `bandit` test
### Changed
- `README.md` modified
- `CONTRIBUTING.md` modified
- `font_map` renamed to `FONT_MAP`
- `font_counter` renamed to `FONT_COUNTER`
- `art_counter` renamed to `ART_COUNTER`
- Constants and parameters moved to `art_param.py`


## [2.9] - 2019-01-24
### Added
- 20 new fonts
	1. aquaplan
	2. ascii
	3. c_consen
	4. clb6x10
	5. clb8x10
	6. clb8x8
	7. cli8x8
	8. clr4x6
	9. clr5x10
	10. clr5x6
	11. clr5x8
	12. clr6x10
	13. clr6x6
	14. clr6x8
	15. clr7x8
	16. clr8x10
	17. clr8x8
	18. coil_cop
	19. com_sen
	20. c_ascii
- `wizard` mode
- Interactive notebooks section (binder)
- `.coveragerc`
- `version_check.py`
### Changed
- `README.md` modified
- Minor bug in coverage system fixed
- `.travis.yml` modified
- `font_size_splitter` function thresholds fixed

## [2.8] - 2019-01-01
### Added
- 20 new fonts
	1. zone7
	2. zig_zag
	3. yie_ar_k
	4. yie-ar
	5. xtty
	6. war_of_w
	7. vortron
	8. utopia
	9. utopiai
	10. utopiabi
	11. utopiab
	12. usa_pq
	13. usa
	14. unarmed
	15. ugalympi
	16. ucf_fan
	17. type_set
	18. twin_cob
	19. tsn_base
	20. z-pilot
- `rnd-small` mode
- `rnd-medium` mode
- `rnd-large` mode
- `rnd-xlarge` mode
### Changed
- `README.md` modified

## [2.7] - 2018-12-23
### Added
- 30 new fonts
	1. heroboti
	2. high_noo
	3. hills
	4. home_pak
	5. house_of
	6. hypa_bal
	7. hyper
	8. inc_raw
	9. italics
	10. kgames_i
	11. kik_star
	12. krak_out
	13. 4x4_offr
	14. 5x7
	15. 5x8
	16. 64f1
	17. 6x10
	18. 6x9
	19. a_zooloo
	20. asc
	21. assalt_m
	22. asslt_m
	23. atc
	24. atc_gran
	25. battle_s
	26. battlesh
	27. baz_bil
	28. beer_pub
	29. c1
	30. c2
- `art_profile.py`
### Changed
- Docstring modified
- `B1FF` font bug fixed
- `ICL-1900` font bug fixed
- `AK-47` 1-line art bug fixed
- `I kill you` 1-line art bug fixed

## [2.6] - 2018-12-05
### Added
- 20 new fonts
	1. xbrite
	2. xbriteb
	3. xbritei
	4. xbritebi
	5. xchartr
	6. xchartri
	7. xcour
	8. xcourb
	9. xcourbi
	10. xcouri
	11. xhelv
	12. xhelvb
	13. xhelvbi
	14. xhelvi
	15. xsans
	16. xsansb
	17. xsansbi
	18. xsansi
	19. xtimes
	20. xttyb
- CLI `testcov` flag
### Changed
- `requirements.txt` modified
- `INSTALL.md` modified
- CLI `test` flag modified

## [2.5] - 2018-12-02
### Added
- 15 new fonts
	1. char1
	2. char2
	3. char3
	4. char4
	5. charact1
	6. charact2
	7. charact3
	8. charact4
	9. charact5
	10. charact6
	11. characte
	12. chartr
	13. chartri
	14. 1943
	15. advenger
- `dev-requirements.txt`

### Changed
- `Python 3.7` added to `.travis.yml` & `appveyor.yml`
- `font_list` modified
- `README.md` modified
- `INSTALL.md` modified

## [2.4] - 2018-10-30
### Added
- 10 new fonts
	1. alpha
	2. alligator3
	3. amc3liv1
	4. ascii_new_roman
	5. B1FF
	6. dwhistled
	7. eftiwall
	8. fire_font-k
	9. fire_font-s
	10. gradient
### Changed
- `requirements.txt` modified

## [2.3] - 2018-09-30
### Added
- 35 new fonts
	1. nancyj-improved
	2. nscript
	3. ntgreek
	4. nvscript
	5. octal
	6. oldbanner
	7. os2
	8. peaksslant
	9. puzzle
	10. rammstein
	11. red_phoenix
	12. runyc
	13. santaclara
	14. shimrod
	15. smallcaps
	16. smpoison
	17. soft
	18. spliff
	19. stacey
	20. stampate
	21. stforek
	22. sub-zero
	23. swampland
	24. sweet
	25. ticks
	26. ticksslant
	27. tiles
	28. tsalagi
	29. tubular
	30. twisted
	31. varsity
	32. wavy
	33. wetletter
	34. whimsy
	35. wow

## [2.2] - 2018-09-24
### Added
- 15 new fonts
	1. ICL-1900
	2. impossible
	3. jacky
	4. katakana
	5. keyboard
	6. knob
	7. lildevil
	8. lineblocks
	9. merlin1
	10. merlin2
	11. modular
	12. morse
	13. morse2
	14. moscow
	15. muzzle
- `set_default` function
- `randart` function

## [2.1] - 2018-09-18
### Added
- 15 new fonts
	1. fraktur
	2. funface
	3. funfaces
	4. georgi16
	5. georgia11
	6. ghost
	7. ghoulish
	8. glenyn
	9. graceful
	10. greek
	11. heartleft
	12. heartright
	13. henry3d
	14. horizontalleft
	15. horizontalright
### Changed
- `setuptools` removed from `requirements.txt`
- `OSX` env added to `.travis.yml`
- Test cases modified
- `text2art` bug  in OSX fixed

## [2.0] - 2018-08-30
### Added
- 20 new fonts
	1. bigfig
	2. bolger
	3. braced
	4. bright
	5. broadway
	6. cards
	7. chiseled
	8. cola
	9. crawford
	10. cricket
	11. DANC4
	12. dancingfont
	13. decimal
	14. defleppard
	15. dietcola
	16. flipped
	17. double
	18. doubleshorts
	19. eftipiti
	20. filter
- Font list HTML page
- Art list HTML page

## [1.9] - 2018-08-23
### Added
- 20 new fonts
	1. cybersmall
	2. gothic
	3. rev
	4. smtengwar
	5. term
	6. 1row
	7. 3d_diagonal
	8. 4max
	9. amc3line
	10. amcrazor
	11. amcaaa01
	12. amcneko
	13. amcrrazo2
	14. amcslash
	15. amcthin
	16. amctubes
	17. amcun1
	18. arrows
	19. bear
	20. benjamin

## [1.8] - 2018-08-06
### Added
- 30 new 1-line art
	1. westbound fish
	2. telephone
	3. 9/11 truth
	4. spear
	5. srs face
	6. this is areku
	7. robot boy
	8. med man
	9. angry
	10. badass
	11. zoidberg
	12. eastbound fish
	13. kilroy was here
	14. gtalk fit
	15. thanks
	16. dalek
	17. sean the sheep
	18. kablewee
	19. i dont care
	20. slenderman
	21. john lennon
	22. peace yo
	23. punch
	24. russian boobs
	25. fuck off
	26. man tears
	27. robber
	28. facepalm
	29. yo
	30. party time

## [1.7] - 2018-08-01
### Added
- 30 new 1-line art
	1. crayons
	2. stars in my eyes
	3. fish invasion
	4. bender
	5. musical
	6. sunny day
	7. happy birthday 1
	8. line brack
	9. med
	10. melp1
	11. happy3
	12. happy square
	13. snowman
	14. melp2
	15. i kill you
	16. jaymz
	17. text decoration
	18. long rose
	19. kirbay dance
	20. death star defense team
	21. chainsword
	22. boobies
	23. dancing people
	24. dance
	25. pictou
	26. polar bear
	27. go away bear
	28. charly
	29. train
	30. spot
### Changed
- `car race` 1-line art fixed

## [1.6] - 2018-07-10
### Added
- 30 new 1-line art
	1. sexy symbol
	2. barbell
	3. sniper rifle
	4. being draged
	5. possessed
	6. jokeranonimous
	7. epic gun
	8. love
	9. love2
	10. eric
	11. puls
	12. sky free
	13. smug bastard
	14. tie-fighter
	15. kyubey
	16. dancee
	17. mtmtika
	18. ak-47
	19. eaten apple
	20. huhu
	21. faydre
	22. domino
	23. honeycute
	24. superman
	25. worm2
	26. jokeranonimous2
	27. kyubey2
	28. nose2
	29. hell yeah
	30. roke

## [1.5] - 2018-06-18
### Added
- 30 new 1-line art
	1. sorreh bro
	2. yolo
	3. formula 1 car
	4. dummy
	5. rope
	6. rare
	7. chess pieces
	8. sparkling heart
	9. weather
	10. stars2
	11. upsidedown
	12. nathan
	13. cat smile
	14. old lady boobs
	15. glasses2
	16. religious
	17. sniperstars
	18. kokain
	19. bagel
	20. crying
	21. angry2
	22. 3
	23. 5
	24. fuck you
	25. head shot
	26. metal
	27. killer
	28. fu
	29. ankush
	30. owlkin
### Changed
- CLI `art` flag
- CLI `list` flag
## [1.4] - 2018-06-14
### Added
- 15 new fonts
	1. letters
	2. lockergnome
	3. madrid
	4. marquee
	5. mike
	6. mini
	7. nancyj-fancy
	8. nancyj-underlined
	9. pepper
	10. poison
	11. rot13
	12. short
	13. small
	14. tengwar
	15. big
- 11 new 1-line art
	1. teddy
	2. dice
	3. bee
	4. ukulele
	5. perky
	6. snail
	7. decorate
	8. kirby
	9. mango
	10. bunny
	11. kiss
- `random` 1-line art mode
### Changed
- Minor bug in `text2art` random range fixed
- `README.md` modified
- `aprint_test` function renamed to `art_list`
- `setup.py` modified

## [1.3] - 2018-06-08
### Added
- 10 new fonts
	1. eftitalic
	2. eftiwater
	3. fourtops
	4. goofy
	5. hollywood
	6. invita
	7. italic
	8. jazmine
	9. lcd
	10. lean
- `random` font mode

## [1.2] - 2018-06-04
### Added
- 8 new fonts
	1. barbwire
	2. bigchief
	3. binary
	4. bubble
	5. calgphy2
	6. cygnet
	7. diamond
	8. eftifont
### Changed
- Test cases modified

## [1.1] - 2018-05-25
### Added
- 5 new fonts
	1. peaks
	2. pawp
	3. o8
	4. nipples
	5. maxfour
- 15 new 1-line art
	1. guitar
	2. rocket
	3. ghost
	4. hal
	5. cthulhu
	6. sat
	7. what
	8. king
	9. tron
	10. homer
	11. fox
	12. singing
	13. atish
	14. zable
	15. trumpet
- CLI description
### Changed
- `README.md` modified
- Test cases modified
- File name bug in UNIX fixed
- `CHANGELOG.md` modified

## [1.0] - 2018-05-20
### Added
- 15 new fonts										
	1. tinker-toy
	2. straight
	3. stampatello
	4. smslant
	5. smshadow
	6. smscript
	7. smkeyboard
	8. smisome1
	9. slscript
	10. slide
	11. sblood
	12. rozzo
	13. pyramid
	14. puffy
	15. pebbles
- Typo-tolerance system
### Changed
- `README.md` modified
- Test cases modified

## [0.9] - 2018-05-08
### Added
- 10 new fonts			
	1. weird
	2. univers
	3. twopoint
	4. trek
	5. tombstone
	6. threepoint
	7. thick
	8. tanja
	9. swan
	10. stellar 

### Changed
- `MANIFEST.in` modified
- `INSTALL.md` modified

## [0.8] - 2018-03-13
### Added
- `CHANGELOG.md`

### Changed
- Functions error response
- `README.md` modified
- `tsave` function extension bug fixed
- `text2art` response bug fixed ("\r\n")
- `setup.py` modified

## [0.7] - 2018-01-20
### Added
- 10 new fonts		
	1. acrobatic
	2. alligator
	3. alligator2
	4. block2
	5. caligraphy
	6. computer
	7. digital
	8. doh
	9. eftirobot
	10. graffiti

## [0.6] - 	2018-01-09
### Added
- `all` flag

## [0.5] - 2017-12-05
### Added
- 10 new fonts
	1. 3-d
	2. 3x5
	3. 5lineoblique
	4. alphabet
	5. banner3-D
	6. banner3
	7. banner4
	8. bell
	9. catwalk
	10. colossal

## [0.4] - 2017-11-11
### Added
- Telegram bot


### Changed
- Universal text format added for Unix & Windows



## [0.3] - 	2017-10-28
### Added
- Save function (tsave)
- `chr_ignore` flag
- 10 new fonts
	1. banner
	2. avatar
	3. basic
	4. bulbhead
	5. chunky
	6. coinstak
	7. contessa
	8. contrast
	9. cyberlarge
	10. cybermedium
	11. doom
	12. dotmatrix
	13. drpepper
	14. epic
	15. fuzzy
	16. isometric1
	17. isometric2
	18. isometric3
	19. isometric4
	20. larry3d
	21. nancyj
	22. ogre
	23. rectangles
	24. roman
	25. rounded
	26. rowancap
	27. script
	28. serifcap
	29. shadow
	30. slant
	31. speed
	32. starwars
	33. stop
	34. thin
	35. usaflag
### Changed
- Space bug fixed


## [0.2] - 	2017-10-10
### Added
- Standard font
### Changed
- Minor bugs fixed

## [0.1] - 2017-10-04
### Added
- Block font
- 1-Line art
- CLI commands

[Unreleased]: https://github.com/sepandhaghighi/art/compare/v3.5...dev
[3.5]: https://github.com/sepandhaghighi/art/compare/v3.4...v3.5
[3.4]: https://github.com/sepandhaghighi/art/compare/v3.3...v3.4
[3.3]: https://github.com/sepandhaghighi/art/compare/v3.2...v3.3
[3.2]: https://github.com/sepandhaghighi/art/compare/v3.1...v3.2
[3.1]: https://github.com/sepandhaghighi/art/compare/v3.0...v3.1
[3.0]: https://github.com/sepandhaghighi/art/compare/v2.9...v3.0
[2.9]: https://github.com/sepandhaghighi/art/compare/v2.8...v2.9
[2.8]: https://github.com/sepandhaghighi/art/compare/v2.7...v2.8
[2.7]: https://github.com/sepandhaghighi/art/compare/v2.6...v2.7
[2.6]: https://github.com/sepandhaghighi/art/compare/v2.5...v2.6
[2.5]: https://github.com/sepandhaghighi/art/compare/v2.4...v2.5
[2.4]: https://github.com/sepandhaghighi/art/compare/v2.3...v2.4
[2.3]: https://github.com/sepandhaghighi/art/compare/v2.2...v2.3
[2.2]: https://github.com/sepandhaghighi/art/compare/v2.1...v2.2
[2.1]: https://github.com/sepandhaghighi/art/compare/v2.0...v2.1
[2.0]: https://github.com/sepandhaghighi/art/compare/v1.9...v2.0
[1.9]: https://github.com/sepandhaghighi/art/compare/v1.8...v1.9
[1.8]: https://github.com/sepandhaghighi/art/compare/v1.7...v1.8
[1.7]: https://github.com/sepandhaghighi/art/compare/v1.6...v1.7
[1.6]: https://github.com/sepandhaghighi/art/compare/v1.5...v1.6
[1.5]: https://github.com/sepandhaghighi/art/compare/v1.4...v1.5
[1.4]: https://github.com/sepandhaghighi/art/compare/v1.3...v1.4
[1.3]: https://github.com/sepandhaghighi/art/compare/v1.2...v1.3
[1.2]: https://github.com/sepandhaghighi/art/compare/v1.1...v1.2
[1.1]: https://github.com/sepandhaghighi/art/compare/v1.0...v1.1
[1.0]: https://github.com/sepandhaghighi/art/compare/v0.9...v1.0
[0.9]: https://github.com/sepandhaghighi/art/compare/v0.8...v0.9
[0.8]: https://github.com/sepandhaghighi/art/compare/v0.7...v0.8
[0.7]: https://github.com/sepandhaghighi/art/compare/v0.6...v0.7
[0.6]: https://github.com/sepandhaghighi/art/compare/v0.5...v0.6
[0.5]: https://github.com/sepandhaghighi/art/compare/v0.4...v0.5
[0.4]: https://github.com/sepandhaghighi/art/compare/v0.3...v0.4
[0.3]: https://github.com/sepandhaghighi/art/compare/v0.2...v0.3
[0.2]: https://github.com/sepandhaghighi/art/compare/v0.1...v0.2
[0.1]: https://github.com/sepandhaghighi/art/compare/1e238cd...v0.1





