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.'''
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| clilabs-1.3.1.tar.gz | 7.8 kB | Without provenance | Details for clilabs-1.3.1.tar.gz |
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
|
Security for clilabs 1.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.