Skip to main content

Automatically turn functions of file into command line interface.

Project description

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

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

magicli-0.2.0.tar.gz (2.8 kB view hashes)

Uploaded Source

Built Distribution

magicli-0.2.0-py3-none-any.whl (2.9 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