ix-embeddings 0.1.0

Shared embedding infrastructure for Ixchel with pluggable providers
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"
name = "ix-embeddings"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Shared embedding infrastructure for Ixchel with pluggable providers"
readme = "README.md"
keywords = [
    "embeddings",
    "fastembed",
    "candle",
    "vector",
    "semantic-search",
]
categories = [
    "text-processing",
    "development-tools",
]
license = "MIT"
repository = "https://github.com/kevinmichaelchen/ixchel"
resolver = "2"

[features]
candle = [
    "dep:candle-core",
    "dep:candle-nn",
    "dep:candle-transformers",
    "dep:hf-hub",
    "dep:tokenizers",
    "dep:serde_json",
]
cuda = [
    "candle-core/cuda",
    "candle-nn/cuda",
    "candle-transformers/cuda",
]
default = ["fastembed"]
fastembed = ["dep:fastembed"]
metal = [
    "candle-core/metal",
    "candle-nn/metal",
    "candle-transformers/metal",
]

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

[dependencies.candle-core]
version = "0.8"
optional = true

[dependencies.candle-nn]
version = "0.8"
optional = true

[dependencies.candle-transformers]
version = "0.8"
optional = true

[dependencies.fastembed]
version = "4"
optional = true

[dependencies.hf-hub]
version = "0.4"
optional = true

[dependencies.ix-config]
version = "0.1.0"

[dependencies.serde_json]
version = "1"
optional = true

[dependencies.thiserror]
version = "2"

[dependencies.tokenizers]
version = "0.21"
optional = true

[lints.clippy]
cognitive_complexity = "warn"
implicit_hasher = "allow"
items_after_statements = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
too_many_arguments = "allow"

[lints.clippy.correctness]
level = "deny"
priority = -1

[lints.clippy.nursery]
level = "warn"
priority = -1

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.clippy.perf]
level = "warn"
priority = -1

[lints.clippy.style]
level = "warn"
priority = -1

[lints.clippy.suspicious]
level = "warn"
priority = -1

[lints.rust]
unsafe_code = "warn"

[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1