Skip to main content

It makes easier to build user command-line interface

Project description

EVERON (Python Library)

This module makes easier to write user command-line interfaces.

everon.BaseCommand makes use of the argparse, which is part of Python library.

everon.MixinFontColor is a mixin class, which allows to render color fonts in terminal.

Basic Example

Below, a basic example of what the custom command should look like:

from datetime import datetime
import everon

class WhatsTime(everon.BaseCommand):
    help = 'Display current time'

    def handle(self, *args, **kwargs):
        current_time ='%X')
        print("It's now {}".format(current_time))

if __name__ == '__main__':
    whatstime = WhatsTime()

See how we named our module

This command can be executed as:

python -m whats_time


It's now 11:54:19

Handling Arguments

To handle arguments in command, we should define a method named add_args.

import argparse
import random
import string

from everon import BaseCommand

class RandString(BaseCommand):

    def add_args(self, parser: argparse.ArgumentParser):
        parser.add_argument('length', type=int, help='Indicates length of string')
        parser.add_argument('-l', '--lowercase', action='store_true', help='Only get lowercase letters')

    def handle(self, *args, **kwargs):
        string_length = kwargs.get('length')
        allow_lowercase = kwargs.get('lowercase')
        letters = string.ascii_lowercase if allow_lowercase else string.ascii_letters
        print("Random String is {}".format(
            ''.join(random.choice(letters) for _ in range(string_length)))

if __name__ == '__main__':
    rand_str = RandString()


python -m rand_str 10 -l


python -m rand_str 10 --lower


Random String is wjaehxsnxc

Font Color

We could setting an appropriate color to the out message with the example

from everon import BaseCommand, MixinFontColor

class SayHello(BaseCommand, MixinFontColor):
    def __init__(self):

    def handle(self, *args, **kwargs):
        self.print_ok('Printing text ok')
        self.print_err('Printing text error')
        print(self.text_as_link('Printing text as link'))
        print(self.color.LIGHTMAGENTA_EX + 'Printing text with custom color')

if __name__ == '__main__':
    foo = SayHello()

Checking with the following command

python -m say_hello


Project details

Release history Release notifications

Download files

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

Files for everon, version 0.0.1
Filename, size File type Python version Upload date Hashes
Filename, size everon-0.0.1-py3-none-any.whl (4.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size everon-0.0.1.tar.gz (3.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page