# bruhanimate
[](https://pepy.tech/project/bruhanimate)
[](https://pepy.tech/project/bruhanimate)
[](https://pepy.tech/project/bruhanimate)
<div>
<img src="https://i.ibb.co/TwssymP/BRUHANIMA.gif" alt="BRUHANIMA" border="0">
<img src="https://i.ibb.co/p3mbKb1/plas.gif" alt="plas" border="0">
<img src="https://i.ibb.co/pR49kL6/noises.gif" alt="noises" border="0">
</div>
[](https://pypi.org/project/bruhanimate/)
bruhanimate offers a series of files to aid in rendering out animations in the terminal. This is heavily inspisred by the <a href="https://github.com/peterbrittain/asciimatics">Asciimatics</a> package. While Asciimatics is the end-all be-all for termianl animations, I figured it would be good practice to go ahead and attempt something like this myself.
## Installation
### From PyPI
```bash
pip install --upgrade bruhanimate
```
### From source
```bash
git clone https://github.com/FNBBDevs/bruhanimate
cd bruhanimate
python -m pip install .
```
# Usage
Here are some examples on how bruhanimate might be used. <br/><br/>
```py
"""
Here is a simple program that uses the EffectRenderer to render out one
of the prebuilt effects to the terminal.
"""
from bruhanimate.bruhrenderer import *
from bruhanimate.bruhscreen import Screen
import bruhanimate.images as images
import sys
def demo(screen, img, frames, time, effect_type, background, transparent):
# CREATE THE RENDERER
renderer = CenterRenderer(screen, frames, time, img, effect_type, background, transparent)
# SET EFFECT ATTRIBUTES
renderer.update_smart_transparent(True)
renderer.effect.update_color(True)
renderer.effect.update_intensity(100)
# RUN THE ANIMATION
renderer.run()
# CATCH THE END WITH INPUT() --> for Win-Systems --> Ctl-C for Unix-Systems
input()
def main():
Screen.show(demo, args=(images.get_image("TWOPOINT"), 300, 0, "noise", " ", False))
if __name__ == "__main__":
main()
```
```py
"""
Here is another example that makes use of line drawing to draw a 3-D triangle
"""
from bruhanimate.bruhrenderer import *
from bruhanimate.bruhscreen import Screen
import bruhanimate.images as images
def demo(screen, img, frames, time, effect, background, transparent):
# CREATE THE RENDERER
renderer = PanRenderer(screen, frames, time, img, effect, background, transparent, loop=True)
# REGISTER THE LINES - LET'S MAKE A DECENT 3D TRIANGLE
renderer.effect.add_line((15, 15), (30, 30))
renderer.effect.add_line((30, 30), (50, 20))
renderer.effect.add_line((50, 20), (15, 15))
renderer.effect.add_line((30,30), (32, 22))
renderer.effect.add_line((32, 22), (15, 15))
renderer.effect.add_line((32, 22), (50, 20))
# RUN THE ANIMATION
renderer.run(end_message=False)
# CATCH THE END WITH INPUT() ON WINDOWS
input()
image = images.text_to_image("HELLO WORLD!", padding_top_bottom=1, padding_left_right=3)
Screen.show(demo, args=(image, 500, 0.05, "drawlines", " ", True))
```
Raw data
{
"_id": null,
"home_page": "https://github.com/ethanlchristensen/bruhanimate",
"name": "bruhanimate",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "python,terminal,terminal-animation,bruhanimate",
"author": "Ethan Christensen",
"author_email": "ethanlchristensen@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/3d/95/b0a74491fea31cf4210a0e2c6a92b1954551e00fc11b7145eaa8469aa27a/bruhanimate-0.1.98.tar.gz",
"platform": null,
"description": "\r\n# bruhanimate\r\r\n[](https://pepy.tech/project/bruhanimate)\r\r\n[](https://pepy.tech/project/bruhanimate)\r\r\n[](https://pepy.tech/project/bruhanimate)\r\r\n<div>\r\r\n<img src=\"https://i.ibb.co/TwssymP/BRUHANIMA.gif\" alt=\"BRUHANIMA\" border=\"0\">\r\r\n\r\r\n<img src=\"https://i.ibb.co/p3mbKb1/plas.gif\" alt=\"plas\" border=\"0\">\r\r\n\r\r\n<img src=\"https://i.ibb.co/pR49kL6/noises.gif\" alt=\"noises\" border=\"0\">\r\r\n</div>\r\r\n\r\r\n[](https://pypi.org/project/bruhanimate/)\r\r\n\r\r\nbruhanimate offers a series of files to aid in rendering out animations in the terminal. This is heavily inspisred by the <a href=\"https://github.com/peterbrittain/asciimatics\">Asciimatics</a> package. While Asciimatics is the end-all be-all for termianl animations, I figured it would be good practice to go ahead and attempt something like this myself.\r\r\n\r\r\n## Installation\r\r\n\r\r\n### From PyPI\r\r\n\r\r\n```bash\r\r\npip install --upgrade bruhanimate\r\r\n```\r\r\n\r\r\n### From source\r\r\n\r\r\n```bash\r\r\ngit clone https://github.com/FNBBDevs/bruhanimate\r\r\ncd bruhanimate\r\r\npython -m pip install .\r\r\n```\r\r\n\r\r\n# Usage\r\r\nHere are some examples on how bruhanimate might be used. <br/><br/>\r\r\n```py\r\r\n\r\r\n\"\"\"\r\r\nHere is a simple program that uses the EffectRenderer to render out one\r\r\nof the prebuilt effects to the terminal.\r\r\n\"\"\"\r\r\nfrom bruhanimate.bruhrenderer import *\r\r\nfrom bruhanimate.bruhscreen import Screen\r\r\nimport bruhanimate.images as images\r\r\nimport sys\r\r\n\r\r\ndef demo(screen, img, frames, time, effect_type, background, transparent):\r\r\n \r\r\n # CREATE THE RENDERER\r\r\n renderer = CenterRenderer(screen, frames, time, img, effect_type, background, transparent)\r\r\n\r\r\n # SET EFFECT ATTRIBUTES\r\r\n renderer.update_smart_transparent(True)\r\r\n renderer.effect.update_color(True)\r\r\n renderer.effect.update_intensity(100)\r\r\n\r\r\n # RUN THE ANIMATION\r\r\n renderer.run()\r\r\n\r\r\n # CATCH THE END WITH INPUT() --> for Win-Systems --> Ctl-C for Unix-Systems\r\r\n input()\r\r\n\r\r\n\r\r\ndef main():\r\r\n Screen.show(demo, args=(images.get_image(\"TWOPOINT\"), 300, 0, \"noise\", \" \", False))\r\r\n\r\r\n\r\r\n\r\r\nif __name__ == \"__main__\":\r\r\n main()\r\r\n\r\r\n```\r\r\n\r\r\n```py\r\r\n\r\r\n\"\"\"\r\r\nHere is another example that makes use of line drawing to draw a 3-D triangle\r\r\n\"\"\"\r\r\nfrom bruhanimate.bruhrenderer import *\r\r\nfrom bruhanimate.bruhscreen import Screen\r\r\nimport bruhanimate.images as images\r\r\n\r\r\ndef demo(screen, img, frames, time, effect, background, transparent):\r\r\n # CREATE THE RENDERER\r\r\n renderer = PanRenderer(screen, frames, time, img, effect, background, transparent, loop=True)\r\r\n \r\r\n # REGISTER THE LINES - LET'S MAKE A DECENT 3D TRIANGLE\r\r\n renderer.effect.add_line((15, 15), (30, 30))\r\r\n renderer.effect.add_line((30, 30), (50, 20))\r\r\n renderer.effect.add_line((50, 20), (15, 15))\r\r\n\r\r\n renderer.effect.add_line((30,30), (32, 22))\r\r\n renderer.effect.add_line((32, 22), (15, 15))\r\r\n renderer.effect.add_line((32, 22), (50, 20))\r\r\n\r\r\n\r\r\n # RUN THE ANIMATION\r\r\n renderer.run(end_message=False)\r\r\n\r\r\n # CATCH THE END WITH INPUT() ON WINDOWS\r\r\n input()\r\r\n\r\r\nimage = images.text_to_image(\"HELLO WORLD!\", padding_top_bottom=1, padding_left_right=3)\r\r\nScreen.show(demo, args=(image, 500, 0.05, \"drawlines\", \" \", True))\r\r\n\r\r\n```\r\r\n",
"bugtrack_url": null,
"license": "",
"summary": "ASCII Terminal Animation Package",
"version": "0.1.98",
"project_urls": {
"Homepage": "https://github.com/ethanlchristensen/bruhanimate"
},
"split_keywords": [
"python",
"terminal",
"terminal-animation",
"bruhanimate"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3d95b0a74491fea31cf4210a0e2c6a92b1954551e00fc11b7145eaa8469aa27a",
"md5": "ae05f4ddc6bfe0f525321c5f07efaeed",
"sha256": "7cb6dde1f27903e41c2a813f5885ca28a9772f71d99b6caa5e83463b5edd8133"
},
"downloads": -1,
"filename": "bruhanimate-0.1.98.tar.gz",
"has_sig": false,
"md5_digest": "ae05f4ddc6bfe0f525321c5f07efaeed",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 30280,
"upload_time": "2023-11-28T23:31:06",
"upload_time_iso_8601": "2023-11-28T23:31:06.213269Z",
"url": "https://files.pythonhosted.org/packages/3d/95/b0a74491fea31cf4210a0e2c6a92b1954551e00fc11b7145eaa8469aa27a/bruhanimate-0.1.98.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-28 23:31:06",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ethanlchristensen",
"github_project": "bruhanimate",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "bruhanimate"
}