Skip to main content

Mojo module

param_env

Implements functions for retrieving compile-time defines.

You can use these functions to set parameter values or runtime constants based on name-value pairs defined on the command line. For example:

  from sys import is_defined

alias float_type = DType.float32 if is_defined["FLOAT32"]() else DType.float64

# Use `float_type` as a constant.
  from sys import is_defined

alias float_type = DType.float32 if is_defined["FLOAT32"]() else DType.float64

# Use `float_type` as a constant.

And on the command line:

  mojo -D FLOAT_32 main.mojo
  mojo -D FLOAT_32 main.mojo

For more information, see the Mojo build docs. The mojo run command also supports the -D option.

You can import these APIs from the sys package. For example:

from sys import is_defined
from sys import is_defined

Functions

  • env_get_bool: Try to get an boolean-valued define. Compilation fails if the name is not defined or the value is neither True or False.
  • env_get_int: Try to get an integer-valued define. Compilation fails if the name is not defined.
  • env_get_string: Try to get a string-valued define. Compilation fails if the name is not defined.
  • is_defined: Return true if the named value is defined.