Skip to main content

No project description provided

Project description

useenv

A tiny tool to manage values in your env file. Useful in some rare circumstances e.g. swapping variables in local development, when you don't want to maintain multiple separate env files.

  • pipx install useenv
  • Create a .useenv.yml config file in your project root.
    • If this contains secret values then make sure to add .useenv.yml to your project or global .gitignore.
  • useenv <env_identifier>

Example .useenv.yml config file:

env_file: .env
envs:
    foo:
        DATABASE_HOST: foo-host
        DATABASE_USER: foo-user
        DATABASE_PASSWORD: foo-pw
    bar:
        DATABASE_HOST: bar-host
        DATABASE_USER: bar-user
        DATABASE_PASSWORD: bar-pw

Modes

--mode flag or mode field of the config.

merge (default)

Values will be merged into the existing env file.

create

Env file will be created/overwritten.

In this case you may want to define a common set of values. YAML gives us the tools to do this:

_common: &common
    DATABASE_USER: common-user
  
env_file: .env
mode: create
envs:
    foo:
        << : *common
        DATABASE_HOST: foo-host    
        DATABASE_PASSWORD: foo-pw
    bar:
        << : *common
        DATABASE_HOST: bar-host    
        DATABASE_PASSWORD: bar-pw

1password

If you have the 1password CLI installed then you can pull values from 1password:

...
envs:
    foo:
        DATABASE_PASSWORD: 1pw::<item-id>::<field>  # e.g. 1pw::abcdefqwerty::password

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

useenv-0.5.1.tar.gz (2.9 kB view hashes)

Uploaded Source

Built Distribution

useenv-0.5.1-py3-none-any.whl (3.4 kB view hashes)

Uploaded 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