Skip to main content

Revel

revel helps you create beautiful interfaces for your command line tools. Best of all, it's extremely easy to use.

Simply replace the standard print function with revel's and just like that you can now display colors!

from revel import print

print('[green]Hello, World![/]')

Styles

revel uses BBCode-style markup to style your text. A variety of styles are available:

  • Formatting:

    • bold
    • dim
    • italic
    • underlined
    • inverted
    • strikethrough
  • Text Colors:

    • black
    • red
    • green
    • blue
    • magenta
    • cyan
    • white
  • Background Colors:

    • bg-black
    • bg-red
    • bg-green
    • bg-blue
    • bg-magenta
    • bg-cyan
    • bg-white

Adding weak to a tag will only apply the styles of that tag, if no competing styles are already applied. For example:

print("[red]Hello, [weak blue underlined]World![/][/]")

This will be displayed entirely in red (since the weak "blue" formatting is overridden by "red"), but the "underlined" formatting will still be applied.

Progressbars

Adding progressbars is easy as can be:

from revel import print, ProgressBar
import time

with ProgressBar(max=10, unit="percent") as bar:
    for ii in range(10):
        bar.progress = ii
        time.sleep(1.0)

You can switch units between "count", "percent", "byte" and "time". The bar will also automatically display how much time remains until completion, once it is confident in its estimate.

Edit text after it has already been printed

Docked widgets can be edited at will. For example, this example docks a text line and updates it repeatedly:

from revel import print
import time

line = print("Looking for files", dock=True)

for ii in range(1, 10):
    line.text = f"Found {ii} file(s)"
    time.sleep(1.0)

Additional print-like methods

In addition to print, revel also provides success, warning, error and fatal. These will be displayed in color, drawing attention to the message.

TODO

  • Implement the verbatim tag
  • Jupyter Notebook support
  • Test on bad terminals
  • Actual docs
  • Showcase features:
    • print_chapter
    • select
    • select_multiple
    • select_short
      • select_yes_no
    • input_key
    • input
      • general improvements, such as parsing, default
      • secret input
    • escape
    • unescape

Metadata

Release files for revel 0.9.2.post1

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

Source distribution (sdist)

Source distribution for revel 0.9.2.post1
File Size Uploaded
revel-0.9.2.post1.tar.gz 30.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for revel 0.9.2.post1
File Interpreter ABI Platform
revel-0.9.2.post1-py3-none-any.whl Python 3 none any Details

Total release size: 64.0 kB

Release files / revel-0.9.2.post1.tar.gz

Download URL revel-0.9.2.post1.tar.gz
Size 30.8 kB
Tags Source
SHA-256 checksum
How to use checksums
2ad9763aadb71abac80153ea8c7463f425b69f3b9517171825d6e37a4368ca48
BLAKE2b-256 checksum
How to use checksums
807cba764c68bc5562bab4980cb25bf4b69aff6001c57aec4de9db37f53466b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.6

Release files / revel-0.9.2.post1-py3-none-any.whl

Download URL revel-0.9.2.post1-py3-none-any.whl
Size 33.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a67c34ac2122871beb18a40709e7957f34e59cf76160936fc9bef49fe7c0b255
BLAKE2b-256 checksum
How to use checksums
2a3ba21f424cd2e3697b4cbf758f6bf649c6097cbc4c37b0b512e2adf37a5047
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.6

Release history Release notifications | RSS feed

This release

0.9.2.post1 This release

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.19

2 release files

0.8.18

2 release files

0.8.15

2 release files

0.8.14

2 release files

0.8.13

2 release files

0.8.12

2 release files

0.8.11

2 release files

0.8.10

2 release files

0.8.9

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.3

2 release files

0.7.2

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