sarj-python-lint 1.36.0__tar.gz → 1.36.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.36.0 → sarj_python_lint-1.36.1}/PKG-INFO +1 -1
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/pyproject.toml +1 -1
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_project_index.py +20 -17
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/.gitignore +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/LICENSE +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/README.md +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/__init__.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/__main__.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/_analysis_session.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/_file_context.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/_filesystem.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/_python_target.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/_ratchet_cli.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/_secret_names.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/_source.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/_version.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/benchmark.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/interpreter_argv.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/json_boundary.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/py.typed +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/ratchet.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rule_base.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/__init__.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_annotation_semantics.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_ast_index.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_ast_position.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_closed_helpers.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_comments.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_contract_annotation.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_copy_on_write.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_dict_key_views.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_docstrings.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_exports.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_fastapi.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_first_party.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_fixed_record.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_imports.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_inert_model_annotation.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_local_source.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_logging.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_namespace_access.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_nominal_project.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_paths.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_prose_budget.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_pydantic_field_contract.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_pytest.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_registry.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_resolved_operation_signature.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_resource_provenance.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_set_fields.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_sql.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_static_json_alias.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_suppression_comments.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_test_assertions.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_test_composition.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_test_provenance.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/async_cleanup_registered_synchronously.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/async_mock_call_without_await_assertion.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/complex_postgres_query_requires_architecture_review.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/defect_xfail_requires_explicit_strict.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/docstring_args_restate_signature.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/docstring_returns_restate_signature.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/duplicate_adjacent_exception_handler.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/duplicate_closed_pure_helper.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/excessive_commentary.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/fakes_in_shared_location.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/fastapi_class_router_contract.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/fastapi_explicit_openapi_contract.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/iac_source_coupled_test.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/invalid_pydantic_field_default.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/mock_without_spec.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/named_record_at_boundaries.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/negative_only_http_status_assertion.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_analytical_aggregation_in_postgres_store.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_any_mapping_types.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_before_validator_input_mutation.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_broad_keyword_capture.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_comment_cruft.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_conflicting_pydantic_alias_validation.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_conftest_test_module_import.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_copied_inherited_docstring.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_cors_wildcard_with_credentials.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_database_programmability.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_delete_statement.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_dunder_all.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_duplicate_dunder_all_entry.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_excessive_cognitive_complexity.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_fastapi_on_event.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_file_level_escape_hatch_suppression.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_first_party_private_import.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_fixed_sleep_before_assert.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_fixed_sleep_in_loop.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_frozen_after_validator_field_write.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_generic_single_export_module.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_hidden_constructor_fallback.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_impossible_pydantic_field_bounds.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_injected_module_loader.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_input_model_mutation.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_interpreter_source_arguments.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_invalid_argument_name_suppression.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_mocked_pydantic_value_object.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_nested_pydantic_field_validator.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_nullable_dependency_fallback.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_offset_pagination.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_positional_psycopg_row_escape.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_psycopg_execution_outside_injected_owner.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_random_uuid_in_sql.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_raw_connection_in_tests.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_raw_source_text_test_oracle.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_redundant_literal_description.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_redundant_module_alias_exports.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_repeated_string_literal.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_repeated_test_body.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_restated_comment.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_secret_in_log.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_select_star.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_service_behavior_in_settings.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_shallow_container_type_guard.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_string_concat_in_loop.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_swallowed_asyncio_cancellation.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_tautological_expect.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_test_method_grafting.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_typed_doc_sections.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_unique_violation_message_match.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_unknown_pydantic_validator_field.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_unnecessary_docstring.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_unused_copy_result.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_unused_underscored_keyword_parameter.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_unused_value_marker.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_vague_suppression_description.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_whole_request_response_payload_in_log.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/opaque_parametrize_case_needs_id.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/over_mocked_test.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/phase_label_comment.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_autospec_for_callable_mock.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_class_row.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_collection_comprehension.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_constant_time_secret_compare.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_declarative_batch_validation.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_fstring_over_concat.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_immutable_module_constant.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_injected_dependency_over_monkeypatch.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_library_fake.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_match_assert_never.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_match_exception_dispatch.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_match_type_dispatch.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_match_value_dispatch.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_module_level_constant.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_monkeypatch_for_process_state_in_test.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_monotonic_for_elapsed_time.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_namedtuple_over_tuple_return.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_native_string_check.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_nominal_id_types.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_non_nullable_collection.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_or_pattern.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_pydantic_json_value.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_pytest_fixture_injection.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_regex_fullmatch.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_required_constructor_parameters.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_self_documenting_constant.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_self_type_annotation.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_set_isdisjoint.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_str_enum.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_struct_over_namedtuple.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_walrus_awaited_none_guard.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_walrus_comprehension_filter.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_walrus_regex_match.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/prefer_walrus_stream_loop.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/production_derived_test_cases.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/pytest_fixture_returns_bare_tuple.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/redundant_class_docstring.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/redundant_docstring.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/redundant_module_docstring.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/redundant_test_constructor_forwarder.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/repeated_kwarg_heavy_call_in_test.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/repeated_static_call_cases.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/repeated_test_composition.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/repeated_unimplemented_test_contract.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/require_explicit_contract_implementation.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/require_explicit_psycopg_transaction.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/require_explicit_service_contract.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/require_injectable_retry_sleep.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/require_keyword_only_swap_prone_params.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/require_nodecode_for_splitting_settings_field.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/require_port_for_service.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/require_precise_factory_signature.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/require_public_dependency_contract.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/require_pydantic_for_external_json.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/require_pydantic_for_structured_payload.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/require_pydantic_ordinal_lower_bound.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/restated_test_docstring.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/shared_mutable_pydantic_factory.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/stepdown.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/store_get_delegates_to_bulk_read.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/store_insert_requires_on_conflict.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/subprocess_kill_without_reap.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/timestamp_order_requires_tiebreaker.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/trailing_value_narration.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/typed_error_reasons.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/uncontrolled_randomness_in_test.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/unused_mock_setup.py +0 -0
- {sarj_python_lint-1.36.0 → sarj_python_lint-1.36.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.36.
|
|
3
|
+
Version: 1.36.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/
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_project_index.py
RENAMED
|
@@ -566,20 +566,22 @@ class ProjectIndexSet:
|
|
|
566
566
|
if isinstance(owner, ast.ClassDef) and _class_has_typed_dependency(candidate, owner, target)
|
|
567
567
|
)
|
|
568
568
|
|
|
569
|
+
@cached_property
|
|
570
|
+
def _mock_specs(self) -> Mapping[SymbolRef, frozenset[Path]]:
|
|
571
|
+
specs: dict[SymbolRef, set[Path]] = {}
|
|
572
|
+
for candidate in self._units.values():
|
|
573
|
+
if candidate.tree is None:
|
|
574
|
+
continue
|
|
575
|
+
for call in walk_ast(candidate.tree):
|
|
576
|
+
if isinstance(call, ast.Call):
|
|
577
|
+
for target in _mock_spec_targets(candidate, call):
|
|
578
|
+
specs.setdefault(target, set()).add(candidate.path)
|
|
579
|
+
return MappingProxyType({target: frozenset(paths) for target, paths in specs.items()})
|
|
580
|
+
|
|
569
581
|
def test_mock_specs(self, unit: SourceUnit, name: str) -> frozenset[Path]:
|
|
570
582
|
if unit.module is None:
|
|
571
583
|
return frozenset()
|
|
572
|
-
|
|
573
|
-
return frozenset(
|
|
574
|
-
candidate.path
|
|
575
|
-
for candidate in self._units.values()
|
|
576
|
-
if candidate.tree is not None
|
|
577
|
-
and any(
|
|
578
|
-
_is_mock_spec_for(candidate, call, target)
|
|
579
|
-
for call in walk_ast(candidate.tree)
|
|
580
|
-
if isinstance(call, ast.Call)
|
|
581
|
-
)
|
|
582
|
-
)
|
|
584
|
+
return self._mock_specs.get(SymbolRef(unit.module, name), frozenset())
|
|
583
585
|
|
|
584
586
|
def class_inherits_from(self, unit: SourceUnit, name: str, qualified_bases: frozenset[str]) -> bool:
|
|
585
587
|
if unit.module is None:
|
|
@@ -1350,14 +1352,15 @@ def _class_has_typed_dependency(unit: SourceUnit, owner: ast.ClassDef, target: S
|
|
|
1350
1352
|
return False
|
|
1351
1353
|
|
|
1352
1354
|
|
|
1353
|
-
def
|
|
1355
|
+
def _mock_spec_targets(unit: SourceUnit, call: ast.Call) -> Iterator[SymbolRef]:
|
|
1354
1356
|
mock_name = _mock_function_name(unit, call.func)
|
|
1355
1357
|
if mock_name is None:
|
|
1356
|
-
return
|
|
1357
|
-
|
|
1358
|
-
keyword.arg in {"spec", "spec_set"} and _direct_base_symbol(unit, keyword.value)
|
|
1359
|
-
|
|
1360
|
-
|
|
1358
|
+
return
|
|
1359
|
+
for keyword in call.keywords:
|
|
1360
|
+
if keyword.arg in {"spec", "spec_set"} and (target := _direct_base_symbol(unit, keyword.value)) is not None:
|
|
1361
|
+
yield target
|
|
1362
|
+
if mock_name == "create_autospec" and call.args and (target := _direct_base_symbol(unit, call.args[0])) is not None:
|
|
1363
|
+
yield target
|
|
1361
1364
|
|
|
1362
1365
|
|
|
1363
1366
|
def _mock_function_name(unit: SourceUnit, function: ast.expr) -> str | None:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.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.36.0 → sarj_python_lint-1.36.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.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_ast_index.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_ast_position.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_closed_helpers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_copy_on_write.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_dict_key_views.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_docstrings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_first_party.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_fixed_record.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_local_source.py
RENAMED
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_namespace_access.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_nominal_project.py
RENAMED
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.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.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_set_fields.py
RENAMED
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_static_json_alias.py
RENAMED
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_test_assertions.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/_test_composition.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.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
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.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
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.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
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.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
|
|
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.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/no_secret_in_log.py
RENAMED
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.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.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/over_mocked_test.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.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
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.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.36.0 → sarj_python_lint-1.36.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
|
{sarj_python_lint-1.36.0 → sarj_python_lint-1.36.1}/src/sarj_python_lint/rules/unused_mock_setup.py
RENAMED
|
File without changes
|
|
File without changes
|