Introdução ao dynaconf

Instalação

O processo de instalação segue o padrão python de ser, basta executar o comando (ou equivalente):

Importação

Para importar o dynaconf em seu projeto, no arquivo em que você deseja acessar as configurações faça:

Arquivo de configuração

O dynaconf suporta um conjunto de formatos de arquivos de configuração. Independentemente do formato desejado, ele deve ser chamado de settings e pode ser settings.py, settings.toml, settings.json etc. No projeto que eu compartilharei aqui como exemplo, eu utilizei o settings.json.

Acessando os parâmetros

Para acessar os parâmetros (ou chaves) que você configurou em seu arquivo settings.*, você também dispõe de um conjunto de formas. Digamos que, por exemplo, você tenha uma chave em seu arquivo de configuração chamado de CONFIG e, nele, um subatributo chamado Parameter. Então, uma vez feita a importação do dynaconf conforme já apresentado, basta fazer a chamada em seu código da seguinte forma:

Ambientes de trabalho¶

Uma das coisas mais legais do dynaconf (e olhe que eu achei tudo muito legal) é a possibilidade de ter divisões e configurações de ambientes de trabalho. Sendo possível ter configurações específicas para ambientes de development, staging, testing e production.

Exemplo de uso

No próprio site do dynaconf você encontrará várias formas de utilizá-lo e, ainda, ter acesso a um repositório com aplicações específicas (incluindo com o Flask etc.). Eu, por outro lado, gostaria de disponibilizar um projeto que fiz para resolver um probleminha específico em um dos meus projetos e que o dynaconf foi uma ferramenta fundamental para o que eu precisava. Ele está aqui (https://github.com/adrianosantospb/ServicesWatcher).

--

--

Senior Computer Vision Data Scientist at Conception Ro-Main (Quebec — CA). DSc in Computer Science. MTAC Brazil. https://github.com/adrianosantospb

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Adriano A. Santos

Adriano A. Santos

Senior Computer Vision Data Scientist at Conception Ro-Main (Quebec — CA). DSc in Computer Science. MTAC Brazil. https://github.com/adrianosantospb