Cargo Features

[dependencies]
uiua = { version = "0.14.0-dev.1", default-features = false, features = ["audio", "audio_encode", "batteries", "binary", "bytes", "clipboard", "debug", "ffi", "fft", "font_shaping", "full", "gif", "invoke", "lsp", "native_sys", "opt", "profile", "raw_mode", "stand", "terminal_image", "tls", "web", "webcam", "xlsx", "system", "trash"] }
audio full? = audio_encode, hodaun, lockfree

Affects sys_native::set_audio_stream_time, sys_native::set_audio_stream_time_port

audio_encode audio? batteries = hound

Affects encode::value_to_wav_bytes, encode::stereo_to_wave_bytes, encode::array_from_wav_bytes

batteries default = audio_encode, csv, fft, font_shaping, gif, image, json5, xlsx
binary default = clap, color-backtrace, ctrlc, ffi, native_sys, notify, rustyline, terminal-light, terminal_size

Affects sys_native::set_audio_stream_time, sys_native::set_audio_stream_time_port

bytes

No longer used

default = batteries, binary, clipboard, invoke, lsp, native_sys, opt, raw_mode, stand, terminal_image, tls, trash

These default features are set whenever uiua is added without default-features = false somewhere in the dependency tree.

clipboard default = arboard
debug
ffi binary = libffi, libloading
fft batteries = rustfft

Affects algorithm::fft, algorithm::unfft

font_shaping batteries = cosmic-text, sys-locale
full = audio, webcam

Enables all optional features

gif batteries = color_quant, image

Enables gif

Affects encode::value_to_gif_bytes, encode::gif_bytes_to_value

invoke default = open
lsp default = native_sys, tokio, tower-lsp
native_sys default binary lsp raw_mode stand
opt default

Enables some optimizations but increases binary size

profile = serde_yaml
raw_mode default = native_sys, rawrrr
stand default = native_sys

Affects uiua::stand

terminal_image default = icy_sixel, image, viuer
tls default = httparse, rustls, rustls-pemfile, webpki-roots
web = js-sys, wasm-bindgen, web-sys
webcam full? = image, uiua-nokhwa
xlsx batteries = calamine, simple_excel_writer
system

Use system static libraries instead of building them

Enables system of optional libffi

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

httparse tls

Enables httparse

Native dependencies

open invoke
rawrrr raw_mode

Enables rawrrr ^0.2.1

rustls tls
terminal_size binary

Enables terminal_size ^0.3.0

trash default

Enables trash ^4.0.0

viuer terminal_image

Enables viuer ^0.7.1

webpki-roots tls
hodaun audio?

Enables hodaun

Native audio dependencies

lockfree audio?
clap binary

Enables clap

Binary dependencies

color-backtrace binary
ctrlc binary

Enables ctrlc =3.4.4

notify binary

Enables notify ^6

rustyline binary

Enables rustyline ^14.0.0

terminal-light binary
tokio lsp
tower-lsp lsp
serde_yaml profile?

Enables serde_yaml

Profiling dependencies

arboard clipboard

Enables arboard

Feature dependencies

calamine xlsx?

Enables calamine ^0.24.0

color_quant gif?
cosmic-text font_shaping?
csv batteries
hound audio_encode?
image batteries gif? terminal_image webcam?

Enables image ^0.24.9

Affects encode::value_to_image_bytes, encode::rgb_image_to_array, encode::image_bytes_to_array, encode::image_to_bytes, encode::value_to_image, sys::SysBackend.show_image

json5 batteries
libffi ffi?
libloading ffi?
rustfft fft?
rustls-pemfile tls
simple_excel_writer xlsx?
sys-locale font_shaping?
uiua-nokhwa webcam?
icy_sixel terminal_image

Enables icy_sixel

Web-only dependencies

js-sys web?
wasm-bindgen web?
web-sys web?