跳转到主要内容

一个用于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接受一些可选参数:namepath。您也可以调用service.add(f=new)

如果磁盘上不可用,将为您的应用程序自动生成所需的Dockerfilemicroservice.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 查看哈希值)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面