♻️
Python Sync Dotenv
Python Sync Dotenv is a Python package for synchronizing .env
files
across projects using command-line interfaces.
- Free software: MIT license
- Documentation: https://py-sync-dotenv.readthedocs.io.
Installation
$ pip install py-sync-dotenv
Usage
-
By default, py-sync-dotenv tries to locate the source .env file with the name .env from the current working directory.
$ py-sync-dotenv
-
This behavior can be modified by providing the source .env file path using the
-s, --source
option.$ py-sync-dotenv -s .env.source #OR $ py-sync-dotenv --source .env.source
-
Another option that can be supplied is the
-d, --destination-env
which is used to provide the path to the destination .env file. The below commands synchronizes the source .env file with the specified destination env file - .env.dev$ py-sync-dotenv -d .env.dev #OR $ py-sync-dotenv --destination-env .env.dev``
-
Likewise, there is the
-ds, --destination-envs
option which is used to provide the directory containing the destination .env file(s). The below commands synchronizes the source .env file with all the .env files contained in the specified directory.$ py-sync-dotenv -ds dev_envs/ #OR $ py-sync-dotenv --destination-envs dev_envs/``
-
Futhermore, to all the above options, you can specify the
--just-variable
flag to indicates to the engine to synchronize just the variables.$ py-sync-dotenv -d .env.dev --just-variables # Source --------------------> destination # SQL_HOST=127.0.0.1 --------> SQL_HOST= # SQL_PORT=5432 --------> SQL_PORT=
Command
-
The
watch
command can be used to auto synchronize the source .env file [on file changed/modified] with the specified destination file(s).$ py-sync-dotenv -s .env.source -d .env.dev watch
-
Coupled with the
watch
command is the--show-logs
flag, which is used to show file changes logs as they occur.$ py-sync-dotenv -d .env.dev watch --show-logs
Options
Type | Option | Description |
---|---|---|
FILE | -s, --source | Source .env file to use in populating other .env files [default: .env]. |
FILE | -d, --destination-env |
.env file for destination stage. |
DIRECTORY | -ds, --destination-envs | Directory path to .env files for destination stage. |
Flags
Type | Flag | Description |
---|---|---|
FLAG | --just-variables | indicates to the engine to synchronize just the variables. |
FLAG | --show-logs | show file changes logs as they occur. To be used with the watch command |
FLAG | --help | Show this message and exit. |
Commands
Type | Command | Description |
---|---|---|
COMMAND | watch | indicates to the engine to auto synchronize the source .env file [on file changed/modified] with the specified destination file(s). |
Credits
This package was created with Cookiecutter and the cookiecutter-pypackage project template.