Skip to main content

Compose4py

Onion Model in Python. Pyton 洋葱模型

pip install compose4py

Installation

Usage

Import compose4py:

from compose4py import Compose

All the usual function composition you know and love:

    def mw_1(ctx, loader_context):
        print("mw_1: %s" % ctx)
        print("mw_1 loader_context: %s" % loader_context)
        ctx += ":mw1"
        # call the next middleware and waiting the new ctx
        ctx = yield ctx
        # use the latest ctx and process more logic
        ctx += ":post_mw1"
        return ctx

    def mw_2(ctx):
        print("mw_2: %s" % ctx)
        ctx += ":mw2"
        ctx = yield ctx
        ctx += ":post_mw2"
        return ctx

    def mw_3(ctx):
        print("mw_3: %s" % ctx)
        ctx += ":mw3"
        return ctx

    compose = Compose(mw_1, mw_2, mw_3, loader_context = {"foo": "bar"})
    result = compose("foo")
    print("final: %s" % result)
    # final: foo:mw1:mw2:mw3:post_mw2:post_mw1

Give credits to

scrapy

开源许可协议

Copyright (2018-2020) 北京华夏春松科技有限公司

Apache License Version 2.0

chatoper banner

Metadata

Release files for compose4py 1.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for compose4py 1.3.3
File Size Uploaded
compose4py-1.3.3.tar.gz 5.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for compose4py 1.3.3
File Interpreter ABI Platform
compose4py-1.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 12.9 kB

Release files / compose4py-1.3.3.tar.gz

Download URL compose4py-1.3.3.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
16a966aa33024d63afff6dcb7da107634d1945fbe8f12d418008f66e0509bfdc
BLAKE2b-256 checksum
How to use checksums
1055fb9a20cfc5a1f413101ba53a8120308cdacf39a03bead973b788ef0c76fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.2

Release files / compose4py-1.3.3-py3-none-any.whl

Download URL compose4py-1.3.3-py3-none-any.whl
Size 7.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a79f2822a7d474050c9ebf5f337f43969ef46af88e9f4d50d82a7e4862260472
BLAKE2b-256 checksum
How to use checksums
42696bc35e257659ea25f67642f5c749aab0a5fe371740ead02b2c2c6bb9d363
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.2

Release history Release notifications | RSS feed

This release

1.3.3 This release

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page