HBNetwork / python-decouple

Strict separation of config from code.
MIT License
2.83k stars 196 forks source link

added suport for json files #42

Closed rodrigopmatias closed 7 years ago

henriquebastos commented 7 years ago

Are you actually using Yaml on a production ready project? How do you deal with:

  1. Environment variable overriding JSON field.
  2. Retrieving information to configure a django database?

It would be helpful to understand this PR if you could translate the settings.py I detail on the README to the JSON counter part.

I have the feeling that it is not compatible with ini and .env.

rodrigopmatias commented 7 years ago

@henriquebastos acredito que você se confundiu, o meu PR é para adicionar suporte para JSON e não para YAML, quando a variáveis curinga eu fiz uma tratativa pode dar uma olhada nas linhas 118 e 119 do decouple.py

De toda forma queria um contato mais dinâmico contigo porque a equipe aqui onde trabalho resolveu usar o python-decouple para trabalhar as configurações e estamos usando INI, de toda forma eu sou responsável por manter os servidores e ficou um pouco complicado, pouco intuitivo, fazer isto com INI imagino eu que seria mais intuitivo trabalhar com JSON uma vez que é um formato mais conhecido pela equipe.

Eu vi que o travis quebrou no python 2.7 eu irie providenciar a correção e irei fazer outro PR.

henriquebastos commented 7 years ago

Falaê @rodrigopmatias.

Então, com json o problema é o mesmo do yaml. Basicamente json e yaml são formatos que permitem estruturas de dados hierárquicas.

No entanto, o ini, o .env e as variáveis de ambiente, não permitem hierarquias e trabalham apenas com um único valor como string que é processado pelo decouple segundo as configurações que você passa.

Por essa razão eu não vejo como suportar json e yaml sem quebrar a lógica do decouple. Por isso sugeri que você criasse um caso concreto a partir do exemplo que eu listo na documentação.

rodrigopmatias commented 7 years ago

não se faz necessário.