Skip to main content

DEPRECATED BY clitoo https://yourlabs.io/oss/clitoo

And djcli https://yourlabs.io/oss/djcli

clilabs: the python CLI that gets things done.

Sometimes I want to execute a python callback with some args on the command line, but i get frustrated that it always requires to wrap my command in a wrapper of some sort. Clilabs unfrustrates me.

Install:

$ pip install clilabs

Help:

$ clilabs
clilabs automates python callables parametered calls.

Things starting with - will arrive in clilabs.context.

Examples:

    clilabs help your.mod:main
    clilabs debug your.mod -a --b --something='to see' how it=parses
    clilabs your.mod:funcname with your=args
    clilabs help clilabs.django
    clilabs help django
    clilabs clilabs.django:list auth.user
    clilabs django:list auth.user  # also works
    # refer to the root one
    clilabs ~django.db.models:somefunc somearg some=kwarg

Demo:

$ clilabs debug ~your.mod:yourfunc -a --b --something='to see' how it=parses
Could not import your.mod
Args: ('how',)
Kwargs: {'it': 'parses'}
Context args: ['a', 'b']
Context kwargs: {'something': 'to see'}

Moar in tutorial.md

Making your own command

Add to your setup.py:

entry_points={
    'console_scripts': [
        'yourcmd = yourpkg.cli:cli',
    ],
},

Add in yourpkg/cli.py:

'''Your documentation that shows by default:

    yourcmd somefunc ...
'''
import clilabs

def cli(*argv):
    argv = list(argv) if argv else ['help', 'yourpkg.cli']
    cb = clilabs.modfuncimp(*clilabs.funcexpand(argv[0], 'yourpkg.cli'))
    args, kwargs = clilabs.expand(*argv[1:])
    return cb(*args, **kwargs)

def main(...):
    '''Put your help text, that will show when the
    user runs the command without argument.'''

Release files for clilabs 1.3.1

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

Source distribution (sdist)

Source distribution for clilabs 1.3.1
File Size Uploaded
clilabs-1.3.1.tar.gz 7.8 kB Details

Release files / clilabs-1.3.1.tar.gz

Download URL clilabs-1.3.1.tar.gz
Size 7.8 kB
Tags Source
SHA-256 checksum
How to use checksums
2d2c2f08f695d129d0ba9a0734356bc2e71c2fa0d57fa9ac93bad9c237c58a69
BLAKE2b-256 checksum
How to use checksums
3d12eb6b1fa6939255daa5432f134b26d2a4bbbdaeef06d0d6aad96a0f225eda
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

Release history Release notifications | RSS feed

This release

1.3.1 This release

1 release file

1.3.0

1 release file

1.2.3

1 release file

1.2.2

1 release file

1.2.0

1 release file

1.1.10

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.0

1 release file

0

1 release file

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