一个用于OMG的微型框架,代码使用Python 3.6+编写。
项目描述
omg.py
一个用于优秀的 Open Microservices Guide 的微型框架,用于支持使用Python 3.6+编写的代码。
注意:这是预发布软件,可能会进行改进。欢迎贡献!该框架还正在为其他语言开发。如果您想帮忙,请告诉我们!
预期/示例用法
$ cat service.py
import omg
from uuid import uuid4
service = omg.Microservice(name='uuid')
@service.register()
def new(prefix: str) -> str:
"""Generates a UUID, with a given prefix."""
return f'{prefix}{uuid4().hex}'
if __name__ == '__main__':
service.serve(ensure=True)
register
接受一些可选参数:name
和path
。您也可以调用service.add(f=new)
。
如果磁盘上不可用,将为您的应用程序自动生成所需的Dockerfile
和microservice.yml
文件
$ cat microservice.yml
actions:
new:
help: Generates a UUID, with a given prefix.
arguments:
prefix:
in: query
required: true
type: string
http:
method: get
path: /new
port: 8080
output:
type: string
lifecycle:
startup:
command:
- python3
- /app/service.py
omg: 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'
这将启动一个Flask应用程序(使用生产就绪的waitress网络服务器),预先配置好以服务大众!
或者,使用omg-cli
$ omg run new -a prefix='user-'
…
安装
$ pip install omg.py
提示。 如果您想提供反馈,请提供! :)
✨ 🍰 ✨
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
omg.py-0.3.3.tar.gz (6.9 kB 查看哈希值)
构建版本
omg.py-0.3.3-py2.py3-none-any.whl (8.1 kB 查看哈希值)
关闭
omg.py-0.3.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2f5d7e6a6d4dded47ca021033353f41ae2cfb49c089f57505eb8fbaa2db6d545 |
|
MD5 | 10a0cc65a4da70b56c982d812fa221d6 |
|
BLAKE2b-256 | f6b3117c13acc0452b676e31ee30a562247290afa289459a0aae356be8b47c13 |
关闭
omg.py-0.3.3-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e424f58af7333b7fa62c2c9e22a922def75dbc54df2a7e04cde28ec8e82b258d |
|
MD5 | e402058f6ed3d92ed03ad72ce4403fd5 |
|
BLAKE2b-256 | 42933f3a2082a90fd8c9394c9cf99c16d320dda92be733abdcfebe9ece58275f |