Skip to main content

A decorator and context manager for temporarily modifying os.environ.

Project description

Compatibility Implementations Format Downloads

A decorator and context manager for temporarily modifying os.environ.

# as a context manager
with modified_environ(added={...}, absent=[...]):
    ...

# as a decorator
@modified_environ(added={...}, absent=[...])

Installation:

$ pip install pollute

modified_environ modifies os.environ in-place, ensuring that all references to it in the code are updated. All changes made by modified_environ are reversed when exiting the context or decorator.

Example

import os
from pollute import modified_environ


assert 'HELLO' not in os.environ
assert 'PATH' in os.environ

with modified_environ(added={'HELLO': 'WORLD'}, absent=['PATH']):
    assert os.environ['HELLO'] == 'WORLD'
    assert 'PATH' not in os.environ

assert 'HELLO' not in os.environ
assert 'PATH' in os.environ

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pollute-1.0.2.tar.gz (2.3 kB view hashes)

Uploaded Source

Built Distribution

pollute-1.0.2-py2.py3-none-any.whl (3.0 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page