thailint 0.15.6__tar.gz → 0.15.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {thailint-0.15.6 → thailint-0.15.8}/CHANGELOG.md +7 -0
- {thailint-0.15.6 → thailint-0.15.8}/PKG-INFO +5 -3
- {thailint-0.15.6 → thailint-0.15.8}/README.md +4 -2
- {thailint-0.15.6 → thailint-0.15.8}/pyproject.toml +1 -1
- {thailint-0.15.6 → thailint-0.15.8}/LICENSE +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/analyzers/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/analyzers/ast_utils.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/analyzers/rust_base.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/analyzers/rust_context.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/analyzers/typescript_base.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/api.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/cli/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/cli/__main__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/cli/config.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/cli/config_merge.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/cli/linters/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/cli/linters/code_patterns.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/cli/linters/code_smells.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/cli/linters/documentation.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/cli/linters/performance.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/cli/linters/shared.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/cli/linters/structure.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/cli/linters/structure_quality.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/cli/main.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/cli/utils.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/cli_main.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/config.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/core/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/core/base.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/core/cli_utils.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/core/config_parser.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/core/constants.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/core/linter_utils.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/core/python_lint_rule.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/core/registry.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/core/rule_discovery.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/core/types.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/core/violation_builder.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/core/violation_utils.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/formatters/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/formatters/sarif.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linter_config/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linter_config/directive_markers.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linter_config/ignore.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linter_config/loader.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linter_config/pattern_utils.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linter_config/rule_matcher.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/collection_pipeline/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/collection_pipeline/any_all_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/collection_pipeline/ast_utils.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/collection_pipeline/config.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/collection_pipeline/continue_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/collection_pipeline/detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/collection_pipeline/filter_map_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/collection_pipeline/linter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/collection_pipeline/suggestion_builder.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/cqs/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/cqs/config.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/cqs/function_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/cqs/input_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/cqs/linter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/cqs/output_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/cqs/python_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/cqs/types.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/cqs/typescript_cqs_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/cqs/typescript_function_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/cqs/typescript_input_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/cqs/typescript_output_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/cqs/violation_builder.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/base_token_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/block_filter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/block_grouper.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/cache.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/cache_query.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/config.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/config_loader.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/constant.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/constant_matcher.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/constant_violation_builder.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/deduplicator.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/duplicate_storage.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/file_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/inline_ignore.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/linter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/python_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/python_constant_extractor.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/single_statement_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/storage_initializer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/token_hasher.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/typescript_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/typescript_constant_extractor.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/typescript_statement_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/typescript_value_extractor.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/violation_builder.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/violation_filter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/dry/violation_generator.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_header/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_header/atemporal_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_header/base_parser.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_header/bash_parser.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_header/config.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_header/css_parser.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_header/field_validator.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_header/linter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_header/markdown_parser.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_header/python_parser.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_header/typescript_parser.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_header/violation_builder.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_placement/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_placement/config_loader.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_placement/directory_matcher.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_placement/linter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_placement/path_resolver.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_placement/pattern_matcher.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_placement/pattern_validator.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_placement/rule_checker.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/file_placement/violation_factory.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lazy_ignores/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lazy_ignores/config.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lazy_ignores/directive_utils.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lazy_ignores/header_parser.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lazy_ignores/linter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lazy_ignores/matcher.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lazy_ignores/python_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lazy_ignores/rule_id_utils.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lazy_ignores/skip_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lazy_ignores/types.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lazy_ignores/typescript_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lazy_ignores/violation_builder.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/config.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/linter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/pattern_detectors/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/pattern_detectors/base.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/pattern_detectors/dict_key_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/pattern_detectors/division_check_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/pattern_detectors/file_exists_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/pattern_detectors/hasattr_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/pattern_detectors/isinstance_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/pattern_detectors/len_check_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/pattern_detectors/none_check_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/pattern_detectors/string_validator_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/python_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/violation_builder.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/magic_numbers/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/magic_numbers/config.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/magic_numbers/context_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/magic_numbers/definition_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/magic_numbers/linter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/magic_numbers/python_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/magic_numbers/typescript_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/magic_numbers/typescript_ignore_checker.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/magic_numbers/violation_builder.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/method_property/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/method_property/config.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/method_property/linter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/method_property/python_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/method_property/violation_builder.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/nesting/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/nesting/config.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/nesting/linter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/nesting/python_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/nesting/typescript_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/nesting/typescript_function_extractor.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/nesting/violation_builder.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/performance/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/performance/config.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/performance/constants.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/performance/linter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/performance/python_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/performance/regex_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/performance/regex_linter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/performance/typescript_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/performance/violation_builder.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/print_statements/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/print_statements/config.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/print_statements/linter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/print_statements/python_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/print_statements/typescript_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/print_statements/violation_builder.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/srp/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/srp/class_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/srp/config.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/srp/heuristics.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/srp/linter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/srp/metrics_evaluator.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/srp/python_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/srp/typescript_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/srp/typescript_metrics_calculator.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/srp/violation_builder.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stateless_class/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stateless_class/config.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stateless_class/linter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stateless_class/python_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/config.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/context_filter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/function_call_violation_builder.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/ignore_checker.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/ignore_utils.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/linter.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/python/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/python/analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/python/call_tracker.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/python/comparison_tracker.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/python/condition_extractor.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/python/conditional_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/python/constants.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/python/match_analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/python/validation_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/python/variable_extractor.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/storage.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/storage_initializer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/typescript/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/typescript/analyzer.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/typescript/call_tracker.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/typescript/comparison_tracker.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/violation_generator.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/orchestrator/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/orchestrator/core.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/orchestrator/language_detector.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/templates/thailint_config_template.yaml +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/utils/__init__.py +0 -0
- {thailint-0.15.6 → thailint-0.15.8}/src/utils/project_root.py +0 -0
|
@@ -28,6 +28,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
28
28
|
|
|
29
29
|
- **Stateless Class Linter** - Detect Python classes without state that should be module-level functions
|
|
30
30
|
|
|
31
|
+
### Documentation
|
|
32
|
+
|
|
33
|
+
- **Parallel Processing** - Added `--parallel` flag documentation to CLI reference and README
|
|
34
|
+
- Documents multi-core processing with ProcessPoolExecutor (up to 8 workers)
|
|
35
|
+
- Explains automatic fallback to sequential for small file counts
|
|
36
|
+
- Provides usage guidance and performance expectations
|
|
37
|
+
|
|
31
38
|
## [0.15.4] - 2026-01-26
|
|
32
39
|
|
|
33
40
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: thailint
|
|
3
|
-
Version: 0.15.
|
|
3
|
+
Version: 0.15.8
|
|
4
4
|
Summary: The AI Linter - Enterprise-grade linting and governance for AI-generated code across multiple languages
|
|
5
5
|
License: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -152,10 +152,12 @@ See [How to Ignore Violations](https://thai-lint.readthedocs.io/en/latest/how-to
|
|
|
152
152
|
- name: Run thailint
|
|
153
153
|
run: |
|
|
154
154
|
pip install thai-lint
|
|
155
|
-
thailint dry src/
|
|
156
|
-
thailint nesting src/
|
|
155
|
+
thailint --parallel dry src/
|
|
156
|
+
thailint --parallel nesting src/
|
|
157
157
|
```
|
|
158
158
|
|
|
159
|
+
Use `--parallel` for faster linting on large codebases (2-4x speedup on multi-core systems).
|
|
160
|
+
|
|
159
161
|
Exit codes: `0` = success, `1` = violations found, `2` = error.
|
|
160
162
|
|
|
161
163
|
## Documentation
|
|
@@ -116,10 +116,12 @@ See [How to Ignore Violations](https://thai-lint.readthedocs.io/en/latest/how-to
|
|
|
116
116
|
- name: Run thailint
|
|
117
117
|
run: |
|
|
118
118
|
pip install thai-lint
|
|
119
|
-
thailint dry src/
|
|
120
|
-
thailint nesting src/
|
|
119
|
+
thailint --parallel dry src/
|
|
120
|
+
thailint --parallel nesting src/
|
|
121
121
|
```
|
|
122
122
|
|
|
123
|
+
Use `--parallel` for faster linting on large codebases (2-4x speedup on multi-core systems).
|
|
124
|
+
|
|
123
125
|
Exit codes: `0` = success, `1` = violations found, `2` = error.
|
|
124
126
|
|
|
125
127
|
## Documentation
|
|
@@ -17,7 +17,7 @@ build-backend = "poetry.core.masonry.api"
|
|
|
17
17
|
|
|
18
18
|
[tool.poetry]
|
|
19
19
|
name = "thailint"
|
|
20
|
-
version = "0.15.
|
|
20
|
+
version = "0.15.8"
|
|
21
21
|
description = "The AI Linter - Enterprise-grade linting and governance for AI-generated code across multiple languages"
|
|
22
22
|
authors = ["Steve Jackson"]
|
|
23
23
|
license = "MIT"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/pattern_detectors/division_check_detector.py
RENAMED
|
File without changes
|
{thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/pattern_detectors/file_exists_detector.py
RENAMED
|
File without changes
|
|
File without changes
|
{thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/pattern_detectors/isinstance_detector.py
RENAMED
|
File without changes
|
{thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/pattern_detectors/len_check_detector.py
RENAMED
|
File without changes
|
{thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/pattern_detectors/none_check_detector.py
RENAMED
|
File without changes
|
{thailint-0.15.6 → thailint-0.15.8}/src/linters/lbyl/pattern_detectors/string_validator_detector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/function_call_violation_builder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/python/condition_extractor.py
RENAMED
|
File without changes
|
{thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/python/conditional_detector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/python/validation_detector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{thailint-0.15.6 → thailint-0.15.8}/src/linters/stringly_typed/typescript/comparison_tracker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|