Convert Figma logo to code with AI

sepandhaghighi logoart

🎨 ASCII art library for Python

2,089
127
2,089
9

Top Related Projects

An opinionated list of awesome Python frameworks, libraries, software and resources.

49,200

Rich is a Python library for rich text and beautiful formatting in the terminal.

A cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations

An implementation of figlet written in Python

Quick Overview

Art is a Python library for ASCII art generation. It provides a simple and customizable way to create text-based art, including various preset patterns, shapes, and the ability to convert images into ASCII representations.

Pros

  • Easy to use with a simple API
  • Supports a wide range of ASCII art styles and patterns
  • Customizable output with various options for characters, colors, and sizes
  • Can convert images to ASCII art

Cons

  • Limited to ASCII characters, which may not be suitable for complex designs
  • Output quality can vary depending on the input and chosen settings
  • May not be suitable for professional or high-resolution graphic needs
  • Performance may slow down with very large outputs

Code Examples

  1. Generate a simple ASCII art text:
from art import text2art

output = text2art("Hello")
print(output)
  1. Create a custom ASCII art pattern:
from art import art

custom_art = art("coffee")
print(custom_art)
  1. Convert an image to ASCII art:
from art import image_to_ascii

ascii_art = image_to_ascii("path/to/image.jpg", columns=80, char="#")
print(ascii_art)

Getting Started

To get started with Art, follow these steps:

  1. Install the library using pip:

    pip install art
    
  2. Import the necessary functions in your Python script:

    from art import text2art, art, image_to_ascii
    
  3. Start creating ASCII art:

    print(text2art("Art"))
    print(art("tree"))
    

That's it! You can now explore the various functions and options available in the Art library to create your own ASCII art masterpieces.

Competitor Comparisons

An opinionated list of awesome Python frameworks, libraries, software and resources.

Pros of awesome-python

  • Comprehensive curated list of Python frameworks, libraries, and resources
  • Regularly updated with community contributions
  • Covers a wide range of Python-related topics and categories

Cons of awesome-python

  • Not a functional library or tool, just a reference list
  • May be overwhelming for beginners due to the sheer volume of information

Code comparison

art:

from art import *
Art=text2art("Hello")
print(Art)

awesome-python:

# No code to compare, as awesome-python is a curated list, not a functional library

Key differences

  • Purpose: art is a Python library for ASCII art generation, while awesome-python is a curated list of Python resources
  • Functionality: art provides direct functionality for creating ASCII art, whereas awesome-python serves as a reference guide
  • Scope: art focuses on a specific task (ASCII art generation), while awesome-python covers a broad range of Python-related topics

Use cases

  • Use art when you need to generate ASCII art in your Python projects
  • Refer to awesome-python when looking for Python libraries, frameworks, or resources for various tasks and projects
49,200

Rich is a Python library for rich text and beautiful formatting in the terminal.

Pros of Rich

  • More comprehensive feature set for terminal formatting and styling
  • Supports tables, progress bars, and syntax highlighting
  • Actively maintained with frequent updates

Cons of Rich

  • Larger library size and potentially more complex to use
  • May be overkill for simple text art or ASCII projects

Code Comparison

Rich:

from rich import print
print("[bold red]Hello[/bold red] [green]World[/green]!")

Art:

from art import text2art
print(text2art("Hello World"))

Summary

Rich is a powerful library for rich text and beautiful formatting in the terminal, offering a wide range of features beyond simple ASCII art. It's ideal for complex terminal applications and data presentation.

Art focuses specifically on ASCII art generation and text-based designs. It's simpler to use for basic text art but lacks the advanced formatting capabilities of Rich.

Choose Rich for comprehensive terminal styling and formatting, or Art for quick and easy ASCII art generation.

A cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations

Pros of asciimatics

  • More feature-rich, offering advanced terminal animations and effects
  • Supports both Windows and Unix-like systems natively
  • Provides a higher-level API for creating complex ASCII animations

Cons of asciimatics

  • Steeper learning curve due to more complex API
  • Larger library size, which may be overkill for simple ASCII art needs
  • Requires more system resources for advanced animations

Code Comparison

asciimatics:

from asciimatics.screen import Screen

def demo(screen):
    screen.print_at('Hello world!', 0, 0)
    screen.refresh()
    screen.wait_for_input(10)

Screen.wrapper(demo)

art:

from art import *

print(text2art("Hello world!"))

Summary

asciimatics is a more comprehensive library for creating complex ASCII animations and terminal UIs, while art focuses on simpler ASCII art generation. asciimatics offers more features but requires more setup and learning, whereas art provides a straightforward API for basic ASCII art needs.

