A tool for managing AWS Parameter Store environments
Project description
psenv
psenv is a CLI tool for managing environment variables using AWS Parameter Store. It allows you to fetch, inject, and sync environment variables for your projects, making it easy to manage secrets and configuration across different projects.
Key Features
- Fetch environment variables from AWS Parameter Store
- Inject variables into your shell or process
- Sync variables to and from .env files
Example Workflow
1. Onboarding a New Developer
A new developer can fetch environment variables for their environment using:
psenv get --env dev
This will create a .env file in the configured directory with the following content:
SOME_VARIABLE1=123
SOME_VARIABLE2=234
#<private>
GITHUB_TOKEN=<REPLACE-WITH-YOUR-PERSONAL-GH-TOKEN>
Variables under the #<private> section are user-specific and should be set by each developer. These are not shared between users.
Command Reference
psenv get --env <env>: Fetches environment variables for the specified environment.psenv inject --env <env>: Injects environment variables from your shell into a .env file.psenv put --env <env> --sync: Syncs your local .env file to the parameter store.psenv put --env <env> --add: Adds new parameters from your .env file to the parameter store.psenv put --env <env> --update: Adds new and updates existing parameters in the parameter store from your .env file.psenv put --env <env> --dry-run --sync: Shows what would be changed without making any modifications.
Notes
- You do not need a
.envfile to run commands with parameters; values are pulled directly from the parameter store. .envfiles can be used for syncing environments, as well as used locally for development. Ideally .env files are not kept locally long term and thepsenv exec --env <env>command is used to inject variables form the parameter store at runtime.- The
#<private>section in the.envfile is for user-specific / developer secrets and should not be shared between developers. - No variables in the
#<private>section will be synced to the parameter store. - NEVER commit your
.envfile to version control, as it may contain sensitive information.
See Also
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pytoolbelt_psenv-0.21.0.tar.gz.
File metadata
- Download URL: pytoolbelt_psenv-0.21.0.tar.gz
- Upload date:
- Size: 15.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b51943a71b4e6aa88d52af4ba77d9daafe61135987d058b040a41651c49c99f
|
|
| MD5 |
88887753d0fcc069229a60795bef0b51
|
|
| BLAKE2b-256 |
14b07f720e63aa6c3f7eb2d428e29ae779c8849245b4427a5b5ecb7612cec79e
|
Provenance
The following attestation bundles were made for pytoolbelt_psenv-0.21.0.tar.gz:
Publisher:
release.yml on pytoolbelt/pytoolbelt-psenv
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pytoolbelt_psenv-0.21.0.tar.gz -
Subject digest:
0b51943a71b4e6aa88d52af4ba77d9daafe61135987d058b040a41651c49c99f - Sigstore transparency entry: 578968772
- Sigstore integration time:
-
Permalink:
pytoolbelt/pytoolbelt-psenv@cf24f76b51092f8952f257992915106314061ee1 -
Branch / Tag:
refs/tags/v0.21.0 - Owner: https://github.com/pytoolbelt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cf24f76b51092f8952f257992915106314061ee1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pytoolbelt_psenv-0.21.0-py3-none-any.whl.
File metadata
- Download URL: pytoolbelt_psenv-0.21.0-py3-none-any.whl
- Upload date:
- Size: 20.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecde86492c17dcd3a3ea80ac57488883fd4332417843e14594ab230d4f711358
|
|
| MD5 |
0a47307bea45d0ed008f5698b24ca2b2
|
|
| BLAKE2b-256 |
4f1a8b6923168937d6677336bea592a1278d5ec8d78760351625fe62b44bb4bc
|
Provenance
The following attestation bundles were made for pytoolbelt_psenv-0.21.0-py3-none-any.whl:
Publisher:
release.yml on pytoolbelt/pytoolbelt-psenv
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pytoolbelt_psenv-0.21.0-py3-none-any.whl -
Subject digest:
ecde86492c17dcd3a3ea80ac57488883fd4332417843e14594ab230d4f711358 - Sigstore transparency entry: 578968786
- Sigstore integration time:
-
Permalink:
pytoolbelt/pytoolbelt-psenv@cf24f76b51092f8952f257992915106314061ee1 -
Branch / Tag:
refs/tags/v0.21.0 - Owner: https://github.com/pytoolbelt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cf24f76b51092f8952f257992915106314061ee1 -
Trigger Event:
push
-
Statement type: