{"id":17225948,"url":"https://github.com/jacebrowning/env-diff","last_synced_at":"2025-04-14T01:08:01.922Z","repository":{"id":57426596,"uuid":"86345257","full_name":"jacebrowning/env-diff","owner":"jacebrowning","description":"Compares expected environment variables to those set in production.","archived":false,"fork":false,"pushed_at":"2020-09-07T15:04:55.000Z","size":588,"stargazers_count":7,"open_issues_count":3,"forks_count":3,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-04-14T01:07:50.516Z","etag":null,"topics":["command-line","deployment","devops","environment-variables","heroku","sysadmin"],"latest_commit_sha":null,"homepage":"http://env-diff.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jacebrowning.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-27T14:26:37.000Z","updated_at":"2023-08-23T05:43:56.000Z","dependencies_parsed_at":"2022-09-19T06:41:12.546Z","dependency_job_id":null,"html_url":"https://github.com/jacebrowning/env-diff","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacebrowning%2Fenv-diff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacebrowning%2Fenv-diff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacebrowning%2Fenv-diff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacebrowning%2Fenv-diff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jacebrowning","download_url":"https://codeload.github.com/jacebrowning/env-diff/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248804803,"owners_count":21164134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line","deployment","devops","environment-variables","heroku","sysadmin"],"created_at":"2024-10-15T04:14:54.136Z","updated_at":"2025-04-14T01:08:01.887Z","avatar_url":"https://github.com/jacebrowning.png","language":"Python","readme":"Unix: [![Unix Build Status](https://img.shields.io/travis/jacebrowning/env-diff/develop.svg)](https://travis-ci.org/jacebrowning/env-diff) Windows: [![Windows Build Status](https://img.shields.io/appveyor/ci/jacebrowning/env-diff/develop.svg)](https://ci.appveyor.com/project/jacebrowning/env-diff)\u003cbr\u003eMetrics: [![Coverage Status](https://img.shields.io/coveralls/jacebrowning/env-diff/develop.svg)](https://coveralls.io/r/jacebrowning/env-diff) [![Scrutinizer Code Quality](https://img.shields.io/scrutinizer/g/jacebrowning/env-diff.svg)](https://scrutinizer-ci.com/g/jacebrowning/env-diff/?branch=python3-pytest)\u003cbr\u003eUsage: [![PyPI Version](https://img.shields.io/pypi/v/env-diff.svg)](https://pypi.python.org/pypi/env-diff)\n\n# Overview\n\n`env-diff` is a command-line to tool to generate reports to compare the value of environment variables in each of your environments against the defaults defined in various files. It will help you you find:\n\n- variables absent from production, but will be required for a new feature in test\n- production values that shouldn't be shared to your staging environment\n- variables set that are no longer referenced in any files\n\nThis tool was built with [Heroku](https://www.heroku.com/continuous-delivery) in mind, but should work with any infrastructure that supports running commands remotely.\n\n# Setup\n\n## Requirements\n\n* Python 3.6+\n\n## Installation\n\nInstall `env-diff` with pip:\n\n```sh\n$ pip install env-diff\n```\n\nor directly from the source code:\n\n```sh\n$ git clone https://github.com/jacebrowning/env-diff.git\n$ cd env-diff\n$ python setup.py install\n```\n\n# Usage\n\nGenerate a sample config file:\n\n```sh\n$ env-diff --init\n```\n\nCustomize this file to match your project:\n\n- `sourcefiles`: contain references to environment variables used in your project\n    + `path`: relative path to source file\n- `environments`: the environments in which your project runs\n    + `name`: name of the environment\n    + `command`: command to display currently set environment variables\n\nGenerate reports to show the differences between each environment variable:\n\n```sh\n$ env-diff\n```\n\n# Demo\n\nInput YAML config file:\n\n![input](https://raw.githubusercontent.com/jacebrowning/env-diff/develop/docs/demo/input.png)\n\nRunning in a terminal:\n\n![run](https://raw.githubusercontent.com/jacebrowning/env-diff/develop/docs/demo/run.png)\n\nOutput (as viewed in [TableTool](https://github.com/jakob/TableTool)):\n\n![output](https://raw.githubusercontent.com/jacebrowning/env-diff/develop/docs/demo/output.png)\n\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacebrowning%2Fenv-diff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacebrowning%2Fenv-diff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacebrowning%2Fenv-diff/lists"}