envconfig

envconfig provides a function to get config objects from environment variables.

Pure Nim score 15/100 · tests present · no docs generated

Summary

Latest Version Unknown
License MIT
CI Status Failing
Downloads 0
Last Indexed 2026-07-21 05:24

Installation

nimble install envconfig
choosenim install envconfig
git clone https://github.com/jiro4989/envconfig

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
envconfig - - - - - - -

Source

Repository https://github.com/jiro4989/envconfig
Homepage https://github.com/jiro4989/envconfig
Registry Source nimble_official

README

envconfig

|gh-actions|

envconfig provides a function to get config objects from environment variables. envconfig is inspired by Go envconfig <https://github.com/kelseyhightower/envconfig>_.

.. contents:: Table of contents :depth: 3


Installation


.. code-block:: Bash

nimble install envconfig


Usage



Basic

Example that setting environment variables with shell.

.. code-block:: Bash

export MYAPP_NAME=envconfig export MYAPP_VERSION=v1.0.0 export MYAPP_DIR=/opt/envconfig export MYAPP_PORT=1234 export MYAPP_DEV=true

.. code-block:: Nim

import envconfig

type MyApp = object name, version, dir: string port: int dev: bool

let config = getEnvConfig(MyApp)

echo "MYAPP_NAME: " & config.name # envconfig echo "MYAPP_VERSION: " & config.version # v1.0.0 echo "MYAPP_DIR: " & config.dir # /opt/envconfig echo "MYAPP_PORT: " & $config.port # 1234 echo "MYAPP_DEV: " & $config.dev # true

Example that setting environment variables with Nim.

.. code-block:: Nim

import envconfig from os import putEnv

type MyApp = object name, version, dir: string port: int dev: bool

putEnv("MYAPP_NAME", "envconfig") putEnv("MYAPP_VERSION", "v1.0.0") putEnv("MYAPP_DIR", "/opt/envconfig") putEnv("MYAPP_PORT", "1234") putEnv("MYAPP_DEV", "true")

let config = getEnvConfig(MyApp)

echo "MYAPP_NAME: " & config.name # envconfig echo "MYAPP_VERSION: " & config.version # v1.0.0 echo "MYAPP_DIR: " & config.dir # /opt/envconfig echo "MYAPP_PORT: " & $config.port # 1234 echo "MYAPP_DEV: " & $config.dev # true


Validation

Provides tiny functions to validate values. A procedure can validate requires, min value, max value and regex match. For more informations, see also API documents <https://jiro4989.github.io/envconfig/envconfig.html>_.


API Documents


  • envconfig <https://jiro4989.github.io/envconfig/envconfig.html>_

LICENSE


MIT

.. |gh-actions| image:: https://github.com/jiro4989/envconfig/workflows/build/badge.svg :target: https://github.com/jiro4989/envconfig/actions