├── requirements.txt ├── HappyBirthday.mp3 ├── image └── PyBirthdayWish.gif ├── .gitignore ├── config.py ├── LICENSE ├── README.md ├── PyBirthdayWish.py └── arts ├── art.py ├── artwithstars.py └── example.py /requirements.txt: -------------------------------------------------------------------------------- 1 | termcolor 2 | playsound 3 | PyObjC; sys_platform == 'darwin' 4 | -------------------------------------------------------------------------------- /HappyBirthday.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxprogrammer007/PyBirthdayWish/main/HappyBirthday.mp3 -------------------------------------------------------------------------------- /image/PyBirthdayWish.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxprogrammer007/PyBirthdayWish/main/image/PyBirthdayWish.gif -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | arts/__pycache__/art.cpython-38.pyc 2 | __pycache__/config.cpython-38.pyc 3 | arts/__pycache__/example.cpython-38.pyc 4 | -------------------------------------------------------------------------------- /config.py: -------------------------------------------------------------------------------- 1 | # Specify which file (without .py extension) in the arts folder should be used 2 | artFile = "example" 3 | # Speed of art 4 | speed = 0.005 5 | # Print code in the beginning 6 | codePrint = False 7 | codingSpeed = 0.01 8 | codeColor='red' 9 | # Audio 10 | playAudio = True 11 | audio = 'HappyBirthday.mp3' 12 | # Random color is choosen from the list 13 | color = ['red','green','yellow','blue','magenta','cyan','white'] 14 | # Change the keys of the dict to change the color codes 15 | # If you change the color codes for blink, remove blink(none) and random, you have to change it in pprint() function of PyBirthdayWish.py too. 16 | colorCodes = {'①':'grey','②':'red','③':'green','④':'yellow','⑤':'blue','⑥':'magenta','⑦':'cyan','⑧':'white','⑨':'blink','⑩':'none','®':'random'} 17 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Hemanta Pokharel 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | platform 3 | 4 | licence 5 | 6 | 7 | Forks 8 | 9 | 10 | Stars 11 | 12 | 13 | Issues 14 | 15 | 16 | Pull Requests 17 | 18 | 19 | Subscribe my channel H9 20 | 21 | PyBirthdayWish GIF 22 |

Wish your loved one in a pythonic way

23 |

24 | 25 | views 26 | 27 | 28 | likes 29 | 30 | 31 | comments 32 | 33 | visitors 34 |

35 | 36 |

