magicli/README.md

1.4 KiB
Raw Permalink Blame History

magiʟɪ

Automatically turn functions of file into command line interface.

Install

pip install magicli

Get started

Basic usage example. By default, every function except for the main function is callable through command line arguments.

from magicli import magicli

def main():
    magicli()

Define name of CLI in setup.py

In order to define the name of the CLI, it needs to be defined in the setup.py file. The following code sets up a sample CLI with the following folder structure.

hello/
└── setup.py
└── hello.py

setup.py

from setuptools import setup

setup(
    name='hello',
    version='0.1.0',
    install_requires=[
        'magicli'
    ],
    entry_points={
        'console_scripts':[
            'hello=hello:main'
        ]
    }
)

hello.py

from magicli import magicli

def main():
    magicli()

def hello(name='World', amount=1):
    for _ in range(int(amount)):
        print(f'Hello {name}!')

The script can then be called in the following way.

hello Name --amount 3

This outputs

Hello Name!
Hello Name!
Hello Name!

Help message

By default, a help message will be created based on the available functions. For the example above, calling hello --help will display this help message.

Usage:
    hello --name --amount