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-clean
currently requires Python 3.6.1 and above. Note that Python 3.6.0 is not supported due to lack ofNamedTuples
typing.
Just:
wipe-clean
Use -h, --help
to show all available options
wipe-clean -h
Click 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