Metadata-Version: 1.1
Name: xacto
Version: 0.6.2
Summary: Generate command-line interfaces (CLI) by introspecting callables
Home-page: http://github.com/xtfxme/xacto
Author: C Anthony Risinger
Author-email: c@anthonyrisinger.com
License: BSD
Download-URL: https://github.com/xtfxme/xacto/archive/0.6.2.zip
Description: Xacto
        ~~~~~
        
        **a typelib and CLI analyzer/generator**
        
        Introspect, compose, marshal and export arbitrary callables into a unified,
        hierarchical, command-line interface (CLI)
        
        Features
        ~~~~~~~~
        
        auto-find tools
        scan signatures and export as CLI node
        if default is callable, call it to setup arg
        
        Why
        ---
        
        FAST! EASY! natural import usage! --help is decent-ish with types/etc! AH!
        
        Quickstart
        ----------
        
        #. Install::
        
            # pip install xacto
        
        #. Run::
        
            # ln -s /path/to/bin/xacto do
        
        #. Create python file at ``tools/work.py``::
        
            __all__ = ["easy", "hard"]
            #__xacto__ = {...}
        
            def easy(method, speed=16, *tasks):
                print(locals())
            #easy.__xacto__ = {...}
        
            def hard(method, speed=32, *tasks, **params):
                print(locals())
            #hard.__xacto__ = {...}
        
        #. Run::
        
            # ./do work easy --method=never task1 task2
        
        #. Run::
        
            # ./do work hard --speed=64 --method=cheat --code=iddqd taskN
        
        Limitations
        -----------
        
        - true/false quirkyness (default=True means --default flips to False)
        - can't handle lists (--arg a b c --other ...)
        
        TODO
        ----
        
        - RELEASE!
        - setuptools
        - symlink to binary to create new
        - testing: set-like functions, import semantics.. everything
        - handle bools better
        - handle lists (--arg a b c --other ...)
        - detect output
        - standard output structure
        - prettify to tty
        - lazy load tools
        - lazy import globals (cpython)
        - bytecode cache
        - argument forwarding/chaining
        - integrate with zippy.shell
        - tab-completion
        - auto-reduce common components for aliases
        - bind tools to xacto object (eg. celery/waf)
        
Keywords: cli commandline command introspection generate
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
