Skip to main content

Extract secrets from .env files into their own file (either `.secrets` or `secrets.json`). Also provides `mask` and `unmask` options. The resulting secrets file can be leveraged to get your secrets into a 3rd party secrets manager like AWS Secrets Manager or something else.

Project description

Env Wrangler

Coverage

Overview

Extract secrets from .env files into their own file (either .secrets or secrets.json). Also provides mask and unmask options. The resulting secrets file can be leveraged to get your secrets into a 3rd party secrets manager like AWS Secrets Manager or something else.

Plays nice with cookiecutter-django.

Installation

python3 -m pip install env-wrangler

Usage

The path parameter is a directory, not a file!

env-wrangler extract --path ".envs/.production"
# Only run if you've previously run extract
env-wrangler mask --path ".envs/.production"
env-wrangler unmask --path ".envs/.production"

NOTE: For help run env-wrangler --help or for a specific command run env-wrangler {command} --help.

Upon first run, env-wrangler creates a ~/.env-wrangler/env-wrangler.toml file. You can modify this to add/remove key words based on your needs.

Development

make env
make pip_install
make pip_install_editable

Testing

make pytest
make coverage
make open_coverage

TODO

  • Add tests for cli commands
  • Write secrets to file non-destructively (eg - add key if not there, remove key if no longer present)

Issues

If you experience any issues, please create an issue on Github.

History

All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.

0.1.6 (2025-03-31)

  • Fixed missing dependency and data file.

0.1.5 (2024-04-23)

  • Moved from configparser to toml for configuration.

0.1.4 (2024-04-19)

  • Bug fix when getting key from .env file for comparision

0.1.3 (2024-04-19)

  • Added ignore_keys to config for keys (exact key names) to always ignore even if they contain key_word.

0.1.2 (2024-04-18)

  • Bug fix for if a env value contains an "=". We only split on the first "=" so we get key,value from .env.

0.1.1 (2024-04-18)

  • Write secrets files non-destructively
  • Sort keys for secrets files

0.1.0 (2024-04-15)

  • First release

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

env_wrangler-0.1.6.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

env_wrangler-0.1.6-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file env_wrangler-0.1.6.tar.gz.

File metadata

  • Download URL: env_wrangler-0.1.6.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for env_wrangler-0.1.6.tar.gz
Algorithm Hash digest
SHA256 3dc4be134fac65ab59139282c04d20fee18f978d773e7d9666008e21ea079235
MD5 88d420f41755f40a20a8944f15ad2948
BLAKE2b-256 931defbcdac13725d672dead35c99d05c36dcc569a9c91d134322e585facda4c

See more details on using hashes here.

File details

Details for the file env_wrangler-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: env_wrangler-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for env_wrangler-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 e08332c3bd61132ad9e977cb82f1a346470291f05c972008f562805b8d24878d
MD5 3043d4c2160f77a2aab26893d791c9ed
BLAKE2b-256 f163c09afd2be2bd44564e2a4ed140b5d47fa2f418a7443526ed74a52dbb0821

See more details on using hashes here.

Supported by

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