Skip to main content

Clear your terminal in a ritual way. Zero dependency.

Project description

Logo

Wipe Clean

Clear your terminal in a fun way. Works on Windows, Linux and macOS. 0-dependency.

made-with-python PyPI - Python Version Maintainability

PyPI PyPI - Status PyPI - Downloads

Linux Mac OS Windows

InstallUsagesAdvanced usagesRoadmapRelated projects

demo


Install

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 of NamedTuples typing.

Usages

Just:

wipe-clean

Use -h, --help to show all available options

wipe-clean -h

Advanced usages

1. Use API

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')

2. Customization

It's possible to design your own brush shape and animation.

Example brush

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:

##
##

Example path

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)),
        ]

Roadmap

See DEVELOPMENT.md

Related projects

  • JeanJouliaCode/wipeclean - JavaScript version

    The first brush type (BrushWipe) and path animations (PathZigZag, PathRectEdge) are direct ports of JeanJouliaCode/wipeclean. Credits go to JeanJouliaCode!

  • Textualize/rich - An inspiring textual UI library

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wipe-clean-0.3.1.tar.gz (16.8 kB view hashes)

Uploaded Source

Built Distribution

wipe_clean-0.3.1-py3-none-any.whl (13.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page