Skip to main content

A simple tool to set environment variables before running a command

Project description

pysetenv is a simple Python-based program to allow users to set environment variables before executing a command, similar to the POSIX `env <https://pubs.opengroup.org/onlinepubs/9699919799/utilities/env.html>`__ command.

Why?

pysetenv is designed as a support package to help authors of other Python packages create command-line strings like you’d expect from sh or the env command. Generally, pysetenv will only be installed on Windows systems, with POSIX systems using sh or env. For example, in your setup.py, you would write:

setup(
    # ...
    install_requires=['pysetenv;platform_system=="Windows"'],
)

Then somewhere in your code, you could call pysetenv:

subprocess.call(['pysetenv', ...])

Command-line reference

Usage: pysetenv [OPTION]... [NAME=VALUE]... [--] [COMMAND [ARG]...]

pysetenv supports a subset of common options available to various implementations of env. It executes COMMAND with any supplied arguments (ARG) after modifying the environment as specified by the previous arguments. Any arguments of the form NAME=VALUE will set an environment variable NAME to the value of VALUE. If COMMAND is not specified, pysetenv will print the resulting environment instead.

In addition, the following options are supported:

  • -i: Ignore any environment variables inherited by this process
  • -u NAME: Unset the environment variable NAME
  • -h, --help: Show a help message and exit
  • --version: Show the current version and exit

As an extension to the env command, the options above and the variable definitions can be separated from the section for defining the command to run with --:

pysetenv -uFOO BAR=value -- echo hello

License

This project is licensed under the BSD 3-clause license.

Project details


Download files

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

Files for pysetenv, version 1.0.1
Filename, size File type Python version Upload date Hashes
Filename, size pysetenv-1.0.1-py2.py3-none-any.whl (4.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size pysetenv-1.0.1.tar.gz (4.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page