Skip to main content

Rosella

Watch a chaotic ecosystem unfold right in your terminal. This is a boids simulation—those classical flocking birds that somehow manage to be both predictable and gloriously messy all at once.

Rosellas in action!

What's Happening Here?

You've got a bunch of little critters (boids) bouncing around following three simple rules:

  • Separation: don't crash into your friends (basic manners! I do like you, but not that much :D)
  • Alignment: swim/fly in the same direction as your neighbors (peer pressure works, even in the digital world!)
  • Cohesion: stick together-ish (lonely is not fun, let's stay friends :) )

But that would be boring, so I added some chaos:

Predators

Angry crosses hunting our poor boids. They're rather slow, but insistent. Currently implemented with a simple follow-nearest greedy algorithm.

Allures

Shimmering points that our little boids find irresistible. Boids will often head for these even with predators nearby. Bad life choices make for some great entertainment :D

Random Enlightenment

Sometimes boids just get it and wander off. Celebrate their brief moment of philosophical awakening before they go back to being confused little dots. Originally implemented to reduce clustering and overly predictable patterns.

How to Run It

pip install rosella
rosella

Default constants are decently sensible – in my opinion :) – but feel free to pass cli flags to tweak behaviour. Some behaviours require flags.

rosella -h # Check flags
rosella --boid-density 1750 # Custom density (pixel-acres per boid)
rosella --allure-chance 35 # 1/35 chance per frame

Control it as you watch:

  • Q: quit
  • LMB: spawn an allure!

Your terminal is the world. Watch it all unfold in beautiful Braille pixel art.

Metadata

Release files for Rosella 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Rosella 0.1.1
File Size Uploaded
rosella-0.1.1.tar.gz 43.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Rosella 0.1.1
File Interpreter ABI Platform
rosella-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 56.2 kB

Release files / rosella-0.1.1.tar.gz

Download URL rosella-0.1.1.tar.gz
Size 43.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0961412077fcd733945c481df8f35f7a5803d3c134f840fdb3b34114b5f28476
BLAKE2b-256 checksum
How to use checksums
818aab509535de9ef1e4a7c159c9bf3e0ca59e142abd307a9e5055733c48656e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / rosella-0.1.1-py3-none-any.whl

Download URL rosella-0.1.1-py3-none-any.whl
Size 12.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
612905935b208e2a102d708cd528b3adab10069189fb0706c3190318262caa71
BLAKE2b-256 checksum
How to use checksums
e3736ebc3c3b3964f294932dbd2d87da7f1ba62f963f9a2313b96daf5b4a142b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page