Metadata-Version: 1.1
Name: phulpy
Version: 1.0.10
Summary: The task manager for python
Home-page: https://github.com/jefersondaniel/phulpy
Author: Jeferson Daniel
Author-email: jeferson.daniel412@gmail.com
License: MIT
Description: Phulpy
        ======
        
        |Build Status| |Version| |Pyversions|
        
        The task manager for python
        
        Why
        ~~~
        
        Port of GulpJS for Python
        
        Documentation
        ~~~~~~~~~~~~~
        
        Usage
        ^^^^^
        
        Install:
        ''''''''
        
        .. code:: bash
        
           $ pip install phulpy
        
        Create your ``phulpyfile.py`` (the configuration file, that describes all your tasks):
        ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        
        .. code:: python
        
            from phulpy import task, Output
        
            @task
            def default(phulpy):
                def print_file(file):
                    Output.out(Output.colorize(
                        file.relative_path,
                        'green'
                    ))
        
                def print_src_class(src):
                    Output.out(src.__class__.__name__)
        
                def if_phulpy_file(file):
                    return 'phulpyfile.py' in file.name
        
                phulpy.src(['./*'], read=True) \
                    .pipe(phulpy.iterate(print_file)) \
                    .pipe(print_src_class) \
                    .pipe(phulpy.filter(if_phulpy_file)) \
                    .pipe(phulpy.iterate(print_file)) \
                    .pipe(phulpy.dest('./var'))
        
        
            @task
            def clean(phulpy):
                phulpy.src(['./var/*']) \
                    .pipe(phulpy.clean())
        
            @task
            def exec_1(phulpy):
                def __on_stdout__(tick, stdin):
                    # Output.out(tick)
        
                    if '[yes]?' in tick:
                        stdin.write('yes\n')
        
                def __on_stderr__(tick, stdin):
                    # Output.err(tick)
                    pass
        
                def __on_finish__(sigint, stdout, stderr):
                    pass
        
                command = phulpy.execute(
                    'ls -lah',
                    quite=False,  # write on stdout and stdin, default True, needs to be handled
                    sync=False,  # default True
                    on_stdout=__on_stdout__,  # handle stdout
                    on_stderr=__on_stderr__,  # handle stderr
                    on_finish=__on_finish__  # handle sigint
                )
        
                command.kill() # force stop command
        
        
            @task
            def exec_2(phulpy):
                # when its is sync return a command with stdout, stderr, and sigint
                command = phulpy.execute('ls -lah')
        
                sigint = command.sigint
                stdout = command.stdout
                stderr = command.stderr
        
            @task
            def do_nothing():
                pass
        
        Run:
        ''''
        
        Run the phulpy over the ``phulpyfile.py`` directory
        
        .. code:: bash
        
           $ phulpy --help
           $ phulpy # Will run the `default` task
           $ phulpy mytask # Will run the `mytask` task
           $ phulpy --threads 4 mytask1 mytask2  # Will run the tasks simultaneously
        
        By:
        ''''
        
        
        `@jefersondaniel <https://github.com/jefersondaniel>`
        
        
        `@reisraff <https://github.com/reisraff>`
        
        .. |Build Status| image:: https://travis-ci.org/jefersondaniel/phulpy.svg
           :target: https://travis-ci.org/jefersondaniel/phulpy
        
        .. |Version| image:: https://badge.fury.io/py/phulpy.svg
           :target: https://pypi.python.org/pypi/phulpy
        
        .. |Pyversions| image:: https://img.shields.io/pypi/pyversions/phulpy.svg
           :target: https://pypi.python.org/pypi/phulpy
        
Platform: UNKNOWN
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 5 - Production/Stable
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
