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)
| 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
|