Namespace promotion made easy. ↑
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
exalt
tests
.gitignore
.pre-commit-config.yaml
.travis.yml
LICENSE
README.md
poetry.lock
pyproject.toml

README.md

exalt


Python 3.7 Not production ready Travis status

exalt provides a convenient way to dynamically create closures and bind them to a custom namespace. This is primarily useful for preserving an execution-context when calling into a different function.

Example

from exalt import promote


def baz():
    return bar


def foo():
    bar = "baz"

    return promote(baz, **locals())()


print(foo())

baz

Installation

pip3 install --user exalt

Disclaimer

exalt heavily relies on CPython implementation details and probably shouldn't be used in a production environment.