Skip to main content

Expand system variables Unix style

Project description

expandvars

Expand system variables Unix style

PyPI version Build Status codecov

Inspiration

This module is inspired by GNU bash's variable expansion features. It can be used as an alternative to Python's os.path.expandvars function.

A good use case is reading config files with the flexibility of reading values from environment variables using advanced features like returning a default value if some variable is not defined. For example:

[default]
my_secret_access_code = "${ACCESS_CODE:-default_access_code}"

NOTE: Although it copies most of the common behaviours, it doesn't follow it strictly. For example, it doesn't work with arrays.

Usage

from expandvars import expandvars

print(expandvars("$PATH:$HOME/bin:${SOME_UNDEFINED_PATH:-/custom/path}"))
# /bin:/sbin:/usr/bin:/usr/sbin:/home/you/bin:/custom/path

Examples

For now, refer to the test cases to see how it behaves.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

expandvars-0.1.3.tar.gz (2.4 kB view details)

Uploaded Source

Built Distribution

expandvars-0.1.3-py3-none-any.whl (2.1 kB view details)

Uploaded Python 3

File details

Details for the file expandvars-0.1.3.tar.gz.

File metadata

  • Download URL: expandvars-0.1.3.tar.gz
  • Upload date:
  • Size: 2.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.5

File hashes

Hashes for expandvars-0.1.3.tar.gz
Algorithm Hash digest
SHA256 daa92bb8dd9af78b63bfe18e63cdc39dfa28242b57e5c0cace88124c22834840
MD5 bb892b435c5484d01b822993b36838a2
BLAKE2b-256 5241967d6de7cf6b963c47d305c84aa467c2a4b14ccaa51986f07e65b596ec18

See more details on using hashes here.

File details

Details for the file expandvars-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: expandvars-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 2.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.5

File hashes

Hashes for expandvars-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 953f0034dc900bdc4eb3f43321a251b7f7ed79b74c1ccf6d3edd0b98d112ed90
MD5 6b59101f614337e356323a858ba34246
BLAKE2b-256 f55a400183282cafa0a2ec8030127a74091b55e983acd06c552f4d6f0848631e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page