sarj-python-lint 1.45.0__tar.gz → 1.45.1__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.
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/PKG-INFO +1 -1
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/pyproject.toml +1 -1
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_tautological_expect.py +52 -17
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/.gitignore +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/LICENSE +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/README.md +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/__init__.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/__main__.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/_analysis_session.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/_file_context.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/_filesystem.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/_python_target.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/_ratchet_cli.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/_secret_names.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/_source.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/_version.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/benchmark.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/interpreter_argv.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/json_boundary.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/py.typed +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/ratchet.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rule_base.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/__init__.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_annotation_semantics.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_ast_index.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_ast_position.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_closed_helpers.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_comments.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_contract_annotation.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_copy_on_write.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_dict_key_views.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_docstrings.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_exports.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_fastapi.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_first_party.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_fixed_record.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_imports.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_inert_model_annotation.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_inherited_contract.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_local_source.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_logging.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_namespace_access.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_nominal_project.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_paths.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_project_index.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_prose_budget.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_pydantic_field_contract.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_pytest.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_registry.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_resolved_operation_signature.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_resource_provenance.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_set_fields.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_sql.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_static_json_alias.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_suppression_comments.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_test_assertions.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_test_composition.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_test_provenance.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_type_guard_symbols.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/async_cleanup_registered_synchronously.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/async_mock_call_without_await_assertion.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/complex_postgres_query_requires_architecture_review.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/defect_xfail_requires_explicit_strict.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/docstring_args_restate_signature.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/docstring_returns_restate_signature.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/duplicate_adjacent_exception_handler.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/duplicate_closed_pure_helper.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/excessive_commentary.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/fakes_in_shared_location.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/fastapi_class_router_contract.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/fastapi_explicit_openapi_contract.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/iac_source_coupled_test.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/invalid_pydantic_field_default.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/mock_without_spec.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/named_record_at_boundaries.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/negative_only_http_status_assertion.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_analytical_aggregation_in_postgres_store.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_any_mapping_types.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_async_function_cache.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_before_validator_input_mutation.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_broad_keyword_capture.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_comment_cruft.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_conflicting_pydantic_alias_validation.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_conftest_test_module_import.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_contradictory_type_guard.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_copied_inherited_docstring.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_cors_wildcard_with_credentials.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_database_programmability.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_delete_statement.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_dunder_all.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_duplicate_dunder_all_entry.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_excessive_cognitive_complexity.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_fastapi_on_event.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_file_level_escape_hatch_suppression.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_first_party_private_import.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_fixed_sleep_before_assert.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_fixed_sleep_in_loop.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_frozen_after_validator_field_write.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_generic_single_export_module.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_hidden_constructor_fallback.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_impossible_pydantic_field_bounds.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_injected_module_loader.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_input_model_mutation.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_interpreter_source_arguments.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_invalid_argument_name_suppression.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_invalid_pydantic_bypass.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_loguru_exc_info.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_loguru_printf_format.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_mocked_pydantic_value_object.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_nested_pydantic_field_validator.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_nullable_dependency_fallback.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_offset_pagination.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_partial_type_is.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_positional_psycopg_row_escape.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_psycopg_execution_outside_injected_owner.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_random_uuid_in_sql.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_raw_connection_in_tests.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_raw_source_text_test_oracle.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_redundant_literal_description.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_redundant_module_alias_exports.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_repeated_string_literal.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_repeated_test_body.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_restated_comment.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_secret_in_log.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_select_star.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_service_behavior_in_settings.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_shallow_container_type_guard.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_shallow_record_type_guard.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_string_concat_in_loop.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_swallowed_asyncio_cancellation.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_test_method_grafting.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_typed_doc_sections.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_unique_violation_message_match.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_unknown_pydantic_validator_field.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_unnecessary_docstring.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_unused_copy_result.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_unused_underscored_keyword_parameter.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_unused_value_marker.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_vague_suppression_description.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_whole_request_response_payload_in_log.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/opaque_parametrize_case_needs_id.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/over_mocked_test.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/phase_label_comment.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_autospec_for_callable_mock.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_class_row.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_collection_comprehension.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_constant_time_secret_compare.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_declarative_batch_validation.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_discriminated_model_union.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_fstring_over_concat.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_immutable_module_constant.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_injected_dependency_over_monkeypatch.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_library_fake.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_match_assert_never.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_match_exception_dispatch.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_match_type_dispatch.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_match_value_dispatch.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_module_level_constant.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_monkeypatch_for_process_state_in_test.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_monotonic_for_elapsed_time.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_namedtuple_over_tuple_return.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_native_string_check.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_nominal_id_types.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_non_nullable_collection.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_or_pattern.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_pydantic_json_value.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_pytest_fixture_injection.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_regex_fullmatch.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_required_constructor_parameters.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_self_documenting_constant.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_self_type_annotation.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_set_isdisjoint.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_str_enum.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_struct_over_namedtuple.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_walrus_awaited_none_guard.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_walrus_comprehension_filter.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_walrus_regex_match.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_walrus_stream_loop.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/production_derived_test_cases.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/pytest_fixture_returns_bare_tuple.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/redundant_class_docstring.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/redundant_docstring.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/redundant_module_docstring.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/redundant_test_constructor_forwarder.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/repeated_kwarg_heavy_call_in_test.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/repeated_static_call_cases.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/repeated_test_composition.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/repeated_unimplemented_test_contract.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/require_explicit_contract_implementation.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/require_explicit_psycopg_transaction.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/require_explicit_service_contract.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/require_injectable_retry_sleep.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/require_keyword_only_swap_prone_params.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/require_nodecode_for_splitting_settings_field.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/require_port_for_service.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/require_precise_factory_signature.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/require_public_dependency_contract.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/require_pydantic_for_external_json.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/require_pydantic_for_structured_payload.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/require_pydantic_ordinal_lower_bound.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/restated_test_docstring.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/shared_mutable_pydantic_factory.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/stepdown.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/store_get_delegates_to_bulk_read.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/store_insert_requires_on_conflict.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/subprocess_kill_without_reap.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/test_without_explicit_oracle.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/timestamp_order_requires_tiebreaker.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/trailing_value_narration.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/typed_error_reasons.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/uncontrolled_randomness_in_test.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/unused_mock_setup.py +0 -0
- {sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/unused_test_factory_option.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: sarj-python-lint
|
|
3
|
-
Version: 1.45.
|
|
3
|
+
Version: 1.45.1
|
|
4
4
|
Summary: Custom Python lint rules — AST-based, pre-commit-friendly, hypermodern defaults
|
|
5
5
|
Project-URL: Homepage, https://code-standards.sarj.ai/rules/python/
|
|
6
6
|
Project-URL: Documentation, https://code-standards.sarj.ai/rules/python/
|
|
@@ -56,6 +56,7 @@ class NoTautologicalExpect(Rule):
|
|
|
56
56
|
"Detection covers truthy scalar constants, definitely non-empty list/set/dict displays, and directly asserted generator expressions or lambdas.",
|
|
57
57
|
"Generator consumption, lambda invocation, comprehensions, and runtime iterator/callable values are not inferred; empty universal-quantification contracts remain valid.",
|
|
58
58
|
"Test-local immutable scalar bindings and their aliases are tracked only through straight-line assignments; calls, control flow, mutable values, and global/nonlocal writes invalidate tracking.",
|
|
59
|
+
"Pure Boolean conditions, compatible numeric/string/bytes ordering and chained comparisons over known scalar setup are evaluated; proven-true pure assertions retain bindings because their messages do not execute.",
|
|
59
60
|
"Ruff owns asserted strings and tuples, literal comparisons and identity, and unittest-style assertion methods.",
|
|
60
61
|
"Generated files, always-failing assertions, deliberate match-arm success markers, and runtime-value comparisons are excluded.",
|
|
61
62
|
),
|
|
@@ -196,12 +197,13 @@ def _function_bound_tautologies(function: ast.FunctionDef | ast.AsyncFunctionDef
|
|
|
196
197
|
for statement in function.body:
|
|
197
198
|
if _record_scalar_assignment(statement, bindings):
|
|
198
199
|
continue
|
|
199
|
-
if isinstance(statement, ast.Assert):
|
|
200
|
+
if isinstance(statement, ast.Assert) and bindings and _scalar_condition(statement.test, bindings) is True:
|
|
200
201
|
references_setup = any(
|
|
201
202
|
isinstance(node, ast.Name) and node.id in bindings for node in ast.walk(statement.test)
|
|
202
203
|
)
|
|
203
|
-
if references_setup
|
|
204
|
+
if references_setup:
|
|
204
205
|
found.append(_Tautology(statement, "the condition follows only from unchanged scalar setup"))
|
|
206
|
+
continue
|
|
205
207
|
bindings.clear()
|
|
206
208
|
return found
|
|
207
209
|
|
|
@@ -239,26 +241,59 @@ def _scalar_value(node: ast.expr, bindings: dict[str, object]) -> object:
|
|
|
239
241
|
|
|
240
242
|
|
|
241
243
|
def _scalar_condition(node: ast.expr, bindings: dict[str, object]) -> bool | None:
|
|
242
|
-
if isinstance(node, ast.
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
if left is _UNKNOWN or right is _UNKNOWN:
|
|
244
|
+
if isinstance(node, ast.BoolOp):
|
|
245
|
+
values = [_scalar_condition(value, bindings) for value in node.values]
|
|
246
|
+
if None in values:
|
|
246
247
|
return None
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
return left is not right
|
|
256
|
-
case _:
|
|
257
|
-
return None
|
|
248
|
+
return all(values) if isinstance(node.op, ast.And) else any(values)
|
|
249
|
+
if isinstance(node, ast.UnaryOp) and isinstance(node.op, ast.Not):
|
|
250
|
+
value = _scalar_condition(node.operand, bindings)
|
|
251
|
+
return None if value is None else not value
|
|
252
|
+
if isinstance(node, ast.Compare):
|
|
253
|
+
values = [_scalar_value(value, bindings) for value in (node.left, *node.comparators)]
|
|
254
|
+
results = list(map(_scalar_relation, values[:-1], values[1:], node.ops, strict=True))
|
|
255
|
+
return None if None in results else all(results)
|
|
258
256
|
value = _scalar_value(node, bindings)
|
|
259
257
|
return None if value is _UNKNOWN else bool(value)
|
|
260
258
|
|
|
261
259
|
|
|
260
|
+
def _scalar_relation(left: object, right: object, op: ast.cmpop) -> bool | None:
|
|
261
|
+
if left is _UNKNOWN or right is _UNKNOWN:
|
|
262
|
+
return None
|
|
263
|
+
match op:
|
|
264
|
+
case ast.Eq():
|
|
265
|
+
return left == right
|
|
266
|
+
case ast.NotEq():
|
|
267
|
+
return left != right
|
|
268
|
+
case ast.Is() if left is None or right is None or isinstance(left, bool) or isinstance(right, bool):
|
|
269
|
+
return left is right
|
|
270
|
+
case ast.IsNot() if left is None or right is None or isinstance(left, bool) or isinstance(right, bool):
|
|
271
|
+
return left is not right
|
|
272
|
+
case _:
|
|
273
|
+
pass
|
|
274
|
+
if isinstance(left, (int, float)) and isinstance(right, (int, float)):
|
|
275
|
+
return _ordered_relation(left, right, op)
|
|
276
|
+
if isinstance(left, str) and isinstance(right, str):
|
|
277
|
+
return _ordered_relation(left, right, op)
|
|
278
|
+
if isinstance(left, bytes) and isinstance(right, bytes):
|
|
279
|
+
return _ordered_relation(left, right, op)
|
|
280
|
+
return None
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
def _ordered_relation[T: (int | float, str, bytes)](left: T, right: T, op: ast.cmpop) -> bool | None:
|
|
284
|
+
match op:
|
|
285
|
+
case ast.Lt():
|
|
286
|
+
return left < right
|
|
287
|
+
case ast.LtE():
|
|
288
|
+
return left <= right
|
|
289
|
+
case ast.Gt():
|
|
290
|
+
return left > right
|
|
291
|
+
case ast.GtE():
|
|
292
|
+
return left >= right
|
|
293
|
+
case _:
|
|
294
|
+
return None
|
|
295
|
+
|
|
296
|
+
|
|
262
297
|
def _exempt_nodes(tree: ast.Module, *, node_index: NodeIndex | None = None) -> set[ast.AST]:
|
|
263
298
|
exempt: set[ast.AST] = set()
|
|
264
299
|
for node in walk_ast(tree, index=node_index):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/_analysis_session.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
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/interpreter_argv.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_ast_index.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_ast_position.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_closed_helpers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_copy_on_write.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_dict_key_views.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_docstrings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_first_party.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_fixed_record.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_local_source.py
RENAMED
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_namespace_access.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_nominal_project.py
RENAMED
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_project_index.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_prose_budget.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_set_fields.py
RENAMED
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_static_json_alias.py
RENAMED
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_test_assertions.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_test_composition.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/_test_provenance.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
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/mock_without_spec.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
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_comment_cruft.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
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_dunder_all.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
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_loguru_exc_info.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_partial_type_is.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
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_secret_in_log.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/no_select_star.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
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/over_mocked_test.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_class_row.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
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_or_pattern.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
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/prefer_str_enum.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
|
{sarj_python_lint-1.45.0 → sarj_python_lint-1.45.1}/src/sarj_python_lint/rules/unused_mock_setup.py
RENAMED
|
File without changes
|
|
File without changes
|