Skip to main content

A utility tool to create .env files

Project description

A utility tool to create ``.env`` files
---------------------------------------

.. image:: https://travis-ci.org/sobolevn/dump-env.svg?branch=master
:target: https://travis-ci.org/sobolevn/dump-env

.. image:: https://coveralls.io/repos/github/sobolevn/dump-env/badge.svg?branch=master
:target: https://coveralls.io/github/sobolevn/dump-env?branch=master

.. image:: https://badge.fury.io/py/dump-env.svg
:target: http://badge.fury.io/py/dump-env

.. image:: https://img.shields.io/pypi/pyversions/dump-env.svg
:target: https://pypi.python.org/pypi/dump-env

.. image:: https://readthedocs.org/projects/dump-env/badge/?version=latest
:target: http://dump-env.readthedocs.io/en/latest/?badge=latest

``dump-env`` takes an ``.env.template`` file and some optional environmental variables to create a new ``.env`` file from these two sources.

Quickstart
~~~~~~~~~~

This quick demo will demonstrate the main and the only purpose of ``dump-env``:

.. code:: bash

$ dump-env --template=.env.template --prefix='SECRET_ENV_' > .env

This command will:

1. take ``.env.template``
2. parse its keys and values
3. read and all the variables from the environment starting with ``SECRET_ENV_``
4. remove this prefix
5. mix it all together, where environment variables could override ones with the same name from the template
6. sort keys in alphabetic order
7. dump all the keys and values into the ``.env`` file

Installation
~~~~~~~~~~~~

.. code:: bash

$ pip install dump-env

Why?
~~~~

Why do we need such a tool? Well, this tool is very helpful when your CI is building ``docker`` (or other) images.
`Previously <https://github.com/wemake-services/wemake-django-template/blob/6a7ab060e8435fd855cd806706c5d1b5a9e76d12/%7B%7Bcookiecutter.project_name%7D%7D/.gitlab-ci.yml#L25>`_ we had some complex logic of encrypting and decrypting files, importing secret keys and so on.
Now we can just create secret variables for our CI, add some prefix to it, and use ``dump-env`` to make our life easier.

Creating secret variables in some CIs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- ``travis``: `docs <https://docs.travis-ci.com/user/environment-variables/#Defining-encrypted-variables-in-.travis.yml>`_
- ``gitlab-ci``: `docs <https://docs.gitlab.com/ce/ci/variables/README.html#secret-variables>`_


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

dump-env-0.1.1.tar.gz (4.8 kB view hashes)

Uploaded Source

Built Distributions

dump_env-0.1.1-py3-none-any.whl (6.0 kB view hashes)

Uploaded Python 3

dump_env-0.1.1-py2-none-any.whl (6.0 kB view hashes)

Uploaded Python 2

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