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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

Details for the file pollute-1.0.2.tar.gz.

File metadata

  • Download URL: pollute-1.0.2.tar.gz
  • Upload date:
  • Size: 2.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pollute-1.0.2.tar.gz
Algorithm Hash digest
SHA256 187e39b55ee5ce2bec80a0414bab20194abf2620ef5b17625bb43b33b9f02ceb
MD5 118850fb77fb4dc9ea5e8b5938b3b2dc
BLAKE2b-256 4767babf513c255a2c397b3ee7d37a8575991b441cfa61df98453e3995c8c09c

See more details on using hashes here.

File details

Details for the file pollute-1.0.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pollute-1.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 49e71e92d435bddbee53b30b416be4bf7916ee4b9bedaa94b2c4fbf156daaa57
MD5 0a1934fbef47252ab4dc52df9205bd57
BLAKE2b-256 7399b6f564c514cc98aaceab5835be3732fc02d227e3db2d6a50ca14a6b3957c

See more details on using hashes here.

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