sarj-python-lint 0.67.4__tar.gz → 0.67.5__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-0.67.4 → sarj_python_lint-0.67.5}/PKG-INFO +1 -1
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/pyproject.toml +1 -1
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_timedelta_for_durations.py +7 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/.gitignore +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/LICENSE +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/README.md +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/__init__.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/__main__.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/_filesystem.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/_ratchet_cli.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/_secret_names.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/_version.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/py.typed +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/ratchet.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rule_base.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/__init__.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_ast_index.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_comments.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_docstrings.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_fastapi.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_first_party.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_imports.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_logging.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_paths.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_prose_budget.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_pytest.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_registry.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_sql.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_suppression_comments.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_test_assertions.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/defect_xfail_requires_strict.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/docstring_args_restate_signature.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/docstring_returns_restate_signature.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/duplicate_test_body.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/duplicated_override_docstring.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/fastapi_openapi_contract.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/fixture_returns_bare_tuple.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/invalid_pydantic_field_default.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/kwarg_heavy_construction_in_test.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/mock_without_spec.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_aggregation_in_store_query.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_comment_cruft.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_cors_wildcard_with_credentials.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_duplicate_dunder_all_entry.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_file_level_escape_hatch_noqa.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_file_level_suppression.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_first_party_private_import.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_frozen_after_validator_field_write.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_gen_random_uuid_in_sql.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_generic_single_export_module.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_hidden_constructor_fallback.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_isinstance_union_chain.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_long_comment.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_offset_pagination.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_optional_tenant_predicate.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_query_with_many_joins.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_repeated_string_literal.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_restated_comment.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_secret_in_log.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_select_star.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_sentinel_return_on_except.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_stdlib_logging.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_string_concat_in_loop.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_tautological_expect.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_typed_doc_sections.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/opaque_parametrize_case_needs_id.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/over_mocked_test.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/phase_label_comment.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_class_row.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_constant_time_secret_compare.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_fstring_over_concat.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_immutable_module_constant.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_library_fake.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_match_assert_never.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_match_type_dispatch.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_module_level_constant.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_namedtuple_over_tuple_return.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_nominal_id_types.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_non_nullable_collection.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_or_pattern.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_self_documenting_constant.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_self_type_annotation.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_str_enum.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_struct_over_namedtuple.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_walrus_comprehension_filter.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_walrus_regex_match.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_walrus_stream_loop.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/pydantic_at_boundaries.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/redundant_class_docstring.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/redundant_docstring.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/redundant_module_docstring.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/require_keyword_only_swap_prone_params.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/require_port_for_service.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/restated_test_docstring.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/stepdown.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/store_insert_requires_on_conflict.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/trailing_value_narration.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/trivially_true_assertion.py +0 -0
- {sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/unused_mock_setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sarj-python-lint
|
|
3
|
-
Version: 0.67.
|
|
3
|
+
Version: 0.67.5
|
|
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/
|
|
@@ -46,6 +46,11 @@ _EXCLUDE_RE = re.compile(
|
|
|
46
46
|
re.IGNORECASE,
|
|
47
47
|
)
|
|
48
48
|
|
|
49
|
+
# Standard HTTP status symbols describe integer protocol codes, even when the
|
|
50
|
+
# reason phrase contains a duration-shaped word (for example, 408 Request
|
|
51
|
+
# Timeout). Requiring ``timedelta`` here would change the public wire value.
|
|
52
|
+
_HTTP_STATUS_CONSTANT_RE = re.compile(r"^HTTP_[1-5]\d{2}(?:_|$)", re.IGNORECASE)
|
|
53
|
+
|
|
49
54
|
_NUMERIC_NAMES = frozenset({"int", "float"})
|
|
50
55
|
_BARE_UNIT_NAMES = frozenset(
|
|
51
56
|
{
|
|
@@ -181,6 +186,8 @@ class PreferTimedeltaForDurations(Rule):
|
|
|
181
186
|
) -> None:
|
|
182
187
|
if annotation is None:
|
|
183
188
|
return
|
|
189
|
+
if _HTTP_STATUS_CONSTANT_RE.search(name):
|
|
190
|
+
return
|
|
184
191
|
if name.lower() in _BARE_UNIT_NAMES or name.lower().endswith(("_worked", "_elapsed")):
|
|
185
192
|
return
|
|
186
193
|
if not _UNIT_RE.search(name) or _EXCLUDE_RE.search(name):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_ast_index.py
RENAMED
|
File without changes
|
|
File without changes
|
{sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_docstrings.py
RENAMED
|
File without changes
|
|
File without changes
|
{sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_first_party.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_prose_budget.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/_test_assertions.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
|
{sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/mock_without_spec.py
RENAMED
|
File without changes
|
|
File without changes
|
{sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_long_comment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_secret_in_log.py
RENAMED
|
File without changes
|
{sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_select_star.py
RENAMED
|
File without changes
|
|
File without changes
|
{sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/no_stdlib_logging.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/over_mocked_test.py
RENAMED
|
File without changes
|
|
File without changes
|
{sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/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
|
{sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/prefer_or_pattern.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/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
|
{sarj_python_lint-0.67.4 → sarj_python_lint-0.67.5}/src/sarj_python_lint/rules/unused_mock_setup.py
RENAMED
|
File without changes
|