rstructor 0.2.9

Rust equivalent of Python's Instructor + Pydantic: Extract structured, validated data from LLMs (OpenAI, Anthropic, Grok, Gemini) using type-safe Rust structs and enums
Documentation
Build #2893804 2026-02-13 15:36:32

# rustc version rustc 1.95.0-nightly (47611e160 2026-02-12)

# docs.rs version docsrs 0.0.0 (91dcccd9 2026-02-13 )

# build log [INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace/builds/rstructor-0.2.9/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace/builds/rstructor-0.2.9/source:/opt/rustwide/workdir:ro,Z" "-v" "/home/cratesfyi/workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/home/cratesfyi/workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "6442450944" "--cpus" "6" "--user" "1001:1001" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20260212-1.95.0-nightly-47611e160\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-Zrustdoc-scrape-examples" "-j6" "--target" "x86_64-unknown-linux-gnu", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] bb1eea86336a311159dd6e31e8962869fdd708ae9e42d781d811d3d9b13a8a10 [INFO] running `Command { std: "docker" "start" "-a" "bb1eea86336a311159dd6e31e8962869fdd708ae9e42d781d811d3d9b13a8a10", kill_on_drop: false }` [INFO] [stderr] Scraping rstructor v0.2.9 (/opt/rustwide/workdir) [INFO] [stderr] Documenting rstructor v0.2.9 (/opt/rustwide/workdir) [INFO] [stderr] warning: this URL is not a hyperlink [INFO] [stderr] --> src/backend/anthropic.rs:499:94 [INFO] [stderr] | [INFO] [stderr] 499 | /// * `base_url` - Base URL without trailing slash (e.g., "http://localhost:1234/v1" or "https://api.example.com/v1") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: bare URLs are not automatically turned into clickable links [INFO] [stderr] = note: `#[warn(rustdoc::bare_urls)]` on by default [INFO] [stderr] help: use an automatic link instead [INFO] [stderr] | [INFO] [stderr] 499 | /// * `base_url` - Base URL without trailing slash (e.g., "http://localhost:1234/v1" or "<https://api.example.com/v1>") [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: this URL is not a hyperlink [INFO] [stderr] --> src/backend/gemini.rs:566:98 [INFO] [stderr] | [INFO] [stderr] 566 | /// * `base_url` - Base URL without trailing slash (e.g., "http://localhost:1234/v1beta" or "https://api.example.com/v1beta") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: bare URLs are not automatically turned into clickable links [INFO] [stderr] help: use an automatic link instead [INFO] [stderr] | [INFO] [stderr] 566 | /// * `base_url` - Base URL without trailing slash (e.g., "http://localhost:1234/v1beta" or "<https://api.example.com/v1beta>") [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: this URL is not a hyperlink [INFO] [stderr] --> src/backend/grok.rs:377:94 [INFO] [stderr] | [INFO] [stderr] 377 | /// * `base_url` - Base URL without trailing slash (e.g., "http://localhost:1234/v1" or "https://api.example.com/v1") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: bare URLs are not automatically turned into clickable links [INFO] [stderr] help: use an automatic link instead [INFO] [stderr] | [INFO] [stderr] 377 | /// * `base_url` - Base URL without trailing slash (e.g., "http://localhost:1234/v1" or "<https://api.example.com/v1>") [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: this URL is not a hyperlink [INFO] [stderr] --> src/backend/openai.rs:310:94 [INFO] [stderr] | [INFO] [stderr] 310 | /// * `base_url` - Base URL without trailing slash (e.g., "http://localhost:1234/v1" or "https://api.example.com/v1") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: bare URLs are not automatically turned into clickable links [INFO] [stderr] help: use an automatic link instead [INFO] [stderr] | [INFO] [stderr] 310 | /// * `base_url` - Base URL without trailing slash (e.g., "http://localhost:1234/v1" or "<https://api.example.com/v1>") [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: `rstructor` (lib doc) generated 4 warnings (run `cargo fix --lib -p rstructor` to apply 4 suggestions) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.06s [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/rstructor/index.html [INFO] running `Command { std: "docker" "inspect" "bb1eea86336a311159dd6e31e8962869fdd708ae9e42d781d811d3d9b13a8a10", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bb1eea86336a311159dd6e31e8962869fdd708ae9e42d781d811d3d9b13a8a10", kill_on_drop: false }` [INFO] [stdout] bb1eea86336a311159dd6e31e8962869fdd708ae9e42d781d811d3d9b13a8a10