Skip to main content

Crate kiss

Crate kiss 

Source
Expand description

Library crate for kiss metrics and analysis.

Re-exports§

pub use cli_output::print_dry_results;
pub use config::Config;
pub use config::ConfigError;
pub use config::ConfigLanguage;
pub use config::is_similar;
pub use counts::analyze_file;
pub use counts::analyze_file_with_statement_count;
pub use defaults::default_config_toml;
pub use discovery::Language;
pub use discovery::SourceFile;
pub use discovery::find_python_files;
pub use discovery::find_rust_files;
pub use discovery::find_source_files;
pub use discovery::find_source_files_with_ignore;
pub use discovery::gather_files_by_lang;
pub use discovery::normalize_ignore_prefixes;
pub use duplication::CodeChunk;
pub use duplication::DuplicateCluster;
pub use duplication::DuplicatePair;
pub use duplication::DuplicationConfig;
pub use duplication::MinHashSignature;
pub use duplication::cluster_duplicates;
pub use duplication::cluster_duplicates_from_chunks;
pub use duplication::detect_duplicates;
pub use duplication::detect_duplicates_from_chunks;
pub use duplication::extract_chunks_for_duplication;
pub use duplication::extract_rust_chunks_for_duplication;
pub use gate_config::GateConfig;
pub use test_section_config::TestSectionConfig;
pub use graph::CycleInfo;
pub use graph::DependencyGraph;
pub use graph::ModuleGraphMetrics;
pub use graph::analyze_graph;
pub use graph::build_dependency_graph;
pub use graph::compute_cyclomatic_complexity;
pub use layout_cycles::CycleBreakSuggestion;
pub use layout_cycles::LayoutCycleAnalysis;
pub use layout_cycles::analyze_cycles;
pub use layout_layers::LayerInfo;
pub use layout_layers::compute_layers;
pub use layout_output::LayoutAnalysis;
pub use layout_output::LayoutMetrics;
pub use layout_output::WhatIfAnalysis;
pub use layout_output::format_markdown;
pub use parsing::ParseError;
pub use parsing::ParsedFile;
pub use parsing::create_parser;
pub use parsing::parse_file;
pub use parsing::parse_files;
pub use py_metrics::ClassMetrics;
pub use py_metrics::FileMetrics;
pub use py_metrics::FunctionMetrics;
pub use py_metrics::compute_class_metrics;
pub use py_metrics::compute_file_metrics;
pub use py_metrics::compute_function_metrics;
pub use stats::METRICS;
pub use stats::MetricDef;
pub use stats::MetricScope;
pub use stats::MetricStats;
pub use stats::PercentileSummary;
pub use stats::compute_summaries;
pub use stats::format_stats_table;
pub use stats::generate_config_toml;
pub use stats::get_metric_def;
pub use stats_detailed::UnitMetrics;
pub use stats_detailed::collect_detailed_py;
pub use stats_detailed::collect_detailed_rs;
pub use stats_detailed::format_detailed_table;
pub use stats_detailed::truncate;
pub use test_refs::CodeDefinition;
pub use test_refs::TestRefAnalysis;
pub use test_refs::analyze_test_refs;
pub use test_refs::analyze_test_refs_no_map;
pub use test_refs::analyze_test_refs_quick;
pub use test_refs::build_name_file_map;
pub use test_refs::is_in_test_directory;
pub use test_refs::is_test_file;
pub use test_refs::test_functions_in;
pub use units::count_code_units;
pub use units::CodeUnit;
pub use units::CodeUnitKind;
pub use units::extract_code_units;
pub use violation::Violation;
pub use violation::ViolationBuilder;
pub use rust_counts::analyze_rust_file;
pub use rust_counts::analyze_rust_file_include_rollup;
pub use rust_graph::build_include_graph;
pub use rust_graph::expand_rust_files;
pub use rust_graph::IncludeGraph;
pub use rust_fn_metrics::RustFileMetrics;
pub use rust_fn_metrics::RustFunctionMetrics;
pub use rust_fn_metrics::RustTypeMetrics;
pub use rust_fn_metrics::compute_rust_file_metrics;
pub use rust_fn_metrics::compute_rust_function_metrics;
pub use rust_fn_metrics::count_non_doc_attrs;
pub use rust_graph::build_rust_dependency_graph;
pub use rust_parsing::ParsedRustFile;
pub use rust_parsing::RustParseError;
pub use rust_parsing::parse_rust_file;
pub use rust_parsing::parse_rust_files;
pub use rust_test_refs::RustCodeDefinition;
pub use rust_test_refs::RustTestRefAnalysis;
pub use rust_test_refs::analyze_rust_test_refs;
pub use rust_test_refs::is_binary_entry_point;
pub use rust_test_refs::is_rust_test_file;
pub use rust_test_refs::rust_test_functions_in;
pub use rust_units::RustCodeUnit;
pub use rust_units::extract_rust_code_units;
pub use rule_defs::Applicability;
pub use rule_defs::RULES;
pub use rule_defs::Rule;
pub use rule_defs::RuleCategory;
pub use rule_defs::rules_for_python;
pub use rule_defs::rules_for_rust;
pub use shrink::GlobalMetrics;
pub use shrink::ShrinkState;
pub use shrink::ShrinkTarget;
pub use shrink::ShrinkViolation;
pub use shrink::ShrinkViolations;
pub use shrink::check_shrink_constraints;
pub use shrink::parse_target_arg;

Modules§

check_cache
check_universe_cache
cli_output
config
Configuration loading and threshold merging.
config_gen
Config generation and mimic merge helpers.
counts
defaults
discovery
duplication
gate_config
graph
Python dependency graph construction and analysis.
layout_cycles
Cycle detection and breaking suggestions for layout analysis.
layout_layers
layout_output
Markdown output for layout analysis results. Produces Markdown with YAML blocks for structured layout analysis.
minhash
parsing
py_imports
py_metrics
Python AST metrics for kiss.
rule_defs
Human-friendly rule definitions for library consumers.
rust_counts
rust_fn_metrics
rust_graph
rust_include
Rust include! path helpers shared by discovery and the dependency graph.
rust_parsing
rust_test_refs
rust_units
shrink
kiss shrink - constrained minimization of codebase metrics.
stats
Aggregate distributions for kiss stats and mimic-style config generation.
stats_detailed
Per-unit detailed metrics for kiss stats --detailed.
symbol_mv
Semantic rename/move (kiss mv): query parsing, planning, and transactional apply.
test_refs
test_section_config
units
violation