Python command line tasks router
Project description
Pyouter
Pyouter is a tasks router by hierarchy and layered tasks, which may come from command line or http restful api
INSTALL
install pyouter
pip install pyouter
- advanced: install for shell completion support
examples
- src/tests/test.py
- depends: src/tests/config.json
minimal example code for pyouoter:
from typing import Any
from pyouter.app import App
from pyouter.router import Router
import json
def hello(config, options):
print("hello function")
class Hello:
def __init__(self) -> None:
pass
def __call__(self, config, options) -> Any:
self.config = config
self.options = options
self.inner()
def inner(self):
print(f"hello class object, self.options.debug:{self.options.debug}")
if self.options.debug:
print('debug')
if __name__=="__main__":
'''
Usage:
* python test.py test.hello.func
* python test.py test.hello.obj
'''
app = App(config='config.json')
app.option(
'-d', '--debug',
dest='debug',
action="store_true",
help='debug'
)
app.use(
router=Router(
test=Router(
hello=Router(
func=hello,
obj=Hello()
)
)
)
)
print("run")
app.run()
What's new
0.0.9
- improve -v, --view, -i, --insepect option for path debug
0.0.8
- add app.option support
- improve App(config=), support config patth
- add aysnc support
- will execute all routers pallarent by using async ThreadPoolExecutor
0.0.7
- add pyouter self completion of bash and fish
0.0.6
- fixed bug in fish completion install
0.0.5
- pass config if need
0.04
- custom parser
0.0.3
- support pyouter completion
- pyouter as entry points of package
0.0.2
- rename plugin to pyouter
0.0.1
- project init
- add pypi settings
- add installer
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
pyouter-0.0.9.tar.gz
(8.2 kB
view details)
File details
Details for the file pyouter-0.0.9.tar.gz
.
File metadata
- Download URL: pyouter-0.0.9.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c7cf4b8f373eee46d6faac7d5ae9045acb2787baa43821c6d1017b86d7a60a8 |
|
MD5 | f32440358f3218949839f9530fa7edae |
|
BLAKE2b-256 | dde07b51641ab198c9439f991a090bc1fcd2c20989b7488f2d3f8865de319c69 |