# 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://github.com/user-attachments/assets/22d61f3e-b3ca-406f-9e1c-2f539eea23c7" alt="snow" border="0">
<img src="https://github.com/user-attachments/assets/644afa91-ffb0-465e-815f-998a59759c3b" alt="fireworks" 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": "<4.0,>=3.11",
"maintainer_email": null,
"keywords": "python, terminal, terminal-animation, bruhanimate",
"author": "ethanlchristensen",
"author_email": "ethanlchristensen@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/be/77/eddaabd0177030a9d0e888d8573b4313cbbd0f4498c6c27b70782dd4ce62/bruhanimate-0.2.90.tar.gz",
"platform": null,
"description": "# bruhanimate\n[![Downloads](https://static.pepy.tech/badge/bruhanimate)](https://pepy.tech/project/bruhanimate)\n[![Downloads](https://static.pepy.tech/badge/bruhanimate/month)](https://pepy.tech/project/bruhanimate)\n[![Downloads](https://static.pepy.tech/badge/bruhanimate/week)](https://pepy.tech/project/bruhanimate)\n<div>\n<img src=\"https://github.com/user-attachments/assets/22d61f3e-b3ca-406f-9e1c-2f539eea23c7\" alt=\"snow\" border=\"0\">\n<img src=\"https://github.com/user-attachments/assets/644afa91-ffb0-465e-815f-998a59759c3b\" alt=\"fireworks\" border=\"0\">\n</div>\n\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/termcolor.svg?logo=python&logoColor=FFE873)](https://pypi.org/project/bruhanimate/)\n\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.\n\nInspired by the <a href=\"https://github.com/peterbrittain/asciimatics\">Asciimatics</a> package.\n\n## Installation\n\n### From PyPI\n\n```bash\npip install --upgrade bruhanimate\n```\n\n### From source\n\n```bash\ngit clone https://github.com/FNBBDevs/bruhanimate\ncd bruhanimate\npython -m pip install .\n```\n\n# Quick Start\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!\n- static\n- offset\n- noise\n- stars\n- snow\n- rain\n- plasma\n- gol (Conway's Game of Life)\n- matrix\n- twinkle\n\n```py\n# Import a demo\nfrom bruhanimate import plasma_demo\n# run the demo\nplasma_demo.run()\n```\n\n# Usage\nHere are some examples on how bruhanimate might be used. <br/><br/>\n\nPass in arguments through the `show()` command. <br/>\n```py\n\n\"\"\"\nHere is a simple program that uses the EffectRenderer passing in\nthe arguments to the main function\n\"\"\"\nfrom bruhanimate import Screen, CenterRenderer, images\n\n\ndef demo(screen, img, frames, time, effect_type, background, transparent):\n renderer = CenterRenderer(screen, frames, time, img, effect_type, background, transparent)\n renderer.update_smart_transparent(True)\n renderer.effect.update_color(True)\n renderer.effect.update_intensity(100)\n renderer.run()\n\n\ndef main():\n Screen.show(demo, args=(images.get_image(\"twopoint\"), 300, 0, \"noise\", \" \", False))\n\n\nif __name__ == \"__main__\":\n main()\n```\n\nSet the arguments directly in the function invoked by `show()`. <br/>\n```py\n\"\"\"\nHere is a simple program that uses the EffectRenderer setting the arguments\ndirectly in the main function.\n\"\"\"\nfrom bruhanimate import Screen, EffectRenderer\n\n\ndef demo(screen: Screen):\n renderer = EffectRenderer(\n screen=screen,\n frames=float(\"inf\"),\n frame_time=0.1,\n effect_type=\"snow\",\n background=\" \",\n transparent=False\n )\n renderer.run()\n\n\nif __name__ == \"__main__\":\n Screen.show(main)\n```\n",
"bugtrack_url": null,
"license": "Apache License",
"summary": "ASCII Termnial Animation Package",
"version": "0.2.90",
"project_urls": {
"Homepage": "https://github.com/ethanlchristensen/bruhanimate",
"Repository": "https://github.com/ethanlchristensen/bruhanimate"
},
"split_keywords": [
"python",
" terminal",
" terminal-animation",
" bruhanimate"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "377e2740c45f5e5441ae5bbc0c17c33b2213fd26ee16af0113bfdbc37caf855b",
"md5": "ee5ad97743d3d9026745953248abd9b8",
"sha256": "cbf9b13e30a7702cbdbb889c0e84268cc80df4d6569d0d558e2eb8d98b93cb5c"
},
"downloads": -1,
"filename": "bruhanimate-0.2.90-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ee5ad97743d3d9026745953248abd9b8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.11",
"size": 108571,
"upload_time": "2024-11-11T03:25:58",
"upload_time_iso_8601": "2024-11-11T03:25:58.537522Z",
"url": "https://files.pythonhosted.org/packages/37/7e/2740c45f5e5441ae5bbc0c17c33b2213fd26ee16af0113bfdbc37caf855b/bruhanimate-0.2.90-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "be77eddaabd0177030a9d0e888d8573b4313cbbd0f4498c6c27b70782dd4ce62",
"md5": "1995e21fd60d66c59ab30e9e2a296de3",
"sha256": "684da618cd9fb1939e50cf5867b92c798b7759ada13131fb9814825cd7bd259f"
},
"downloads": -1,
"filename": "bruhanimate-0.2.90.tar.gz",
"has_sig": false,
"md5_digest": "1995e21fd60d66c59ab30e9e2a296de3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.11",
"size": 68262,
"upload_time": "2024-11-11T03:25:59",
"upload_time_iso_8601": "2024-11-11T03:25:59.746004Z",
"url": "https://files.pythonhosted.org/packages/be/77/eddaabd0177030a9d0e888d8573b4313cbbd0f4498c6c27b70782dd4ce62/bruhanimate-0.2.90.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-11 03:25:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ethanlchristensen",
"github_project": "bruhanimate",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "bruhanimate"
}