The task manager for python
Project description
The task manager for python
Why
Port of GulpJS for Python
Documentation
Usage
Install:
$ pip install phulpy
Create your phulpyfile.py (the configuration file, that describes all your tasks):
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
$ 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>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
phulpy-1.0.9.tar.gz
(6.8 kB
view hashes)
Built Distribution
Close
Hashes for phulpy-1.0.9-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bac84586ca0543a8d62680759eb6f661702d61a34e030f24820958c80d1b1ae9 |
|
MD5 | 072d1a253346474a2bf795441a8e5616 |
|
BLAKE2b-256 | b5ef9cf77b6b9f538e877e822e0b57c67e691dea783b8a13285df8011850d97e |