Context manager for setting contextvars variables
Project description
This module provides Set, a context manager which sets one or more contextvars variables upon activation and resets them to their previous values at exit.
Usage:
import contextvars, with_contextvars A = contextvars.ContextVar("A") B = contextvars.ContextVar("B") A.set("Hello,") B.set("world!") print(A.get(), B.get()) # prints: Hello, world! with with_contextvars.Set((A, "other"), (B, "value")): print(A.get(), B.get()) # prints: other value print(A.get(), B.get()) # prints: Hello, world!
Even the entirety of variable assignments of a contextvars.Context object (as obtained from contextvars.copy_context()) can be activated by initializing Set with its items:
with with_contextvars.Set(*context.items()): ...
However, using contextvars.Context.run() is more efficient and should be preferred where possible.
More information can be found in the documentation of Set.
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
with_contextvars-0.1.2.tar.gz
(2.8 kB
view hashes)
Built Distribution
Close
Hashes for with_contextvars-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8aae290cd363aa35560e4f1c3959a98b025457b8319c8d63f624b7825e51996e |
|
MD5 | bea491914bca2011cf2da94b6e52f431 |
|
BLAKE2b-256 | fdc80269fdca6fab81ec9aa487df5bc3f09fb4577fb3d49a6f6682a5cb466579 |