{"id":13501600,"url":"https://github.com/jsbueno/terminedia","last_synced_at":"2025-04-04T13:08:48.430Z","repository":{"id":47627281,"uuid":"176784502","full_name":"jsbueno/terminedia","owner":"jsbueno","description":"Python3 library for multimedia functions at the command terminal","archived":false,"fork":false,"pushed_at":"2024-12-10T22:49:57.000Z","size":2431,"stargazers_count":101,"open_issues_count":8,"forks_count":8,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-28T12:04:51.289Z","etag":null,"topics":["animation","ansi","ansi-colors","ascii","ascii-art","cli","font","game-dev","graphics","python","terminal","text","unicode","unicode-art","unicode-emoji","unicode-tools"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jsbueno.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-20T17:30:13.000Z","updated_at":"2024-12-30T22:24:08.000Z","dependencies_parsed_at":"2024-01-05T21:32:44.639Z","dependency_job_id":"936f716f-96e9-4f32-943a-7f3910f2dc65","html_url":"https://github.com/jsbueno/terminedia","commit_stats":{"total_commits":596,"total_committers":5,"mean_commits":119.2,"dds":"0.010067114093959773","last_synced_commit":"5f1dfec7204715a29008543cb26bb9414be5f257"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsbueno%2Fterminedia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsbueno%2Fterminedia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsbueno%2Fterminedia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsbueno%2Fterminedia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jsbueno","download_url":"https://codeload.github.com/jsbueno/terminedia/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247180367,"owners_count":20897211,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["animation","ansi","ansi-colors","ascii","ascii-art","cli","font","game-dev","graphics","python","terminal","text","unicode","unicode-art","unicode-emoji","unicode-tools"],"created_at":"2024-07-31T22:01:43.151Z","updated_at":"2025-04-04T13:08:48.390Z","avatar_url":"https://github.com/jsbueno.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"TERMINEDIA\n===========\n\nThis is a Python library allowing using a text-terminal as a low-resolution graphics\noutput, along with keyboard realtime reading, and a couple utilities\nenough to enable using a text terminal to run simple 2D games or simply rich terminal\napps.\n\nThe \"noveau\" factor is that it uses Unicode quarter-character block combinations\nto effectivelly enable 1/4 character \"pixels\" in the terminal. It also makes\nuse of 24bit \"true\" color for text, not limiting itself to the 80's\n8 color palette for the terminal.\n\nThe development version allows loading image files and displaying those\nas colored block chars on the terminal, several terminal-font text effects,\nand rendering big-text, 4 or 8 characters tall, by rendering\nbuilt-in fonts as images using block characters.\n\nIt is designed as a library, providing a discoverable and easy to\nuse API for drawing, and upon install a few example scripts\nwill be imediately available as stand-alone scripts\nwith the \"terminedia-\" prefix.\n\nThe idea is to keep this as a lightweight install - with\nas little dependencies as possible.\n\nUsage\n-------\n\nAlthough targeted for programatic use, after install a few example\nprograms exercising the library capabilities are made available\nin the active Python environment. Try one of several \"terminedia-xxxxx\"\nscripts installed, such as \"terminedia-image\" and \"terminedia-snake\"\n\nSome of the features are as easy to use as the `print` function\nfrom Python itself:\n\n![Demonstration of terminedia.print](docs/screenshot_00.png)\n\nOther, like the drawing API which emulates pixels with unicode\nblock characters require a couple more calls:\n\n![Messy screenshot with current capabilities](docs/screenshot_01.png)\n![Graph plot output example](docs/screenshot_02.png)\n![Image rendering and big-text](docs/screenshot_04.png)\n\nDocumentation\n--------------\n\nCheck the in progress documentation at:\n    https://terminedia.readthedocs.io/en/latest/\n\n(nb. that documentation is currently for the 0.2 version,\navailable from pypi. The project's capabilities\nevolved far beyond whats is in there, but docs are\nstill missing - the \"TODO.txt\" file lists implemented\nfeatures or fixes (marked with a \"V\") and a loose roadmap.\nAlthough for useage and documentation one has to rely\non the doc-strings)\n\nAlso, the ``examples`` folder have concrete snippets and\nsome stress-testing code. The examples\nwere moved into the main package code, and granted stand-alone\nscripts status when the package is pip-installed.\n\nAfter install, try calling any of the `\"terminedia-\"` scripts\nmade available to check the output.\n\nAlthough incipient in options, some of these example\nscripts can work as command line tools. For example\n`terminedia-image \u003cimage_file\u003e` will downscale and display\nan image file in the terminal.\n\nNote that the default pip install won't bring PIL, which results in\nlimited image support - use `pip install terminedia[images]`,\nor simply install PIL directly with `pip install pillow`,\nto be able to load arbitrary image files.\n\n\n\nCompatibility\n--------------\n\nPreliminary Windows support - by using the Colorama Python package,\nwith proper fonts configuration on the terminal, it is possible\nto experiment most of terminedia´s capabilities (the terminedia-snake\nexample works).  There is still work to be done, but for a better\nexperience under Windows install the CMDER console emulator\nand the UNSCII fonts for rendering pseudographics (links in the\nFRIENDS.md file)\n\nOn Linux and other posix systems, Terminedia relies\non ANSI scape sequences for all terminal manipulation. It should work\nin most Linux and Mac OS terminal applications (including non-X11,\n\"native\" terminals on Linux)\n\nThe output result will vary according to the terminal\nand font used - a nice experience can be achieved\nwith the \"Terminus\" font, specially if one is using\nthe Braille characters for drawing.\n\nThere is also an HTML backend that can output programatically\ncreated ASCII art to an HTML file, formatted with\nmono-spaced fonts inside a `div` element. The\n\"terminedia-image\" example program makes use\nof this feature.\n\n\nLicense\n--------\nTerminedia is licensed under GNU's LGPL 3.0 or later, meaning you\nare free to use it in whatver project you want, comercial or not,\nprivate or not - you are only required to contribute back any\nenhancements you make to this library itself.\nFor details, please read acompanining \"LICENSE\" file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsbueno%2Fterminedia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjsbueno%2Fterminedia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsbueno%2Fterminedia/lists"}