Package: py3a
py3aThis library provides a structural representation of3a ascii animations formatand methods for reading and writing it.This lib onpypiUsageShort API descriptionStructsFunctionsUsageInstall$ pip install py3aHere's a simple example that parsing a string in 3a format and displaying a header:importpy3aCOLORTABLE_EXAMPLE="""width 32height 19loop falsecolors fulltitle colortable demoauthor Mothin ' ab '                       ffffffffffffffffffffffffffffffff00000000000000000000000000000000a-foreground, b-background      ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000000  01  02  03  04  05  06  07 000000000000000000000000000000000000111122223333444455556666777710  11  12  13  14  15  16  17 111111111111111111111111111111110000111122223333444455556666777720  21  22  23  24  25  26  27 222222222222222222222222222222220000111122223333444455556666777730  31  32  33  34  35  36  37 333333333333333333333333333333330000111122223333444455556666777740  41  42  43  44  45  46  47 444444444444444444444444444444440000111122223333444455556666777750  51  52  53  54  55  56  57 555555555555555555555555555555550000111122223333444455556666777760  61  62  63  64  65  66  67 666666666666666666666666666666660000111122223333444455556666777770  71  72  73  74  75  76  77 777777777777777777777777777777770000111122223333444455556666777780  81  82  83  84  85  86  87 888888888888888888888888888888880000111122223333444455556666777790  91  92  93  94  95  96  97 9999999999999999999999999999999900001111222233334444555566667777a0  a1  a2  a3  a4  a5  a6  a7 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa00001111222233334444555566667777b0  b1  b2  b3  b4  b5  b6  b7 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb00001111222233334444555566667777c0  c1  c2  c3  c4  c5  c6  c7 cccccccccccccccccccccccccccccccc00001111222233334444555566667777d0  d1  d2  d3  d4  d5  d6  d7 dddddddddddddddddddddddddddddddd00001111222233334444555566667777e0  e1  e2  e3  e4  e5  e6  e7 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00001111222233334444555566667777f0  f1  f2  f3  f4  f5  f6  f7 ffffffffffffffffffffffffffffffff00001111222233334444555566667777"""if__name__=="__main__":art=py3a.Art.load(COLORTABLE_EXAMPLE)print(art.header)Short API descriptionStructsThe core of the library is the Art class, which implements the 3a structure:classArt:def__init__(self,header:Header,body:Body):self.header=headerself.body=bodyHeader type contains information about the header of 3a file:classHeader:def__init__(self,width:int,height:int,delay:int,loop_enable:bool,color_mod:ColorMod,utf8:bool,datacols:int,preview:int,audio:str,title:str,author:str):self.width=widthself.height=heightself.delay=delayself.loop_enable=loop_enableself.color_mod=color_modself.utf8=utf8self.datacols=datacolsself.preview=previewself.audio=audioself.title=titleself.author=authorBody class contains a list of frames, where each frame is a list of rows, and each row is a list of row fragments:Row=typing.List[RowFragment]Frame=typing.List[Row]classBody:def__init__(self,frames:typing.List[Frame]):self.frames=framesEach RowFragment is a set of consecutive symbols with the same values of foreground and background colors:classRowFragment:def__init__(self,text:str,fg_color:Color,bg_color:Color):self.text=textself.fg_color=fg_colorself.bg_color=bg_colorMethodsArt.loadandart.savemethods allow you to convert strings toArtand back.Art.load_fileandart.save_filemethods allow you to read 3a files toArtand writeArtto 3a files.