Cargo Features

[dependencies]
kcl-lib = { version = "0.2.66", default-features = false, features = ["artifact-graph", "benchmark-execution", "cli", "dhat-heap", "disable-println", "engine", "pyo3", "lsp-test-util", "tabled"] }
default = cli, engine

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

artifact-graph

Affects engine::EngineManager.artifact_commands, engine::EngineManager.clear_artifact_commands, engine::EngineManager.take_artifact_commands, engine::EngineManager.handle_artifact_command, errors::KclErrorWithOutputs.operations, errors::KclErrorWithOutputs.artifact_commands, errors::KclErrorWithOutputs.artifact_graph, geometry::Helix.artifact_id, geometry::Plane.artifact_id, geometry::Face.artifact_id, geometry::Sketch.artifact_id, geometry::Solid.artifact_id, execution::ExecOutcome.operations, execution::ExecOutcome.artifact_commands, execution::ExecOutcome.artifact_graph

benchmark-execution
cli default

Enables clap, clap of kittycad

dhat-heap

Enables dhat

disable-println

For the lsp server, when run with stdout for rpc we want to disable println.
This is used for editor extensions that use the lsp server.

engine default

Affects engine::conn, engine::conn_wasm

pyo3

Enables pyo3

lsp-test-util

Helper functions also used in benchmarks.

tabled

Enables tabled ^0.18.0