
Security News
minimatch Patches 3 High-Severity ReDoS Vulnerabilities
minimatch patched three high-severity ReDoS vulnerabilities that can stall the Node.js event loop, and Socket has released free certified patches.
bruhanimate
Advanced tools
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 Asciimatics package.
pip install --upgrade bruhanimate
git clone https://github.com/FNBBDevs/bruhanimate
cd bruhanimate
python -m pip install .
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!
# Import a demo
from bruhanimate import plasma_demo
# run the demo
plasma_demo.run()
Here are some examples on how bruhanimate might be used.
Pass in arguments through the show() command.
"""
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().
"""
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)
FAQs
ASCII Termnial Animation Package
We found that bruhanimate demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
minimatch patched three high-severity ReDoS vulnerabilities that can stall the Node.js event loop, and Socket has released free certified patches.

Research
/Security News
Socket uncovered 26 malicious npm packages tied to North Korea's Contagious Interview campaign, retrieving a live 9-module infostealer and RAT from the adversary's C2.

Research
An impersonated golang.org/x/crypto clone exfiltrates passwords, executes a remote shell stager, and delivers a Rekoobe backdoor on Linux.