An implementation of figlet written in Python

Pros of pyfiglet

  • Focused specifically on FIGlet fonts, providing a more specialized tool for ASCII art text
  • Longer development history and more established in the Python community
  • Simpler API for basic text-to-ASCII art conversion

Cons of pyfiglet

  • Limited to FIGlet fonts, less versatile compared to art's wider range of ASCII art styles
  • Fewer additional features beyond basic text rendering
  • Less active development and updates in recent years

Code Comparison

pyfiglet:

from pyfiglet import Figlet
f = Figlet(font='slant')
print(f.renderText('Hello'))

art:

from art import text2art
print(text2art("Hello", font="slant"))

Both libraries offer similar functionality for rendering ASCII art text, but art provides a more concise API and additional features beyond FIGlet fonts. While pyfiglet focuses solely on FIGlet fonts, art offers a wider range of ASCII art styles and additional functionalities like 1-line art and decoration patterns.

art is more actively maintained and frequently updated, providing users with new features and improvements. However, pyfiglet's longer history and specialization in FIGlet fonts may make it a preferred choice for projects specifically requiring FIGlet support.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README


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. ;-)

Open Hub
PyPI Counter
Github Stars
Font Counter 657
1-Line-Art Counter 710
Decor Counter 218
Branch master dev
CI
Code Quality codebeat badge CodeFactor

Usage

Quick Start

1-Line art

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

⚠️ ART 4.6 is the last version to support Bipartite art

1. art

This function return 1-line art as str in normal mode and raise artError in exception.

>>> 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("coffee", number=3, space=5) 
'c[_]     c[_]     c[_]'
>>> art("random") # random 1-line art mode
'(っ◕‿◕)っ '
>>> art("rand")   # random 1-line art mode
't(-_-t) '
>>> art(22,number=1) # raise artError
Traceback (most recent call last):
        ...
art.art.artError: The 'artname' type must be str.

2. aprint

This function print 1-line art in normal mode (return None) and raise artError in exception.

>>> aprint("butterfly") # print art
Ƹ̵̡Ӝ̵̨̄Ʒ 
>>> aprint("happy") # print art
 ۜ\(סּںסּَ` )/ۜ
>>> aprint("coffee", number=3, space=5) 
c[_]     c[_]     c[_] 
>>> aprint("random") # random 1-line art mode
'(っ◕‿◕)っ '
>>> aprint("rand")   # random 1-line art mode
't(-_-t) '
>>> aprint("woman",number="22") # raise artError
Traceback (most recent call last):
        ...
art.art.artError: The 'number' type must be int.

3. randart

randart function is added in Version 2.2 as art("random") shortcut.

>>> randart()
'ዞᏜ℘℘Ꮍ ℬℹℛʈዞᗬᏜᎽ '
>>> randart()
'✌(◕‿-)✌ '
  • Note1 : Use ART_NAMES to access all arts name list (new in Version 4.2)
  • Note2 : Use NON_ASCII_ARTS to access all Non-ASCII arts name list (new in Version 4.6)
  • Note3 : Use ASCII_ARTS to access all ASCII arts name list (new in Version 5.7)

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)

⚠️ From Version 5.3 \n is used as the default line separator instead of \r\n (Use sep parameter if needed)

1. text2art

This function return ASCII text as str in normal mode and raise artError in exception.

>>> 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("test", space=10))
 _                                             _   
| |_             ___            ___           | |_ 
| __|           / _ \          / __|          | __|
| |_           |  __/          \__ \          | |_ 
 \__|           \___|          |___/           \__|
                                                   
>>> print(text2art('''Lorem  
ipsum 
dolor''', font="small")) # Multi-line print
 _                            
| |    ___  _ _  ___  _ __    
| |__ / _ \| '_|/ -_)| '  \   
|____|\___/|_|  \___||_|_|_|  
                              
 _                         
(_) _ __  ___ _  _  _ __   
| || '_ \(_-<| || || '  \  
|_|| .__//__/ \_,_||_|_|_| 
   |_|                     
    _       _           
 __| | ___ | | ___  _ _ 
/ _` |/ _ \| |/ _ \| '_|
\__,_|\___/|_|\___/|_|  
                        

>>> print(text2art("test","white_bubble"))  # Non-ASCII font example
ⓣⓔⓢⓣ
>>> text2art("art",font="fancy5",decoration="barcode1") # decoration parameter is added in Version 4.6
'▌│█║▌║▌║ ᏗᏒᏖ ║▌║▌║█│▌'
>>> 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.

>>> 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", space=10)
 _                                             _   
| |_             ___            ___           | |_ 
| __|           / _ \          / __|          | __|
| |_           |  __/          \__ \          | |_ 
 \__|           \___|          |___/           \__|
                                                   
>>> 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
_    ____ ____ ____ _  _    
|    |  | |__/ |___ |\/|    
|___ |__| |  \ |___ |  |    
                            
_ ___  ____ _  _ _  _    
| |__] [__  |  | |\/|    
| |    ___] |__| |  |    
                         