37 | 38 | ## 🕯️ Steps to wish 39 | 40 | * Clone this repo and install the requirements 41 | ```bash 42 | git clone https://github.com/hemantapkh/PyBirthdayWish.git && cd PyBirthdayWish && pip install -r requirements.txt 43 | ``` 44 | * Edit the ``arts/art.py`` file and add your texts and colors using color codes. 45 | 46 | * Edit the ``config.py`` file to change the settings and make ``artFile = 'art'`` to use ``arts/art.py`` instead of ``example.py``. 47 | 48 | * Run ``PyBirthdayWish.py`` with python3 49 | ```bash 50 | python3 PyBirthdayWish.py 51 | ``` 52 | 53 | ----- 54 | 55 | Made with :heart: and Python. 56 | -------------------------------------------------------------------------------- /PyBirthdayWish.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import os,random 4 | from threading import Thread 5 | from time import sleep 6 | 7 | from termcolor import colored 8 | from playsound import playsound 9 | 10 | from config import * 11 | 12 | # Importing module specified in the config file 13 | art = __import__(f'arts.{artFile}', globals(), locals(), ['*']) 14 | 15 | def replaceMultiple(mainString, toBeReplace, newString): 16 | """[Replace a set of multiple sub strings with a new string] 17 | 18 | Args: 19 | mainString ([string]): [String in which the replacement will be done] 20 | toBeReplace ([list]): [A list which elements will be replaced by a newString] 21 | newString ([string]): [A string which will be replaced in place of elements of toBeReplace] 22 | 23 | Returns: 24 | [string]: [Return the main string where the element of toBeReplace is replaced by newString] 25 | """ 26 | 27 | # Iterate over the list to be replaced 28 | for elem in toBeReplace : 29 | # Check if the element is in the main string 30 | if elem in mainString : 31 | # Replace the string 32 | mainString = mainString.replace(elem, newString) 33 | 34 | return mainString 35 | 36 | def pprint(art,time): 37 | color_used = [random.choice(color)] 38 | colorAttribute = [] 39 | for i in range(len(art)): 40 | if art[i] in colorCodes: 41 | # Color attr set to blink if 9 42 | if art[i] == '⑨': 43 | colorAttribute = [colorCodes[art[i]]] 44 | # color attr none if 10 45 | elif art[i] == '⑩': 46 | colorAttribute = [] 47 | # Random color if R 48 | elif art[i] == '®': 49 | color_used = color 50 | else: 51 | color_used = [colorCodes[art[i]]] 52 | 53 | print(colored(replaceMultiple(art[i],colorCodes,''),random.choice(color_used),attrs=colorAttribute),sep='', end='',flush= True);sleep(time) 54 | 55 | def pAudio(): 56 | if playAudio: 57 | playsound(audio) 58 | 59 | def pcode(): 60 | # Print the code before wishing 61 | if codePrint: 62 | for i in range(len(art.code)): 63 | print(colored(art.code[i], codeColor),sep='', end='',flush= True);sleep(codingSpeed) 64 | input('\n\n'+colored('python3','blue')+colored(' PyBirthdayWish.py','yellow')) 65 | os.system('cls' if os.name == 'nt' else 'clear') 66 | else: 67 | input(colored('press {Enter}...','blue')) 68 | os.system('cls' if os.name == 'nt' else 'clear') 69 | 70 | # Clearing terminal 71 | os.system('cls' if os.name == 'nt' else 'clear') 72 | pcode() 73 | Thread(target = pAudio).start() 74 | Thread(target = pprint, args=(art.mainArt,speed)).start() 75 | input() -------------------------------------------------------------------------------- /arts/art.py: -------------------------------------------------------------------------------- 1 | # This is uncolored art. Use the color code to decorate the art as shown in example.py 2 | 3 | # Color Codes 4 | ''' 5 | Copy these codes and paste it before the text for the color your wish 6 | ① = grey 7 | ② = red 8 | ③ = green 9 | ④ = yellow 10 | ⑤ = blue 11 | ⑥ = magenta 12 | ⑦ = cyan 13 | ⑧ = white 14 | ⑨ = blink 15 | ⑩ = remove blink 16 | ® = random 17 | ''' 18 | 19 | # Happy Birthday Love 20 | ''' 21 | https://patorjk.com/software/taag/#p=display&f=Crawford2&t=Happy%20Birthday%0A%20%20%20%20%20%20Name 22 | Go to the above link and generate art to replace 'Happy Birthday Love' with other text you wish to display. 23 | ''' 24 | 25 | mainArt = \ 26 | ''' 27 | 28 | 29 | _..._ ,s$$$s. _..._ ,s$$$s. 30 | .$$$$$$$s$$ss$$$$, .$$$$$$$s$$ss$$$$, 31 | $$$sss$$$$s$$$$$$$ $$$sss$$$$s$$$$$$$ 32 | $$ss$$$$$$$$$$$$$$ ( ) $$ss$$$$$$$$$$$$$$ 33 | '$$$s$$$$$$$$$$$$' ) (*) (*) ( '$$$s$$$$$$$$$$$$' 34 | '$$$$$$$$$$$$$$' (*) | | (*) '$$$$$$$$$$$$$$' 35 | S$$$$$$$$$$$' | |~| |~| | S$$$$$$$$$$$' 36 | '$$$$$$$$$' |~| | | | | |~| '$$$$$$$$$' 37 | '$$$$$' | | | | | | | | '$$$$$' 38 | '$$$' ,| |a@@@@| |@@@@@@@@@@@| |@@@@a| |. '$$$' 39 | ; .,a@@@| |@@@@@| |@@@@@@@@@@@| |@@@@@| |@@@@a,. ; 40 | ; ,a@@@@@@| |@@@@@@@@@@@@.@@@@@@@@@@@@@@| |@@@@@@@a, ; 41 | ; a@@@@@@@@@@@@@@@@@@@@@' . `@@@@@@@@@@@@@@@@@@@@@@@@a ; 42 | ', ;`@@@@@@@@@@@@@@@@@@' . `@@@@@@@@@@@@@@@@@@@@@'; ', 43 | ; ;@@@`@@@@@@@@@@@@@' . `@@@@@@@@@@@@@@@@'@@@; ; 44 | ,' ;@@@;,.aaaaaaaaaa . aaaaa,,aaaaaaa,;@@@; ,' 45 | ; ;;@;;;;@@@@@@@@;@ @.@ ;@@@;;;@@@@@@;;;;@@; ; 46 | ', ;;;;;;;@@@@;@@;;@ @@ . @@ ;;@;;;;@@;@@@;;;;;;; ', 47 | ', ;;;;;;;;@@;;;;;;; @@ . @@ ;;;;;;;;;;;@@;;;;@;; ', 48 | ; ;;;;;;;;;;;;;;;;;@@ . @@;;;;;;;;;;;;;;;;@@@; ; 49 | ' ,%%%;;;;;;;;@;;;;;;;; . ;;;;;;;;;;;;;;;;@@;;%%%, ' 50 | .%%%%%%;;;;;;;@@;;;;;;;; ,%%%, ;;;;;;;;;;;;;;;;;;;;%%%%%%, 51 | .%%%%%%%;;;;;;;@@;;;;;;;; ,%%%%%%%, ;;;;;;;;;;;;;;;;;;;;%%%%%%%, 52 | %%%%%%%%`;;;;;;;;;;;;;;;; %%%%%%%%%%% ;;;;;;;;;;;;;;;;;;;'%%%%%%%% 53 | %%%%%%%%%%%%`;;;;;;;;;;;;,%%%%%%%%%%%%%,;;;;;;;;;;;;;;;'%%%%%%%%%%%% 54 | `%%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%%%%%%' 55 | `%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' 56 | `%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' 57 | """"""""""""""`,,,,,,,,,'""""""""""""""""" 58 | `%%%%%%%' 59 | `%%%%%' 60 | %%% 61 | %%%%% 62 | .,%%%%%%%,. 63 | ,%%%%%%%%%%%%%%%%%%%, 64 | __ __ ____ ____ ____ __ __ ____ ____ ____ ______ __ __ ___ ____ __ __ 65 | | | | / || \| \| | | | \ | || \| || | || \ / || | | 66 | | | || o || o ) o ) | | | o ) | | | D ) || | || \ | o || | | 67 | | _ || || _/| _/| ~ | | | | | | /|_| |_|| _ || D || || ~ | 68 | | | || _ || | | | |___, | | O | | | | \ | | | | || || _ ||___, | 69 | | | || | || | | | | | | | | | | . \ | | | | || || | || | 70 | |__|__||__|__||__| |__| |____/ |_____||____||__|\_| |__| |__|__||_____||__|__||____/ 71 | 72 | __,,,__ _ ___ __ __ ___ __,,,__ 73 | ,-""-,-" "-,-""-, | | / \ | | | / _] ,-""-,-" "-,-""-, 74 | /,-' , .-'-.7.-'-. , '-,\ | | | || | | / [_ /,-' , .-'-.7.-'-. , '-,\\ 75 | \( / _ _ \ )/ | |___ | O || | || _] \( / _ _ \ )/ 76 | '-, { (0) (0) } ,-' | || || : || [_ '-, { (0) (0) } ,-' 77 | / > .---. < \ | || | \ / | | / > .---. < \\ 78 | |/ .-' \___/ '-. \| |_____| \___/ \_/ |_____| |/ .-' \___/ '-. \| 79 | {, / ,_ _, \ ,} {, / ,_ _, \ ,} 80 | \ {, \ / ,} / \ {, \ / ,} / 81 | ',\. '---' ./,' ',\. '---' ./,' 82 | _.-""""""-._ _.-""""""-._ _.-""""""-._ _.-""""""-._ 83 | .' `._.` '. .' `._.` '. 84 | _/_ \ _/_ \\ 85 | .'` `\ \ .'` `\ \\ 86 | / | Your ; / | Your ; 87 | | / | | / | 88 | \\ ;'---' text ; \\;'---' text ; 89 | '. ; _ ; '. ; _ ; 90 | `-\ here [].' `, `-\ here [].' `, 91 | `\ | \\ `\ | \\ 92 | \ \ | \ \ | 93 | `\ /` _/ `\ /` _/ 94 | ,-""-. .'`\ /`-,-'` .-""-, ,-""-. .'`\ /`-,-'` .-""-, 95 | / `\.' `\ /` './` \\ / `\.' `\ /` './` \\ 96 | ; .--. \ '\ /' / .--. ; ; .--. \ '\ /' / .--. ; 97 | | ( \ |, '\ /' | / ) | | ( \ |, '\ /' | / ) | 98 | \ ; } ;\ /; ` { ; / \ ; } ;\ /; ` { ; / 99 | `;\ \ _.-' \ / `-._ / /;` `;\ \ _.-' \ / `-._ / /;` 100 | \ \__.' _.-' Y `-._ '.__// \ \__.' _.-' Y `-._ '.__// 101 | '.___,.-' `-.,___.' '.___,.-' `-.,___.' 102 | 103 | : . __________________ __________________ : . 104 | [""] .-/| \ / |\-. [""] 105 | | | |||| | |||| | | 106 | | | |||| | ~~*~~ |||| | | 107 | | | |||| --==*==-- | |||| | | 108 | : .'--`. |||| -clear------this- | |||| .'--`. : 109 | : .: /`.__.'\ |||| -------and------- | |||| /`.__.'\ : .: 110 | : . / \ |||| -enter------your- | --==*==-- |||| / \ : . 111 | ( ,-'``'-. ; ; |||| -------text------ | -clear------this- |||| ; ; ,-'``'-. ( 112 | )\ |`-..-'| | ,--. | |||| | -------and------- |||| | ,--. | |`-..-'| )\\ 113 | / ) | . :| |_.','`.`._| |||| | -enter------your- |||| |_.','`.`._| | . :| / ) 114 | ( * ( | . : | |--' `--| |||| | -------text------ |||| |--' `--| | . : | ( * ( 115 | \ #/ |`-..-'| || | | | | ||||__________________ | _ ___|||| || | | | | |`-..-'| \#/ 116 | .-"#'-. \::::::/ ||)|/|)|)|\| ||/===================\|/===================\|| ||)|/|)|)|\| \::::::/ .-"#'-. 117 | |"-.-"|--`::::'--|._ ~**~ _.|------`--------------------~___~-------------------''------|._ ~**~ _.|--`::::'--|"-.-"| 118 | | | )( | `-..-' | | `-..-' | )( | | 119 | | | )( | | | | )( | | 120 | | | ,-')('-. | | | | ,-')('-. | | 121 | | |( ' ` )`-._ _.-' `-._ _.-'( ' ` )| | 122 | '-._,-' `-....-' ```` ```` `-....-' '-._,-' 123 | 124 | 125 | ''' 126 | 127 | # Code reader 128 | with open('PyBirthdayWish.py') as f_in: 129 | code = f_in.read() 130 | -------------------------------------------------------------------------------- /arts/artwithstars.py: -------------------------------------------------------------------------------- 1 | # This is uncolored art. Use the color code to decorate the art as shown in example.py 2 | 3 | # Color Codes 4 | ''' 5 | Copy these codes and paste it before the text for the color your wish 6 | ① = grey 7 | ② = red 8 | ③ = green 9 | ④ = yellow 10 | ⑤ = blue 11 | ⑥ = magenta 12 | ⑦ = cyan 13 | ⑧ = white 14 | ⑨ = blink 15 | ⑩ = remove blink 16 | ® = random 17 | ''' 18 | 19 | # Happy Birthday Love 20 | ''' 21 | https://patorjk.com/software/taag/#p=display&f=Crawford2&t=Happy%20Birthday%0A%20%20%20%20%20%20Name 22 | Go to the above link and generate art to replace 'Happy Birthday Love' with other text you wish to display. 23 | ''' 24 | 25 | mainArt = \ 26 | ''' 27 | ❤ ★ ❤ ❤ ❤ ❤ ❤ 28 | * ❤ ✺ 29 | _..._ ,s$$$s. _..._ ,s$$$s. 30 | .$$$$$$$s$$ss$$$$, ❤ .$$$$$$$s$$ss$$$$, 31 | $$$sss$$$$s$$$$$$$ ❤ $$$sss$$$$s$$$$$$$ ❤ 32 | $$ss$$$$$$$$$$$$$$ ( ) $$ss$$$$$$$$$$$$$$ 33 | '$$$s$$$$$$$$$$$$' ) (*) (*) ( '$$$s$$$$$$$$$$$$' 34 | ❤ '$$$$$$$$$$$$$$' ❣ (*) | | (*) ❤ '$$$$$$$$$$$$$$' ❤ 35 | S$$$$$$$$$$$' | |~| |~| | S$$$$$$$$$$$' 36 | '$$$$$$$$$' |~| | | | | |~| '$$$$$$$$$' 37 | '$$$$$' | | | | | | | | '$$$$$' 38 | '$$$' ✺ ,| |a@@@@| |@@@@@@@@@@@| |@@@@a| |. * '$$$' 39 | ; .,a@@@| |@@@@@| |@@@@@@@@@@@| |@@@@@| |@@@@a,. ; 40 | ; ,a@@@@@@| |@@@@@@@@@@@@.@@@@@@@@@@@@@@| |@@@@@@@a, ; ✺ 41 | ★ ❤ ; ★ a@@@@@@@@@@@@@@@@@@@@@' . `@@@@@@@@@@@@@@@@@@@@@@@@a ❤ ; 42 | ', ;`@@@@@@@@@@@@@@@@@@' . `@@@@@@@@@@@@@@@@@@@@@'; ', 43 | ; ;@@@`@@@@@@@@@@@@@' . `@@@@@@@@@@@@@@@@'@@@; ; 44 | ,' ;@@@;,.aaaaaaaaaa . aaaaa,,aaaaaaa,;@@@; ,' 45 | ✺ ; ★ ;;@;;;;@@@@@@@@;@ @.@ ;@@@;;;@@@@@@;;;;@@; ❤ ; ❤ 46 | ', ;;;;;;;@@@@;@@;;@ @@ . @@ ;;@;;;;@@;@@@;;;;;;; ', 47 | ', ;;;;;;;;@@;;;;;;; @@ . @@ ;;;;;;;;;;;@@;;;;@;; ', 48 | ; ;;;;;;;;;;;;;;;;;@@ . @@;;;;;;;;;;;;;;;;@@@; ; 49 | ' ,%%%;;;;;;;;@;;;;;;;; . ;;;;;;;;;;;;;;;;@@;;%%%, ' 50 | .%%%%%%;;;;;;;@@;;;;;;;; ,%%%, ;;;;;;;;;;;;;;;;;;;;%%%%%%, 51 | ★ ❣ .%%%%%%%;;;;;;;@@;;;;;;;; ,%%%%%%%, ;;;;;;;;;;;;;;;;;;;;%%%%%%%, ❤ ❤ ❤ 52 | ❤ %%%%%%%%`;;;;;;;;;;;;;;;; %%%%%%%%%%% ;;;;;;;;;;;;;;;;;;;'%%%%%%%% 53 | %%%%%%%%%%%%`;;;;;;;;;;;;,%%%%%%%%%%%%%,;;;;;;;;;;;;;;;'%%%%%%%%%%%% 54 | `%%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%%%%%%' 55 | `%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' 56 | ❤ ★ `%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' ❤ ❤ 57 | """"""""""""""`,,,,,,,,,'""""""""""""""""" 58 | `%%%%%' 59 | %%% 60 | ❤ ❤ ✺ ❤ %%%%% ❤ * ✺ ❤ 61 | .,%%%%%%%,. 62 | ❤ ,%%%%%%%%%%%%%%%%%%%, 63 | __ __ ____ ____ ____ __ __ ____ ____ ____ ______ __ __ ___ ____ __ __ 64 | | | | / || \| \| | | | \ | || \| || | || \ / || | | ❤ 65 | ❣ | | || o || o ) o ) | | | o ) | | | D ) || | || \ | o || | | 66 | | _ || || _/| _/| ~ | | | | | | /|_| |_|| _ || D || || ~ | 67 | | | || _ || | | | |___, | | O | | | | \ | | | | || || _ ||___, | ✺ 68 | | | || | || | | | | | | | | | | . \ | | | | || || | || | 69 | ★ |__|__||__|__||__| |__| |____/ |_____||____||__|\_| |__| |__|__||_____||__|__||____/ ❤ 70 | 71 | __,,,__ _ ___ __ __ ___ __,,,__ 72 | ✺ ,-""-,-" "-,-""-, | | / \ | | | / _] ,-""-,-" "-,-""-, 73 | /,-' , .-'-.7.-'-. , '-,\ | | | || | | / [_ /,-' , .-'-.7.-'-. , '-,\\ * ❤ 74 | \( / _ _ \ )/ | |___ | O || | || _] \( / _ _ \ )/ 75 | '-, { (0) (0) } ,-' | || || : || [_ '-, { (0) (0) } ,-' 76 | ❤ / > .---. < \ | || | \ / | | / > .---. < \\ 77 | |/ .-' \___/ '-. \| |_____| \___/ \_/ |_____| |/ .-' \___/ '-. \| 78 | ❣ {, / ,_ _, \ ,} {, / ,_ _, \ ,} ❤ 79 | \ {, \ / ,} / \ {, \ / ,} / 80 | ',\. '---' ./,' ',\. '---' ./,' 81 | _.-""""""-._ _.-""""""-._ ❤ _.-""""""-._ _.-""""""-._ 82 | .' `._.` '. .' `._.` '. ❤ 83 | _/_ \ ❣ _/_ \\ 84 | ★ .'` `\ \ .'` `\ \\ 85 | / | Your ; / | Your ; 86 | | / | | / | ❤ * 87 | \\ ;'---' text ; ❤ \\;'---' text ; 88 | '. ; _ ; '. ; _ ; 89 | `-\ here [].' `, ✺ `-\ here [].' `, 90 | ❤ `\ | \\ `\ | \\ 91 | \ \ | ❤ \ \ | 92 | `\ /` _/ `\ /` _/ ❤ 93 | ,-""-. .'`\ /`-,-'` .-""-, * ,-""-. .'`\ /`-,-'` .-""-, 94 | / `\.' `\ /` './` \\ / `\.' `\ /` './` \\ 95 | ; .--. \ '\ /' / .--. ; ; .--. \ '\ /' / .--. ; 96 | | ( \ |, '\ /' | / ) | | ( \ |, '\ /' | / ) | 97 | \ ; } ;\ /; ` { ; / ❤ \ ; } ;\ /; ` { ; / 98 | `;\ \ _.-' \ / `-._ / /;` `;\ \ _.-' \ / `-._ / /;` 99 | ✺ \ \__.' _.-' Y `-._ '.__// \ \__.' _.-' Y `-._ '.__// 100 | '.___,.-' `-.,___.' ★ ❤ '.___,.-' ❤ `-.,___.' ❣ 101 | ❤ 102 | : . __________________ __________________ : . * 103 | ❤ [""] .-/| \ / |\-. [""] ❤ 104 | ❤ | | |||| | |||| | | 105 | | | |||| | ~~*~~ |||| | | 106 | | | |||| --==*==-- | |||| | | ★ 107 | : .'--`. |||| -clear------this- | |||| .'--`. : 108 | ❤ : .: /`.__.'\ |||| -------and------- | |||| /`.__.'\ : .: 109 | : . / \ |||| -enter------your- | --==*==-- |||| / \ : . * 110 | ( ,-'``'-. ; ; |||| -------text------ | -clear------this- |||| ; ; ,-'``'-. ( 111 | )\ |`-..-'| | ,--. | |||| | -------and------- |||| | ,--. | |`-..-'| )\\ ❤ 112 | / ) | . :| |_.','`.`._| |||| | -enter------your- |||| |_.','`.`._| | . :| / ) 113 | ❤ ( * ( | . : | |--' `--| |||| | -------text------ |||| |--' `--| | . : | ( * ( 114 | \ #/ |`-..-'| || | | | | ||||__________________ | _ ___|||| || | | | | |`-..-'| \#/ ❤ 115 | .-"#'-. \::::::/ ||)|/|)|)|\| ||/===================\|/===================\|| ||)|/|)|)|\| \::::::/ .-"#'-. 116 | |"-.-"|--`::::'--|._ ~**~ _.|------`--------------------~___~-------------------''------|._ ~**~ _.|--`::::'--|"-.-"| 117 | | | )( | `-..-' | | `-..-' | )( | | 118 | ★ | | )( | | | | )( | | ❤ 119 | | | ,-')('-. | | * ❤ ❤ | | ,-')('-. | | 120 | | |( ' ` )`-._ _.-' `-._ _.-'( ' ` )| | 121 | '-._,-' `-....-' ```` ❣ ★ ```` `-....-' '-._,-' 122 | 123 | ❤ ★ ✺ ❤ ✺ * ❤ 124 | ''' 125 | 126 | # Code reader 127 | with open('PyBirthdayWish.py') as f_in: 128 | code = f_in.read() 129 | -------------------------------------------------------------------------------- /arts/example.py: -------------------------------------------------------------------------------- 1 | # This is an example of adding colors with color codes. Add colors you wish in 'art.py' and make sure to make ```artFile = art.py``` in config.py to use art.py 2 | 3 | mainArt = \ 4 | ''' 5 | ®❤ ★ ❤ ❤ ❤ ❤ * 6 | ® * ® ❤ ✺ 7 | ② _..._ ,s$$$s. ⑤ _..._ ,s$$$s. 8 | ② .$$$$$$$s$$ss$$$$, ® ❤ ❤ ⑤ .$$$$$$$s$$ss$$$$, 9 | ② $$$sss$$$$s$$$$$$$ ⑤ $$$sss$$$$s$$$$$$$ 10 | ② $$ss$$$$$$$$$$$$$$ ( ) ⑤ $$ss$$$$$$$$$$$$$$ 11 | ® ❤ ② '$$$s$$$$$$$$$$$$' ® ❣ ) (⑨*⑩) (⑨*⑩) ( ⑤ '$$$s$$$$$$$$$$$$' 12 | ② '$$$$$$$$$$$$$$' (⑨*⑩) | | (⑨*⑩) ®❣ ⑤ '$$$$$$$$$$$$$$' 13 | ② S$$$$$$$$$$$' | ⑤|~| ④|~| ②| ⑤ S$$$$$$$$$$$' 14 | ®❤ ② '$$$$$$$$$' ③|~| ⑤| | ④| | ⑥|~| ⑤ '$$$$$$$$$' ® * 15 | ② '$$$$$' ® ★ ✺ ③| | ⑤| | ④| | ⑥| | ®❤ ⑤ '$$$$$' 16 | ② '$$$' ⑧,③| |⑧a@@@@⑤| |⑧@@@@@@@@@@@④| |⑧@@@@a⑥| |⑧. ⑤ '$$$' 17 | ② ; ⑧.,a@@@③| |⑧@@@@@⑤| |⑧@@@@@@@@@@@④| |⑧@@@@@⑥| |⑧@@@@a,. ⑤ ; 18 | ®❤ ② ; ⑧,a@@@@@@③| |⑧@@@@@@@@@@@@.@@@@@@@@@@@@@@⑥| |⑧@@@@@@@a, ® ❤ ⑤ ; 19 | ② ; ⑧a@@@@@@@@@@@@@@@@@@@@@' ⑦.⑧ `@@@@@@@@@@@@@@@@@@@@@@@@a ⑤ ; 20 | ② ', ® ★ ⑧;`@@@@@@@@@@@@@@@@@@' ⑦.⑧ `@@@@@@@@@@@@@@@@@@@@@'; ⑤ ', 21 | ② ; ⑧;@@@`@@@@@@@@@@@@@' ⑦.⑧ `@@@@@@@@@@@@@@@@'@@@; ® ★ ⑤ ; 22 | ② ❤ ,' ⑧;@@@;,.aaaaaaaaaa ⑦.⑧ aaaaa,,aaaaaaa,;@@@; ⑤ ,' 23 | ② ; ⑧;;@;;;;@@@@@@@@;@ ⑦@.@⑧ ;@@@;;;②@@@@@@⑧;;;;@@; ⑤ ; ® ❤ 24 | ② ', ⑧;;;;;;;⑤@@@@⑧;@@;;@ ⑦@@ . @@⑧ ;;@;;;;@@;@@@;;;;;;; ⑤ ', 25 | ② ', ⑧;;;;;;;;@@;;;;;;; ⑦@@ ⑦. @@⑧ ;;;;;;;;;;;@@;;;;@;; ⑤ ', 26 | ®❤ ② ; ®❣ ⑧;;;;;;;;;;;;;;;;;⑦@@ ⑦. @@⑧;;;;;;;;;;;;;;;;@@@; ®❤ ⑤ ; 27 | ② ' ⑦,%%%⑧;;;;;;;;@;;;;;;;; ⑦. ⑧;;;;;;;;;;;;;;;;@@;;⑦%%%, ⑤ ' 28 | ⑦.%%%%%%⑧;;;;;;;②@@⑧;;;;;;;; ⑦,%%%,⑧ ;;;;;;;;;;;;;;;;;;;;⑦%%%%%%, 29 | ⑦.%%%%%%%⑧;;;;;;;@@;;;;;;;; ⑦,%%%%%%%,⑧ ;;;;;;;;;;;;;;;;;;;;⑦%%%%%%%, 30 | ® ✺ ®❤ ⑦%%%%%%%%⑧`;;;;;;;;;;;;;;;; ⑦%%%%%%%%%%%⑧ ;;;;;;;;;;;;;;;;;;;'⑦%%%%%%%% 31 | ⑦%%%%%%%%%%%%⑧`;;;;;;;;;;;;⑦,%%%%%%%%%%%%%⑧,;;;;;;;;;;;;;;;'⑦%%%%%%%%%%%% ®★ ® ❤ 32 | ⑦`%%%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%,,,,,,,%%%%%%%%%%%%%%%%%%%%' 33 | ⑦`%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' 34 | ®★ ⑦`%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' 35 | ®❤ ★ ⑦""""""""""""""`,,,,,,,,,'""""""""""""""""" ® ✺ 36 | ②`%%%%%%%' 37 | ②`%%%%%' ® * ❤ 38 | ®✺ ②%%% 39 | ® ❤ * ②%%%%% ® ★ ® ❤ * 40 | ②.,%%%%%%%,. 41 | ②,%%%%%%%%%%%%%%%%%%%, ® ❤ 42 | ⑧ __ __ ____ ____ ____ __ __ ____ ____ ____ ______ __ __ ___ ____ __ __ 43 | ⑧| | | / || \| \| | | | \ | || \| || | || \ / || | | 44 | ★ ⑧| | || o || o ) o ) | | | o ) | | | D ) || | || \ | o || | | ® ❤ 45 | ⑧| _ || || _/| _/| ~ | | | | | | /|_| |_|| _ || D || || ~ | 46 | ⑧| | || _ || | | | |___, | | O | | | | \ | | | | || || _ ||___, | 47 | ⑧| | || | || | | | | | | | | | | . \ | | | | || || | || | 48 | ❣ ⑧|__|__||__|__||__| |__| |____/ |_____||____||__|\_| |__| |__|__||_____||__|__||____/ ® * 49 | 50 | ④ __,,,__ ⑧ ____ ____ ___ ___ ___ ④ __,,,__ 51 | ✺ ④ ❤ ,-""-,-" "-,-""-, ⑧ | \ / || | | / _] ④ ,-""-,-" "-,-""-, ® ❤ 52 | ★ ④ /,-' , .-'-.7.-'-. , '-,\ ⑧ | _ || o || _ _ | / [_ ④ /,-' , .-'-.7.-'-. , '-,\\ 53 | ④ \( / _ _ \ )/ ⑧ | | || || \_/ || _] ④ \( / _ _ \ )/ ❤ 54 | ④ '-, { (⑨0⑩) (⑨0⑩) } ,-'⑧ | | || _ || | || [_④ '-, { (⑨0⑩) (⑨0⑩) } ,-' 55 | ④ / > .---. < \ ⑧ | | || | || | || | ④ / > .---. < \\ 56 | ④ ❤ |/ .-' \___/ '-. \| ⑧ |__|__||__|__||___|___||_____| ④ |/ .-' \___/ '-. \| ® ❤ 57 | ❤ ④ {, / ,_ _, \ ,} ④ {, / ,_ _, \ ,} 58 | ④ \ {, \ / ,} / ④ \ {, \ / ,} / ® ❤ 59 | ④ ',\. '---' ./,' ® * ② ④ ',\. '---' ./,' 60 | ② _.-""""""-._ _.-""""""-._ ② _.-""""""-._ _.-""""""-._ 61 | ② .' `._.` '. ® ★ ② .' `._.` '. 62 | ®✺ ④ _②/④_ ② \ ④ _②/④_ ② \\ ® ★ 63 | ④ .'` `\ ② \ ④ .'` `\ ② \\ 64 | ④ / | ⑦ Your ② ; ④ / | ⑦ Your ② ; 65 | ④ | / ② | ④ | / ② | 66 | ④ \\ ;'---' ⑦ text ② ; ® ✺ ④ \\;'---' ⑦ text ② ; ® ❣ 67 | ④ '. ; ④ _② ; ④ '. ; ④_② ; 68 | ® ★ ④ `-②\ ⑦ here ④ [].' `, ④ `-②\ ⑦ here ④[].' `, 69 | ② `\ ④ | \\ ② `\ ④| \\ 70 | ② \ ④ \ | ❤ ② ❤ \ ④\ | 71 | ② `\ ④ /` _/ ® ★ ② `\ ④/` _/ ® ❤ 72 | ④ ,-""-. .'②`\ /④`-,-'` .-""-, ④ ,-""-. .'②`\ /④`-,-'` .-""-, 73 | ④ / `\.' ② `\ /`④ './` \\ ④ / `\.' ② `\ /` ④'./` \\ 74 | ④ ; .--. \ ② '\ /' ④ / .--. ; ④ ; .--. \ ② '\ /' ④/ .--. ; 75 | ④ ❤ | ( \ |, ② '\ /' ④ | / ) | ④ | ( \ |, ② '\ /' ④ | / ) | 76 | ④ \ ; } ;②\ /; ④ ` { ; / ®✺ ④ \ ; } ;②\ /; ④ ④` { ; / 77 | ④ `;\ \ _.-' ② \ / ④`-._ / /;` ④ `;\ \ _.-' ② \ / ④`-._ / /;` 78 | ®* ④ \ \__.' _.-' ② Y ④ `-._ '.__// ④ \ \__.' _.-' ② Y ④ `-._ '.__// 79 | ④ '.___,.-' `-.,___.' ④ '.___,.-' `-.,___.' 80 | ®★ ❤ 81 | ❤ ⑦ : . ⑧ __________________ __________________ ⑦ : . 82 | ❤ ⑦ [""] ⑧ .-/| \ / |\-. ⑦ [""] ✺ ❣ 83 | ⑦ | | ⑤ |⑧||| | |||⑤| ⑦ | | 84 | ★ ⑦ | | ⑤ |⑧||| | ~~*~~⑧ |||⑤| ⑦ | | 85 | ⑦ | | ⑤ |⑧||| ⑤--==*==--⑧ | |||⑤| ⑦ | | ® ❤ 86 | ④ : ⑦ .'--`. ⑤ |⑧||| ⑤-clear------this-⑧ | |||⑤| ⑦ .'--`. ④ : 87 | ❣ ④ : .: ⑦ /`.__.'\ ⑤ |⑧||| ⑤-------and-------⑧ | |||⑤| ⑦ /`.__.'\ ④ : .: ® ✺ 88 | ④ : . ⑦ / \ ⑤ |⑧||| ⑤-enter------your-⑧ | ⑤--==*==--⑧ |||⑤| ⑦ / \ ④ : . 89 | ③ ( ④ ,-'``'-.⑦ ; ; ⑤ |⑧||| ⑤-------text------⑧ | ⑤-clear------this-⑧ |||⑤| ⑦ ; ; ④,-'``'-. ⑥ ( 90 | ③ )\ ④ |`-..-'|⑦ | ,--. | ⑤ |⑧||| | ⑤-------and-------⑧ |||⑤| ⑦ | ,--. | ④|`-..-'| ⑥ )\\ 91 | ③ / ) ④| . :| ⑦|_.','`.`._| ⑤ |⑧||| | ⑤-enter------your-⑧ |||⑤| ⑦ |_.','`.`._| ④| . :| ⑥ / ) 92 | ③ ( ⑨*⑩ ③(④ | . : | ⑦|--' `--| ⑤ |⑧||| | ⑤-------text------⑧ |||⑤|⑦ |--' `--| ④| . : | ⑥( ⑨*⑩ ( 93 | ③ \ #/ ④|`-..-'| ⑦|| | | | | ⑤ |⑧|||__________________ | _ ___|||⑤| ⑦|| | | | | ④|`-..-'| ⑥ \#/ 94 | ③ .-"#'-. ④\::::::/ ⑦||)|/|)|)|\| ⑤ |⑧|/===================\|/===================\|⑤| ⑦||)|/|)|)|\| ④\::::::/⑥ .-"#'-. 95 | ★ ③ |"-.-"|⑤--④`::::'⑤--⑦|._ ~**~ _.|⑤------`--------------------~___~-------------------''------⑦|._ ~**~ _.|⑤--④`::::'⑤--⑥|"-.-"| 96 | ③ | | ④ )( ⑦ | `-..-' | ® ⑦ | `-..-' | ④)( ⑥| | 97 | ③ | | ④ )( ⑦ | | ® * ★ ⑦ | | ④)( ⑥| | 98 | ③ | |④ ,-')('-. ⑦| | ⑦ | | ④,-')('-. ⑥| | ® ❤ 99 | ③ | |④( ' ` )⑦`-._ _.-' ® ★ ⑦ `-._ _.-'④( ' ` )⑥| | 100 | ③ '-._,-'④ `-....-' ⑦ ```` ® ❤ ❤ ⑦ ```` ④ `-....-' ⑥'-._,-' 101 | ® 102 | ® ✺ ❣ ✺ ❣ ★ 103 | ''' 104 | 105 | # Code reader 106 | with open('PyBirthdayWish.py') as f_in: 107 | code = f_in.read() 108 | --------------------------------------------------------------------------------