OMG的微型框架,以及用Python3.6+编写的代码。
omg-micro的Python项目详细描述
omg.py
一个用于优秀的Open Microservices Guide的微框架,用于用python 3.6+编写支持代码。
注意:这是预发布软件,有待改进。欢迎投稿!这个框架也是为other languages开发的。如果你愿意帮忙,let us know!
预期/示例用法
$ cat service.py
importomgfromuuidimportuuid4service=omg.Microservice(name='uuid')@service.register()defnew(prefix:str)->str:"""Generates a UUID, with a given prefix."""returnf'{prefix}{uuid4().hex}'if__name__=='__main__':service.serve()
register
接受一些可选参数:name
和path
。您也可以改为调用service.add(f=new)
。
接下来,运行命令$ omg-generate
microservice.yml
将自动为您的应用程序生成文件:
$ omg-generate service:service
…
'microservice.yml' written to disk!
$ cat microservice.ymlactions:new:help:Generates a UUID, with a given prefix.arguments:prefix:in:queryrequired:truetype:stringhttp:method:getpath:/newport:8080output:type:stringlifecycle:startup:command:-python3-/app/service.pyomg:1
$ cat Dockerfile FROM kennethreitz/pipenv COPY . /app CMD ["python3", "service.py"]
现在,运行你的微服务!
$ python service.py 2019-05-09 14:45:39,342 - micro - DEBUG - Initiating 'uuid' service. 2019-05-09 14:45:39,344 - micro - DEBUG - Registering Flask endpoint: '/new'2019-05-09 14:45:39,344 - micro - DEBUG - Dockerfile './Dockerfile' already exists! 2019-05-09 14:45:39,345 - micro - DEBUG - Microservice Manifest './microservice.yml' already exists! 2019-05-09 14:45:39,346 - micro - INFO - Serving on: '*:8080'
这将产生一个烧瓶应用程序(使用生产就绪的waitress web server),预先配置为服务大众!
或者,使用omg-cli:
$ omg run new -a prefix='user-' …
安装
$ pip install omg.py
p.s.如果您愿意,请提供反馈!:)