envTOML is an answer to a fairly simple problem: including values from
environment variables in TOML configuration files. In this way, it is very
similar to both envyaml and
varyaml which provide very
similar functionality for YAML and which greatly inspired this small
package.
Suppose we have the following configuration saved in config.toml
[db]
host = "$DB_HOST"
port = "$DB_PORT"
username = "$DB_USERNAME"
password = "$DB_PASSWORD"
name = "my_database"with the environment variables being set to the following
DB_HOST=some-host.tld DB_PORT=3306 DB_USERNAME=user01 DB_PASSWORD=veryToughPas$w0rd
this config can then be parsed with envTOML in the following way:
import envtoml
cfg = envtoml.load(open('./config.toml'))
print(cfg)
# {'db': {'host': 'some-host.tld',
# 'port': 3306,
# 'username': 'user01',
# 'password': 'veryToughPas$w0rd',
# 'name': 'my_database'}}As this project makes use of Poetry, after installing it the tests can be ran by executing the following from the project's root directory:
poetry run nosetests testsThey can also be ran with coverage:
poetry run nosetests --with-coverage testsLicensed under the MIT license (see LICENSE file for more details).