# bruhanimate
[![Downloads](https://static.pepy.tech/badge/bruhanimate)](https://pepy.tech/project/bruhanimate)
[![Downloads](https://static.pepy.tech/badge/bruhanimate/month)](https://pepy.tech/project/bruhanimate)
[![Downloads](https://static.pepy.tech/badge/bruhanimate/week)](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">
<img src="https://github.com/user-attachments/assets/22d61f3e-b3ca-406f-9e1c-2f539eea23c7" alt="noises" border="0">
</div>
[![Supported Python versions](https://img.shields.io/pypi/pyversions/termcolor.svg?logo=python&logoColor=FFE873)](https://pypi.org/project/bruhanimate/)
bruhanimate provides a set of tools for creating and rendering animations directly in the terminal. Designed for ease of use, this package enables developers to incorporate dynamic animations into command-line applications. While drawing inspiration from existing terminal animation libraries, bruhanimate brings a fresh approach and offers a unique set of features tailored for flexibility and creativity in terminal-based projects.
Inspired by the <a href="https://github.com/peterbrittain/asciimatics">Asciimatics</a> package.
## Installation
### From PyPI
```bash
pip install --upgrade bruhanimate
```
### From source
```bash
git clone https://github.com/FNBBDevs/bruhanimate
cd bruhanimate
python -m pip install .
```
# Quick Start
Use some of the built in demos to see what is possible. There are demos for each effect. Simply import `<effect>_demo` from bruhanimate and call the `<effect>_demo.run()` to run the demo!
- static
- offset
- noise
- stars
- snow
- rain
- plasma
- gol (Conway's Game of Life)
- matrix
- twinkle
```py
# Import a demo
from bruhanimate import plasma_demo
# run the demo
plasma_demo.run()
```
# Usage
Here are some examples on how bruhanimate might be used. <br/><br/>
Pass in arguments through the `show()` command. <br/>
```py
"""
Here is a simple program that uses the EffectRenderer passing in
the arguments to the main function
"""
from bruhanimate import Screen, CenterRenderer, images
def demo(screen, img, frames, time, effect_type, background, transparent):
renderer = CenterRenderer(screen, frames, time, img, effect_type, background, transparent)
renderer.update_smart_transparent(True)
renderer.effect.update_color(True)
renderer.effect.update_intensity(100)
renderer.run()
def main():
Screen.show(demo, args=(images.get_image("twopoint"), 300, 0, "noise", " ", False))
if __name__ == "__main__":
main()
```
Set the arguments directly in the function invoked by `show()`. <br/>
```py
"""
Here is a simple program that uses the EffectRenderer setting the arguments
directly in the main function.
"""
from bruhanimate import Screen, EffectRenderer
def demo(screen: Screen):
renderer = EffectRenderer(
screen=screen,
frames=float("inf"),
frame_time=0.1,
effect_type="snow",
background=" ",
transparent=False
)
renderer.run()
if __name__ == "__main__":
Screen.show(main)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/ethanlchristensen/bruhanimate",
"name": "bruhanimate",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "python, terminal, terminal-animation, bruhanimate",
"author": "Ethan Christensen",
"author_email": "ethanlchristensen@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/f3/f0/053bed5900feebfad4af3b51443835facd23370809339d4e30941bfb3973/bruhanimate-0.2.72.tar.gz",
"platform": null,
"description": "\r\n# bruhanimate\r\r\n[![Downloads](https://static.pepy.tech/badge/bruhanimate)](https://pepy.tech/project/bruhanimate)\r\r\n[![Downloads](https://static.pepy.tech/badge/bruhanimate/month)](https://pepy.tech/project/bruhanimate)\r\r\n[![Downloads](https://static.pepy.tech/badge/bruhanimate/week)](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\r\r\n<img src=\"https://github.com/user-attachments/assets/22d61f3e-b3ca-406f-9e1c-2f539eea23c7\" alt=\"noises\" border=\"0\">\r\r\n</div>\r\r\n\r\r\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/termcolor.svg?logo=python&logoColor=FFE873)](https://pypi.org/project/bruhanimate/)\r\r\n\r\r\nbruhanimate provides a set of tools for creating and rendering animations directly in the terminal. Designed for ease of use, this package enables developers to incorporate dynamic animations into command-line applications. While drawing inspiration from existing terminal animation libraries, bruhanimate brings a fresh approach and offers a unique set of features tailored for flexibility and creativity in terminal-based projects.\r\r\n\r\r\nInspired by the <a href=\"https://github.com/peterbrittain/asciimatics\">Asciimatics</a> package.\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# Quick Start\r\r\nUse some of the built in demos to see what is possible. There are demos for each effect. Simply import `<effect>_demo` from bruhanimate and call the `<effect>_demo.run()` to run the demo!\r\r\n- static\r\r\n- offset\r\r\n- noise\r\r\n- stars\r\r\n- snow\r\r\n- rain\r\r\n- plasma\r\r\n- gol (Conway's Game of Life)\r\r\n- matrix\r\r\n- twinkle\r\r\n\r\r\n```py\r\r\n# Import a demo\r\r\nfrom bruhanimate import plasma_demo\r\r\n# run the demo\r\r\nplasma_demo.run()\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\r\r\nPass in arguments through the `show()` command. <br/>\r\r\n```py\r\r\n\r\r\n\"\"\"\r\r\nHere is a simple program that uses the EffectRenderer passing in\r\r\nthe arguments to the main function\r\r\n\"\"\"\r\r\nfrom bruhanimate import Screen, CenterRenderer, images\r\r\n\r\r\n\r\r\ndef demo(screen, img, frames, time, effect_type, background, transparent):\r\r\n renderer = CenterRenderer(screen, frames, time, img, effect_type, background, transparent)\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 renderer.run()\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\nif __name__ == \"__main__\":\r\r\n main()\r\r\n```\r\r\n\r\r\nSet the arguments directly in the function invoked by `show()`. <br/>\r\r\n```py\r\r\n\"\"\"\r\r\nHere is a simple program that uses the EffectRenderer setting the arguments\r\r\ndirectly in the main function.\r\r\n\"\"\"\r\r\nfrom bruhanimate import Screen, EffectRenderer\r\r\n\r\r\n\r\r\ndef demo(screen: Screen):\r\r\n renderer = EffectRenderer(\r\r\n screen=screen,\r\r\n frames=float(\"inf\"),\r\r\n frame_time=0.1,\r\r\n effect_type=\"snow\",\r\r\n background=\" \",\r\r\n transparent=False\r\r\n )\r\r\n renderer.run()\r\r\n\r\r\n\r\r\nif __name__ == \"__main__\":\r\r\n Screen.show(main)\r\r\n```\r\r\n",
"bugtrack_url": null,
"license": null,
"summary": "ASCII Terminal Animation Package",
"version": "0.2.72",
"project_urls": {
"Homepage": "https://github.com/ethanlchristensen/bruhanimate"
},
"split_keywords": [
"python",
" terminal",
" terminal-animation",
" bruhanimate"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f3f0053bed5900feebfad4af3b51443835facd23370809339d4e30941bfb3973",
"md5": "ac2a52bec88023f56c19c3916a5d07b5",
"sha256": "abb0c6f009a1c32121ebebb18cb42c1061edaece6c1f34208f4b358431ca1cff"
},
"downloads": -1,
"filename": "bruhanimate-0.2.72.tar.gz",
"has_sig": false,
"md5_digest": "ac2a52bec88023f56c19c3916a5d07b5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 305281,
"upload_time": "2024-10-18T06:01:33",
"upload_time_iso_8601": "2024-10-18T06:01:33.302950Z",
"url": "https://files.pythonhosted.org/packages/f3/f0/053bed5900feebfad4af3b51443835facd23370809339d4e30941bfb3973/bruhanimate-0.2.72.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-18 06:01:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ethanlchristensen",
"github_project": "bruhanimate",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "bruhanimate"
}