llmtask 0.1.0

Engine-agnostic Task abstraction for LLM structured-output: Task trait + Grammar (JSON Schema, Lark, Regex) + ImageAnalysis
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.95"
name = "llmtask"
version = "0.1.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Engine-agnostic Task abstraction for LLM structured-output: Task trait + Grammar (JSON Schema, Lark, Regex) + ImageAnalysis"
homepage = "https://github.com/findit-ai/llmtask"
documentation = "https://docs.rs/llmtask"
readme = "README.md"
keywords = [
    "llm",
    "vlm",
    "structured-output",
    "json-schema",
    "constrained-decoding",
]
categories = [
    "api-bindings",
    "text-processing",
    "data-structures",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/findit-ai/llmtask"

[features]
alloc = ["dep:smol_str"]
default = [
    "std",
    "json",
]
json = [
    "dep:serde_json",
    "alloc",
]
regex = [
    "dep:regex",
    "dep:regex-syntax",
    "alloc",
]
serde = [
    "dep:serde",
    "serde/alloc",
    "alloc",
    "smol_str?/serde",
]
std = [
    "alloc",
    "thiserror/default",
    "regex?/default",
    "regex-syntax?/default",
    "smol_str/default",
    "serde?/std",
    "serde_json?/std",
]

[lib]
name = "llmtask"
path = "src/lib.rs"

[dependencies.regex]
version = "1"
optional = true
default-features = false

[dependencies.regex-syntax]
version = "0.8"
optional = true
default-features = false

[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
default-features = false

[dependencies.serde_json]
version = "1"
features = ["alloc"]
optional = true
default-features = false

[dependencies.smol_str]
version = "0.3"
optional = true
default-features = false

[dependencies.thiserror]
version = "2"
default-features = false

[lints.rust]
rust_2018_idioms = "warn"
single_use_lifetimes = "warn"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
    "cfg(docsrs)",
    "cfg(tarpaulin)",
]