[[bench]]
harness = false
name = "evaluation_parallel"
path = "benches/evaluation_parallel.rs"
required-features = ["eval", "eval-parallel"]
[[bench]]
name = "evaluation_performance"
path = "benches/evaluation_performance.rs"
[[bench]]
harness = false
name = "gliner_eval_profiling"
path = "benches/gliner_eval_profiling.rs"
required-features = ["onnx", "eval"]
[[bench]]
harness = false
name = "gliner_profiling"
path = "benches/gliner_profiling.rs"
required-features = ["onnx"]
[[bench]]
harness = false
name = "ner"
path = "benches/ner.rs"
[[bench]]
harness = false
name = "optimization_performance"
path = "benches/optimization_performance.rs"
[[bench]]
harness = false
name = "stacked_ner_performance"
path = "benches/stacked_ner_performance.rs"
[[bin]]
name = "anno"
path = "src/bin/anno.rs"
required-features = ["cli"]
[[bin]]
name = "anno-eval"
path = "src/bin/anno_eval.rs"
required-features = ["eval"]
[dependencies.candle-core]
optional = true
version = "0.9"
[dependencies.candle-nn]
optional = true
version = "0.9"
[dependencies.candle-transformers]
optional = true
version = "0.9"
[dependencies.chrono]
features = ["serde"]
version = "0.4"
[dependencies.clap]
features = ["derive", "env", "wrap_help"]
optional = true
version = "4"
[dependencies.clap_complete]
optional = true
version = "4"
[dependencies.crossbeam-channel]
optional = true
version = "0.5"
[dependencies.dirs]
optional = true
version = "5"
[dependencies.futures]
optional = true
version = "0.3"
[dependencies.glob]
optional = true
version = "0.3"
[dependencies.hf-hub]
optional = true
version = "0.4"
[dependencies.is-terminal]
optional = true
version = "0.4"
[dependencies.log]
version = "0.4"
[dependencies.lru]
optional = true
version = "0.12"
[dependencies.ndarray]
optional = true
version = "0.16"
[dependencies.once_cell]
version = "1"
[dependencies.ort]
optional = true
version = "2.0.0-rc.10"
[dependencies.parking_lot]
optional = true
version = "0.12"
[dependencies.rand]
optional = true
version = "0.9"
[dependencies.rayon]
optional = true
version = "1"
[dependencies.regex]
version = "1"
[dependencies.safetensors]
optional = true
version = "0.4"
[dependencies.serde]
features = ["derive"]
version = "1"
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
optional = true
version = "0.10"
[dependencies.thiserror]
version = "2"
[dependencies.tokenizers]
optional = true
version = "0.22"
[dependencies.tokio]
features = ["rt", "sync"]
optional = true
version = "1"
[dependencies.ureq]
optional = true
version = "2"
[dev-dependencies.assert_cmd]
version = "2.0"
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.predicates]
version = "3.1"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.rand]
version = "0.9"
[dev-dependencies.tempfile]
version = "3"
[[example]]
name = "abstract_anaphora_eval"
path = "examples/abstract_anaphora_eval.rs"
required-features = ["discourse"]
[[example]]
name = "advanced"
path = "examples/advanced.rs"
required-features = ["eval"]
[[example]]
name = "benchmark"
path = "examples/benchmark.rs"
required-features = ["eval-full"]
[[example]]
name = "bert"
path = "examples/bert.rs"
required-features = ["onnx"]
[[example]]
name = "bias"
path = "examples/bias.rs"
required-features = ["eval-bias"]
[[example]]
name = "bias_dataset_sizes"
path = "examples/bias_dataset_sizes.rs"
[[example]]
name = "box_coreference"
path = "examples/box_coreference.rs"
required-features = ["eval"]
[[example]]
name = "box_training"
path = "examples/box_training.rs"
required-features = ["eval"]
[[example]]
name = "box_training_real_data"
path = "examples/box_training_real_data.rs"
required-features = ["eval"]
[[example]]
name = "candle"
path = "examples/candle.rs"
required-features = ["candle"]
[[example]]
name = "combined_evaluation"
path = "examples/combined_evaluation.rs"
[[example]]
name = "comprehensive_bias_eval"
path = "examples/comprehensive_bias_eval.rs"
[[example]]
name = "comprehensive_evaluation"
path = "examples/comprehensive_evaluation.rs"
[[example]]
name = "config_builder_usage"
path = "examples/config_builder_usage.rs"
[[example]]
name = "coref"
path = "examples/coref.rs"
required-features = ["eval"]
[[example]]
name = "debug_ner"
path = "examples/debug_ner.rs"
[[example]]
name = "discourse_pipeline"
path = "examples/discourse_pipeline.rs"
required-features = ["discourse"]
[[example]]
name = "download_datasets"
path = "examples/download_datasets.rs"
required-features = ["eval-advanced"]
[[example]]
name = "download_models"
path = "examples/download_models.rs"
required-features = ["onnx"]
[[example]]
name = "eval"
path = "examples/eval.rs"
required-features = ["eval"]
[[example]]
name = "eval_advanced_features"
path = "examples/eval_advanced_features.rs"
[[example]]
name = "eval_basic"
path = "examples/eval_basic.rs"
required-features = ["eval"]
[[example]]
name = "eval_comparison"
path = "examples/eval_comparison.rs"
[[example]]
name = "eval_coref_analysis"
path = "examples/eval_coref_analysis.rs"
[[example]]
name = "eval_stress_test"
path = "examples/eval_stress_test.rs"
[[example]]
name = "extract_dataset_texts"
path = "examples/extract_dataset_texts.rs"
[[example]]
name = "gliner2_multitask"
path = "examples/gliner2_multitask.rs"
required-features = ["onnx"]
[[example]]
name = "gliner_candle"
path = "examples/gliner_candle.rs"
required-features = ["candle"]
[[example]]
name = "grounded"
path = "examples/grounded.rs"
[[example]]
name = "grounded_analysis_output"
path = "examples/grounded_analysis_output.rs"
[[example]]
name = "hybrid"
path = "examples/hybrid.rs"
required-features = ["onnx"]
[[example]]
name = "migrating_to_unified"
path = "examples/migrating_to_unified.rs"
[[example]]
name = "models"
path = "examples/models.rs"
required-features = ["onnx"]
[[example]]
name = "production"
path = "examples/production.rs"
required-features = ["production"]
[[example]]
name = "quickstart"
path = "examples/quickstart.rs"
required-features = ["eval"]
[[example]]
name = "task_evaluation"
path = "examples/task_evaluation.rs"
[[example]]
name = "temporal_e2e"
path = "examples/temporal_e2e.rs"
required-features = ["eval"]
[[example]]
name = "unified_evaluation"
path = "examples/unified_evaluation.rs"
[features]
async-inference = ["dep:tokio", "dep:futures", "onnx"]
candle = ["dep:candle-core", "dep:candle-nn", "dep:candle-transformers", "dep:tokenizers", "dep:hf-hub", "dep:safetensors"]
cli = ["dep:clap", "dep:clap_complete", "dep:is-terminal"]
cuda = ["candle", "candle-core/cuda", "candle-nn/cuda", "candle-transformers/cuda"]
default = []
discourse = ["eval"]
eval = ["dep:dirs", "dep:glob"]
eval-advanced = ["eval", "dep:rand", "dep:ureq", "dep:sha2"]
eval-bias = ["eval"]
eval-full = ["eval", "eval-bias", "eval-advanced"]
eval-parallel = ["eval", "dep:rayon"]
eval-profiling = ["eval"]
fast-lock = ["dep:parking_lot"]
full = ["eval-full", "onnx", "candle", "discourse"]
metal = ["candle", "candle-core/metal", "candle-nn/metal", "candle-transformers/metal"]
onnx = ["dep:ort", "dep:tokenizers", "dep:hf-hub", "dep:ndarray", "dep:lru"]
production = ["onnx", "async-inference", "session-pool", "fast-lock"]
session-pool = ["dep:crossbeam-channel", "onnx"]
[lib]
name = "anno"
path = "src/lib.rs"
[lints.clippy]
unwrap_used = "warn"
[lints.rust]
missing_docs = "warn"
[package]
authors = ["Arc <attobop@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["text-processing", "science"]
description = "Unified API for NER, coreference resolution, and evaluation in Rust. Zero-dependency baselines, ML backends (BERT/GLiNER), and comprehensive evaluation framework."
documentation = "https://docs.rs/anno"
edition = "2021"
homepage = "https://docs.rs/anno"
keywords = ["ner", "nlp", "entity", "extraction", "coreference"]
license = "MIT OR Apache-2.0"
name = "anno"
readme = "README.md"
repository = "https://github.com/arclabs561/anno"
rust-version = "1.75"
version = "0.2.0"
[[test]]
name = "advanced_trait_tests"
path = "tests/advanced_trait_tests.rs"
[[test]]
name = "auto_backend_tests"
path = "tests/auto_backend_tests.rs"
[[test]]
name = "backend_candle"
path = "tests/backend_candle.rs"
[[test]]
name = "backend_comparison"
path = "tests/backend_comparison.rs"
[[test]]
name = "backend_nuner_w2ner"
path = "tests/backend_nuner_w2ner.rs"
[[test]]
name = "bounds_validation"
path = "tests/bounds_validation.rs"
[[test]]
name = "bug_fixes"
path = "tests/bug_fixes.rs"
[[test]]
name = "cli_integration"
path = "tests/cli_integration.rs"
[[test]]
name = "cli_ux_fixes"
path = "tests/cli_ux_fixes.rs"
[[test]]
name = "comprehensive_ner_tests"
path = "tests/comprehensive_ner_tests.rs"
[[test]]
name = "concurrency_tests"
path = "tests/concurrency_tests.rs"
[[test]]
name = "conversion_e2e"
path = "tests/conversion_e2e.rs"
[[test]]
name = "coref_integration"
path = "tests/coref_integration.rs"
[[test]]
name = "corpus_performance"
path = "tests/corpus_performance.rs"
[[test]]
name = "corpus_proptest"
path = "tests/corpus_proptest.rs"
[[test]]
name = "corpus_tests"
path = "tests/corpus_tests.rs"
[[test]]
name = "crossdoc_cli"
path = "tests/crossdoc_cli.rs"
[[test]]
name = "crossdoc_cli_e2e"
path = "tests/crossdoc_cli_e2e.rs"
[[test]]
name = "crossdoc_cli_exec"
path = "tests/crossdoc_cli_exec.rs"
[[test]]
name = "crossdoc_cli_format"
path = "tests/crossdoc_cli_format.rs"
[[test]]
name = "crossdoc_cli_integration"
path = "tests/crossdoc_cli_integration.rs"
[[test]]
name = "crossdoc_cli_output"
path = "tests/crossdoc_cli_output.rs"
[[test]]
name = "crossdoc_cli_proptest"
path = "tests/crossdoc_cli_proptest.rs"
[[test]]
name = "die_hard"
path = "tests/die_hard.rs"
[[test]]
name = "discontinuous_span_tests"
path = "tests/discontinuous_span_tests.rs"
[[test]]
name = "discourse_comprehensive"
path = "tests/discourse_comprehensive.rs"
[[test]]
name = "domain_specific"
path = "tests/domain_specific.rs"
[[test]]
name = "e2e_quality_comprehensive"
path = "tests/e2e_quality_comprehensive.rs"
[[test]]
name = "edge_cases"
path = "tests/edge_cases.rs"
[[test]]
name = "entity_builder_fuzz_tests"
path = "tests/entity_builder_fuzz_tests.rs"
[[test]]
name = "entity_builder_fuzz_tests_minimal"
path = "tests/entity_builder_fuzz_tests_minimal.rs"
[[test]]
name = "entity_validation_fuzz_tests"
path = "tests/entity_validation_fuzz_tests.rs"
[[test]]
name = "eval_improvements_tests"
path = "tests/eval_improvements_tests.rs"
[[test]]
name = "eval_integration"
path = "tests/eval_integration.rs"
[[test]]
name = "eval_label_mapping"
path = "tests/eval_label_mapping.rs"
[[test]]
name = "eval_progress_reporting"
path = "tests/eval_progress_reporting.rs"
[[test]]
name = "eval_proptest"
path = "tests/eval_proptest.rs"
[[test]]
name = "evaluator_tests"
path = "tests/evaluator_tests.rs"
[[test]]
name = "fuzz_edge_cases"
path = "tests/fuzz_edge_cases.rs"
[[test]]
name = "fuzz_strategies"
path = "tests/fuzz_strategies.rs"
[[test]]
name = "gliner1_tests"
path = "tests/gliner1_tests.rs"
[[test]]
name = "gliner2_tests"
path = "tests/gliner2_tests.rs"
[[test]]
name = "gliner_candle_bug_tests"
path = "tests/gliner_candle_bug_tests.rs"
[[test]]
name = "gliner_optimization_invariants"
path = "tests/gliner_optimization_invariants.rs"
[[test]]
name = "graph_export_tests"
path = "tests/graph_export_tests.rs"
[[test]]
name = "graph_fuzz_tests"
path = "tests/graph_fuzz_tests.rs"
[[test]]
name = "graph_fuzz_tests_minimal"
path = "tests/graph_fuzz_tests_minimal.rs"
[[test]]
name = "grounded_fuzz_tests"
path = "tests/grounded_fuzz_tests.rs"
[[test]]
name = "grounded_fuzz_tests_minimal"
path = "tests/grounded_fuzz_tests_minimal.rs"
[[test]]
name = "grounded_multimodal"
path = "tests/grounded_multimodal.rs"
[[test]]
name = "heuristic_optimization_invariants"
path = "tests/heuristic_optimization_invariants.rs"
[[test]]
name = "inference_tests"
path = "tests/inference_tests.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "integration_comprehensive"
path = "tests/integration_comprehensive.rs"
[[test]]
name = "integration_eval"
path = "tests/integration_eval.rs"
[[test]]
name = "integration_full_pipeline"
path = "tests/integration_full_pipeline.rs"
[[test]]
name = "invariant_tests"
path = "tests/invariant_tests.rs"
[[test]]
name = "lang_detection_fuzz_tests"
path = "tests/lang_detection_fuzz_tests.rs"
[[test]]
name = "lang_detection_tests"
path = "tests/lang_detection_tests.rs"
[[test]]
name = "layered_ner_comprehensive"
path = "tests/layered_ner_comprehensive.rs"
[[test]]
name = "mock_model_tests"
path = "tests/mock_model_tests.rs"
[[test]]
name = "multilingual_ner_tests"
path = "tests/multilingual_ner_tests.rs"
[[test]]
name = "ner_comprehensive"
path = "tests/ner_comprehensive.rs"
[[test]]
name = "ner_nuances"
path = "tests/ner_nuances.rs"
[[test]]
name = "ner_tests"
path = "tests/ner_tests.rs"
[[test]]
name = "new_features_integration"
path = "tests/new_features_integration.rs"
[[test]]
name = "no_features"
path = "tests/no_features.rs"
[[test]]
name = "offset_bug_tests"
path = "tests/offset_bug_tests.rs"
[[test]]
name = "offset_edge_cases"
path = "tests/offset_edge_cases.rs"
[[test]]
name = "offset_fuzz_tests"
path = "tests/offset_fuzz_tests.rs"
[[test]]
name = "optimization_correctness"
path = "tests/optimization_correctness.rs"
[[test]]
name = "optimization_invariants"
path = "tests/optimization_invariants.rs"
[[test]]
name = "pattern_statistical_detailed"
path = "tests/pattern_statistical_detailed.rs"
[[test]]
name = "performance_invariants"
path = "tests/performance_invariants.rs"
[[test]]
name = "real_datasets"
path = "tests/real_datasets.rs"
[[test]]
name = "regression_f1"
path = "tests/regression_f1.rs"
[[test]]
name = "relation_extraction_quality"
path = "tests/relation_extraction_quality.rs"
[[test]]
name = "schema_fuzz_tests"
path = "tests/schema_fuzz_tests.rs"
[[test]]
name = "schema_fuzz_tests_minimal"
path = "tests/schema_fuzz_tests_minimal.rs"
[[test]]
name = "schema_mapping_tests"
path = "tests/schema_mapping_tests.rs"
[[test]]
name = "seqeval_comparison"
path = "tests/seqeval_comparison.rs"
[[test]]
name = "serialization_fuzz_tests"
path = "tests/serialization_fuzz_tests.rs"
[[test]]
name = "serialization_fuzz_tests_minimal"
path = "tests/serialization_fuzz_tests_minimal.rs"
[[test]]
name = "serialization_tests"
path = "tests/serialization_tests.rs"
[[test]]
name = "similarity_fuzz_tests"
path = "tests/similarity_fuzz_tests.rs"
[[test]]
name = "slow_benchmarks"
path = "tests/slow_benchmarks.rs"
[[test]]
name = "stacked_ml_composability"
path = "tests/stacked_ml_composability.rs"
[[test]]
name = "stacked_ner_evaluation"
path = "tests/stacked_ner_evaluation.rs"
[[test]]
name = "subtle_bugs_tests"
path = "tests/subtle_bugs_tests.rs"
[[test]]
name = "task_evaluator_comprehensive"
path = "tests/task_evaluator_comprehensive.rs"
[[test]]
name = "task_mapping"
path = "tests/task_mapping.rs"
[[test]]
name = "test_schema_minimal"
path = "tests/test_schema_minimal.rs"
[[test]]
name = "trait_harmonization_tests"
path = "tests/trait_harmonization_tests.rs"
[[test]]
name = "trait_integration_tests"
path = "tests/trait_integration_tests.rs"
[[test]]
name = "type_mapper_tests"
path = "tests/type_mapper_tests.rs"
[[test]]
name = "unicode_edge_cases"
path = "tests/unicode_edge_cases.rs"
[[test]]
name = "w2ner_auth_tests"
path = "tests/w2ner_auth_tests.rs"
[[test]]
name = "zero_shot_eval_tests"
path = "tests/zero_shot_eval_tests.rs"