Skip to content
GitHub

Runtime limits and environment variables

This appendix summarizes runtime limits and environment variables relevant to bino. Exact names and defaults may evolve; always consult the CLI help for the latest list.

You can reference environment variables in any string value with:

  • ${VAR} – replaced with the value of VAR.
  • ${VAR:default} – replaced with the value of VAR, or default if VAR is not set.
  • \${VAR} – escape sequence, produces ${VAR} literally.

Behavior:

  • bino preview warns about unresolved variables and substitutes empty strings.
  • bino build fails with an error listing unresolved variables.

Example:

path: "${DATA_DIR:./data}/sales.csv"

bino enforces limits on manifest scanning to keep builds predictable:

  • Maximum number of manifest files.
  • Maximum documents per file.
  • Maximum total manifest size.

If limits are exceeded, bino fails with a clear error message. Override these via environment variables documented in the CLI help when necessary.

To protect your environment, bino applies limits to queries and data:

  • Maximum rows per query.
  • Maximum query runtime.
  • Maximum size and timeout for external assets.

Raise these limits carefully when running large monthly or quarterly reports. Document any overrides in your project README and CI configuration.

bino validates query results against the DataSet schema to catch data issues early. For efficiency, only a sample of rows is validated.

VariableDefaultDescription
BNR_DATA_VALIDATION_SAMPLE_SIZE10Number of rows to validate per dataset

Example:

BNR_DATA_VALIDATION_SAMPLE_SIZE=100 bino build

See bino build for more information on data validation modes.