Metadata-Version: 2.1
Name: dotenver
Version: 0.7.0
Summary: Automatically generate .env files from .env.example template files
Home-page: https://github.com/jmfederico/dotenver
License: BSD-3-Clause
Keywords: dotenv,template
Author: Federico Jaramillo Martínez
Author-email: federicojaramillom@gmail.com
Requires-Python: >=3.6,<4.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Dist: colorama (>=0.4.1,<0.5.0)
Requires-Dist: faker (>=1.0,<2.0)
Requires-Dist: jinja2 (>=2.10,<3.0)
Project-URL: Repository, https://github.com/jmfederico/dotenver
Description-Content-Type: text/x-rst

============================
Python DotEnver
============================

.. image:: https://badge.fury.io/py/dotenver.svg
    :target: https://badge.fury.io/py/dotenver

.. image:: https://travis-ci.org/jmfederico/dotenver.svg?branch=master
    :target: https://travis-ci.org/jmfederico/dotenver

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/ambv/black

A Python app to generate dotenv (.env) files from templates.


Features
--------

* Automatic .env file generation from .env.example files
* Useful for CI or Docker deployments
* Uses Jinja2_ as rendering engine
* Uses Faker_ for value generation


Quickstart
----------

1. Install **Python DotEnver**

   .. code-block:: console

    $ pip install dotenver

2. Create a **.env.example** following this example

   .. code-block:: ini

    # Full line comments will be kept

    # Simple usage
    NAME= ## dotenver:first_name

    # Pass parameters to fakers
    ENABLED= ## dotenver:boolean(chance_of_getting_true=50)

    # Name your values
    MYSQL_PASSWORD= ## dotenver:password:my_password(length=20)
    # And get the same value again, when the name is repeated.
    DB_PASSWORD= ## dotenver:password:my_password()

    # Output your values within double or single quotes
    DOUBLE_QUOTED= ## dotenver:last_name(quotes='"')
    SINGLE_QUOTED= ## dotenver:last_name(quotes="'")

    # Literal values are possible
    STATIC_VARIABLE=static value

    # export syntax can be used
    export EXPORTED_VARIABLE=exported

3. Run python **DotEnver** form the CLI

   .. code-block:: console

    $ dotenver -r

4. You now have a new **.env** file ready to use.

5. For more usage options run

   .. code-block:: console

    $ dotenver -h


Docker
------

A Docker image `is provided <Dotenver image_>`_. To use it, mount your source code to
`/var/lib/dotenver/` and run the container.

.. code-block:: console

    $ docker run --rm -v `pwd`:/var/lib/dotenver/ jmfederico/dotenver

.. _Faker: https://faker.readthedocs.io
.. _Jinja2: http://jinja.pocoo.org
.. _jmfederico: https://github.com/jmfederico
.. _`Dotenver image`: https://cloud.docker.com/repository/docker/jmfederico/dotenver

