dotenv for MATLAB
A MATLAB implementation of dotenv
Storing configuration in the environment is one of the tenets of a 12-factor app. dotenv for MATLAB® lets you store configuration data (passwords, API keys, server names, etc.) outside of your code. This lets you share your code without sharing your configuration data.
Installation
Put dotenv.m
somewhere on your search path.
Usage Example
dotenv()
will try and load a file named .env
from the current working folder. Alternatively, you can specify the path with dotenv('path/to/file.env')
.
.env
# Obligatory XKCD https://xkcd.com/936/
password=correct-horse-battery-staple
file.m
d = dotenv();
opts = weboptions('HeaderField', ["accept", "any"; "authorization", d.env.password])
url = "https://myurl.com"
response = webread(url, opts);
Common places you may need to do this are weboptions()
, working with remote data like S3 buckets, the Database Toolbox, or ftp()
.
Rules
The parsing engine currently supports the following rules:
- empty lines are skipped
- lines beginning with
#
are treated as comments - empty values become empty strings (
DB_HOST=
becomesDBHOST: ''
) - whitespace is removed from both ends of unquoted values (
DB_HOST=some server
becomesDB_HOST:'some server'
) - quoted values are escaped (
DB_PASS=" some password "
becomesDB_PASS:' some password '
)
Examples are in the config directory.
FAQ
.env
file?
Should I commit my No. You should put *.env
in your .gitignore
file. MATLAB.gitignore plus *.env
is a good start.
Development Setup
Clone the repository. You can run runtests('tests')
from the project root to run the unit test suite.
Bugs?
I would love to hear if this breaks on any weird strings or doesn't work the way you expected.
Cite As
George (2024). dotenv-for-MATLAB (https://github.com/mathworks/dotenv-for-MATLAB/releases/tag/v1.1.4), GitHub. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
tests
Versions that use the GitHub default branch cannot be downloaded
Version | Published | Release Notes | |
---|---|---|---|
1.1.4 | See release notes for this release on GitHub: https://github.com/mathworks/dotenv-for-MATLAB/releases/tag/v1.1.4 |
||
1.1.3 | See release notes for this release on GitHub: https://github.com/mathworks/dotenv-for-MATLAB/releases/tag/v1.1.3 |
||
1.1.2 | See release notes for this release on GitHub: https://github.com/mathworks/dotenv-for-MATLAB/releases/tag/v1.1.2 |
||
1.1.1.0 | See release notes for this release on GitHub: https://github.com/mathworks/dotenv-for-MATLAB/releases/tag/v1.1.1 |
||
1.1.0 | Added support for continuous integration through Azure Pipelines and CircleCI |
|
|
1.0.2 | Improved documentation |
|
|
1.0.1 | Updated icon file |
|
|
1.0.0 |
|