Hype で CLI を構築する


Hype は、サードパーティのライブラリに依存せずにデコレータを使用して簡単に CLI を作成するための、新しくリリースされた Python ライブラリです.この投稿では、Hype の基本と機能、および Hype を使用する理由について説明します.

まず最初に、Hype のインストールは簡単です.
とにかく走れ

$ pip install hypecli


そして、あなたは行ってもいいです!

その後、ハイプの基本的な例を見てみましょう👀:

from hype import Hype #: Import Hype

app = Hype() #: Create hype app instance

@app.command() #: Create hype command
def greet(name: str):
    """"
    Greet the user
    """
    app.echo('Hello, {}'.format(name.capitalize()))

if __name__ == "__main__":
    app.run() #: Now, run it!


ご覧のとおり、Hype は最新の Python 型ヒントに基づいています. Typer 別の Python ライブラリに触発されました.ただし、Typer は click の上に構築されており、これも素晴らしいライブラリです!

カラーサポート



前に述べたように、Hype はサードパーティのライブラリに依存していませんが、サードパーティのライブラリが Hype を駆動するプラグインがいくつかあります.たとえば、 colorama を搭載したカラー印刷です.

Hype で色を印刷するのは、思ったより簡単です. BBCode パーサーを使用してカラー タグを解析します.以下に例を示します.

from hype import print #: Print is a wrapper for 
#: standard printing and color printing

#: Note: If you want to print colored text, 
#: make sure to install the color plugin. 
#: `pip install hypecli[color]`
#: More information: https://hype.serum.studio/getting-started

print('[red]This is red[/red]') #: This will print a color red text.


シンプルな BBCode パーサーを使用すると、印刷の見栄えが良くなり、高速になります.色の詳細については、
Documention 色の取り扱いについて.

ユーザー インターフェイスのサポート



Hype には次のような UI サポートが付属しています: SpinnerTable 、および Progress Bar .それは、すべてが 1 つのライブラリにあるようなものです.

スピナーの例を次に示します.

from hype.ui import Spinner

with Spinner('Loading', 'arc') as spinner:
    #: Some heavy task here
    spinner.stop()


表の場合:

from hype.ui import Table

table = Table(headers=['Name', 'Age', 'Hobby'])
table.add_row(['Zenqi', '5', 'Reading'])
print(table(background_color='red')) #: or #: print(table.render())


プログレスバーのAng last:

from hype.ui import progressbar
import time

with progressbar(100) as bar:
    time.sleep(.01)
    bar()


Hype にはさらに多くの機能が搭載されています.詳細については、Documentation をお読みください.