Skip to main content

react_context

An API to pass data down in the sub-function inspired by React Context

pip install react-context

Inspired by this reddit, here a React Context-like API for Python to pass data down in thesub-function without polluting all the function parameters.

Under the hood it uses inspect.stack().frame to register the element in the context manager. Frames may be available only in CPython.

Define context values

To define a context value use create_context(**kargws) function


with use_context(something=123):
    ...

​

Retrieve the value somewhere in the code inside of the context

To retrieve the value, use get_context(key) function

Complete example

def nested_function():
    return get_context('something', 'default_value')

with use_context(something=123):
    value = nested_function()
    print(value) # 123
print(nested_function()) # 'default_value'

How to debug the context

To print in the console where a context has been defined in the stacktrace, replace get_context with debug_context(key, logger=print)

For the complete implementation and behaviour, please check the test file.

Metadata

Release files for react-context 1.0.0

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

Source distribution (sdist)

Source distribution for react-context 1.0.0
File Size Uploaded
react_context-1.0.0.tar.gz 3.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for react-context 1.0.0
File Interpreter ABI Platform
react_context-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 6.3 kB

Release files / react_context-1.0.0.tar.gz

Download URL react_context-1.0.0.tar.gz
Size 3.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e101e74b19277cecef17490945bf3b0bf3ad39f8ea23b090120096ce40add2e5
BLAKE2b-256 checksum
How to use checksums
737602e219c6d84fdad7a07ade72677940d90c58a4ba7a88268210b23c727c4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.8

Release files / react_context-1.0.0-py3-none-any.whl

Download URL react_context-1.0.0-py3-none-any.whl
Size 3.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
42af70da8c8e5c5d66018717dbf703330ae9a84d823b37f39fb01b49e2fa7411
BLAKE2b-256 checksum
How to use checksums
1e5dc506f070a7f9d5cb0d06abd8ca8683aad9e25c3b7ca8d621b1cc0060157e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.8

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

3 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