Clear your terminal in a fun way. Works on most modern terminals. 0-dependency.
Install • Usages • Advanced usages • Roadmap • Related projects
Install with pip:
pip install wipe-clean
wipe-cleancurrently requires Python 3.6.1 and above. Note that Python 3.6.0 is not supported due to lack ofNamedTuplestyping.
Just:
wipe-cleanUse -h, --help to show all available options
wipe-clean -hClick to expand
You can use wipe-clean inside your project.
from wipe_clean.main import cli as wc_cli
wc_cli()
# Or with arguments
wc_cli('--frame-interval=0.005', '--min-frame-delay=0')It's possible to design your own brush shape and animation.
Click to expand
To create a new brush type, implement the Brush interface, e.g.
from wipe_clean.brush import Brush, ScreenPointDrawing, ScreenPoint as P
class Wipe2x2(Brush):
def get_points(self, x, y, angle) -> List[ScreenPointDrawing]:
return [
ScreenPointDrawing(P(x , y ), '#'), # noqa: E202,E203
ScreenPointDrawing(P(x + 1, y ), '#'), # noqa: E202,E203
ScreenPointDrawing(P(x , y + 1), '#'), # noqa: E202,E203
ScreenPointDrawing(P(x + 1, y + 1), '#'),
]This will define a brush like this:
##
##
Click to expand
Similarly, you can implement the Path interface to create a new brush path.
import math
from wipe_clean.path import Path, PathPoint, ScreenPoint as P
class MySimplePath(Path):
def get_points(self) -> Iterable[PathPoint]:
return [
PathPoint(P(10, 10), math.radians(45)),
PathPoint(P(20, 5), math.radians(0)),
PathPoint(P(40, 20), math.radians(90)),
]See DEVELOPMENT.md
-
JeanJouliaCode/wipeclean- JavaScript versionThe first brush type (
BrushWipe) and path animations (PathZigZag,PathRectEdge) are direct ports ofJeanJouliaCode/wipeclean. Credits go to JeanJouliaCode! -
Textualize/rich- An inspiring textual UI library