___  ____ _    ____ ____ 
|  \ |  | |    |  | |__/ 
|__/ |__| |___ |__| |  \ 

>>> tprint("art",font="fancy5",decoration="barcode1") # decoration parameter is added in Version 4.6
▌│█║▌║▌║ ᏗᏒᏖ ║▌║▌║█│▌
>>> tprint("art",font="fancy5",decoration="random") # decoration random mode is added in Version 5.0
•]•·✦º✦·»ᏗᏒᏖ«·✦º✦·•[•

3. tsave

This function return dict in normal and exception mode.

>>> 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'"}
>>> Response=tsave("art",filename="test.txt",overwrite=True) # overwrite parameter is added in Version 4.0
Saved! 
Filename: test.txt
>>> Response=tsave("art",filename="test.txt",decoration="barcode1") # decoration parameter is added in Version 4.6
Saved! 
Filename: test.txt
>>> Response=tsave("art",filename="test.txt",sep="\r\n") # sep parameter is added in Version 5.3
Saved! 
Filename: test.txt                        
>>> Response=tsave("art",filename="test.txt",space=5) # space parameter is added in Version 6.0
Saved! 
Filename: test.txt                        
  • Note1 : Use FONT_NAMES to access all fonts name list (new in Version 4.2)
  • Note2 : Use NON_ASCII_FONTS to access all Non-ASCII fonts name list (new in Version 4.4)
  • Note3 : Use ASCII_FONTS to access all ASCII fonts name list (new in Version 5.7)

Decoration

⚠️ Some environments don't support all decorations

1. decor

This function return decoration as str in normal mode and raise artError in exception.

>>> decor("barcode1")
'▌│█║▌║▌║ '
>>> decor("barcode1",reverse=True)
' ║▌║▌║█│▌'
>>> decor("barcode1") + text2art("    art   ",font="fancy42") + decor("barcode1",reverse=True)
'▌│█║▌║▌║     ąяţ    ║▌║▌║█│▌'
>>> decor("barcode1",both=True) # both parameter is added in Version 5.0
['▌│█║▌║▌║ ', ' ║▌║▌║█│▌']
>>> decor("random",both=True) # random mode is added in Version 5.0
['「(◔ω◔「)三', '三三三ʅ(;◔౪◔)ʃ']
>>> decor("rand",both=True) # random mode is added in Version 5.0
['‹–…·´`·…–›', '‹–…·´`·…–›']
>>> decor(None)
Traceback (most recent call last):
	...
art.art.artError: The 'decoration' type must be str.
  • Note : Use DECORATION_NAMES to access all decorations name list (new in Version 4.6)

Font modes

These modes are available for text2art, tprint & tsave.

1. Font name

⚠️ Some fonts don't support all characters


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

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

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

2. Random

Randomly select from all fonts.

Keywords : random, rand & rnd

>>> 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
>>> 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
>>> 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
>>> 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
>>> tprint("test","rnd-xlarge")
      _____                    _____                    _____                _____          
     /\    \                  /\    \                  /\    \              /\    \         
    /::\    \                /::\    \                /::\    \            /::\    \        
    \:::\    \              /::::\    \              /::::\    \           \:::\    \       
     \:::\    \            /::::::\    \            /::::::\    \           \:::\    \      
      \:::\    \          /:::/\:::\    \          /:::/\:::\    \           \:::\    \     
       \:::\    \        /:::/__\:::\    \        /:::/__\:::\    \           \:::\    \    
       /::::\    \      /::::\   \:::\    \       \:::\   \:::\    \          /::::\    \   
      /::::::\    \    /::::::\   \:::\    \    ___\:::\   \:::\    \        /::::::\    \  
     /:::/\:::\    \  /:::/\:::\   \:::\    \  /\   \:::\   \:::\    \      /:::/\:::\    \ 
    /:::/  \:::\____\/:::/__\:::\   \:::\____\/::\   \:::\   \:::\____\    /:::/  \:::\____\
   /:::/    \::/    /\:::\   \:::\   \::/    /\:::\   \:::\   \::/    /   /:::/    \::/    /
  /:::/    / \/____/  \:::\   \:::\   \/____/  \:::\   \:::\   \/____/   /:::/    / \/____/ 
 /:::/    /            \:::\   \:::\    \       \:::\   \:::\    \      /:::/    /          
/:::/    /              \:::\   \:::\____\       \:::\   \:::\____\    /:::/    /           
\::/    /                \:::\   \::/    /        \:::\  /:::/    /    \::/    /            
 \/____/                  \:::\   \/____/          \:::\/:::/    /      \/____/             
                           \:::\    \               \::::::/    /                           
                            \:::\____\               \::::/    /                            
                             \::/    /                \::/    /                             
                              \/____/                  \/____/                              
                                                                                            

7. Wizard

This mode consider length of input text to select font

☑️ Support of 95 ASCII characters guaranteed

Keywords : wizard, wiz & magic

  • Note : New in Version 2.9
>>> 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
>>> tprint("test","random-na")
₮Ɇ₴₮
>>> tprint("test","random-na")
ʇsǝʇ

9. Mix Non-ASCII

Randomly mix Non-ASCII fonts.

Keywords : mix

  • Note : New in Version 3.7
>>> tprint("test","mix")
†Ɛѕ†
>>> tprint("test","mix")
tᏋѕt
>>> tprint("test","mix")
꓄єร꓄

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

Typo-tolerance

Levenshtein distance used in this project. (Version >0.9)

>>> 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.

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

set_default(font='standard', chr_ignore=True, filename='art', print_status=True, overwrite=False, decoration=None, sep='\n')
    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
    :param overwrite : overwrite the saved file if true (only tsave)
    :type overwrite:bool
    :param decoration: input decoration
    :type decoration:str
    :param sep: line separator char
    :type sep: str
    :return: None

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

>>> set_default(font="italic")
>>> tprint("test")
             
_/  _   _ _/ 
/  (- _)  /  
             

  • Note : Functions error response updated in Version 0.8

    Function Normal Output Error
    decor str raise artError
    art str raise artError
    aprint None raise artError
    tprint None raise artError
    tsave {"Status":bool,"Message":str} {"Status":bool,"Message":str}
    text2art str raise artError
    set_default None raise artError

Testing

  • Only ASCII fonts and arts :
art test
  • All fonts, arts and decorations :
art test2

CLI

⚠️ [Backward Compatibility] ART 5.9 is the last version to support this CLI structure officially

⚠️ You can use art or python -m art to run this mode

  • List of arts : art list or art arts
  • List of fonts : art fonts
  • Text : art text [yourtext] [fontname(optional)]
  • Art : art shape [artname] or art art [artname]
  • Save : art save [yourtext] [fontname(optional)]
  • All : art all [yourtext]

Telegram bot

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

Try ART in your browser

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

Binder

  • Open FontList.ipynb, ArtList.ipynb and DecorList.ipynb
  • Edit and execute each part of the notes, step by step from the top panel by run button
  1. ART also can be used online in ascii-generator.site, a Django website by hermanTenuki

Screen record

Screen Record

Issues & bug reports

  1. Fill an issue and describe it. We'll check it ASAP!
    • Please complete the issue template
  2. Discord : https://discord.com/invite/FAAyq3QJqP
  3. Website : https://www.ascii-art.site
  4. Email : info@ascii-art.site

Reference

  1. FIGlet
  2. 1 Line Art
  3. Text to ASCII
  4. ASCII Generator
  5. Asky
  6. Flipyourtext
  7. YayText
  8. Coolletters
  9. Instagram Fonts
  10. Cool Symbol
  11. ASCII Moji
  12. SMILEY COOL
  13. SPREZZ
  14. Textart4u
  15. Chat4o
  16. Findwebapp
  17. Hubpages
  18. ASCII-ART
  19. Messletters
  20. Webestools
  21. ASCII-emoji
  22. Instagram Fonts2
  23. Emotiworld
  24. Fancy Text Pro
  25. Playing Cards in Unicode
  26. Text Generator
  27. GOGOTEXT
  28. Fsymbols
  29. Font Copy and Paste
  30. Mega Cool Text
  31. ToolCalculator
  32. Copy Paste Fonts

Show your support

Star this repo

Give a ⭐️ if this project helped you!

Donate to our project

If you do like our project and we hope that you do, can you please support us? Our project is not and is never going to be working for profit. We need the money just so we can continue doing what we do ;-) .

Art Donation

Become a sponsor to ART

  • Contact us at the email first

Corporate sponsor

  • $250 a month
  • Your company's logo can be featured on Readme
  • Intended for small companies

Mega corporate sponsor

  • $500 a month
  • Your company's logo can be featured on Readme and Website
  • Intended for medium-sized companies

Acknowledgments

Some parts of the infrastructure for this project are supported by:

DigitalOcean