Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update supported Python versions: remove 3.8 (EOL), add 3.13, do necessary maintenance #25

Merged
merged 4 commits into from
Feb 16, 2025

Conversation

mbdevpl
Copy link
Owner

@mbdevpl mbdevpl commented Feb 16, 2025

No description provided.

@mbdevpl mbdevpl self-assigned this Feb 16, 2025
@jenkins-mbdev
Copy link

jenkins-mbdev bot commented Feb 16, 2025

Tools report for GitHub-mbdevpl/version-query/PR-25 [build #1]:

  • Pylint: warnings ⚠️ (click for details)
    ************* Module version_query.git_query
    version_query/git_query.py:76:0: R1260: '_latest_git_version_tag' is too complex. The McCabe rating is 12 (too-complex)
    ************* Module version_query.version
    version_query/version.py:244:4: R1260: '_get_pre_release_from_args' is too complex. The McCabe rating is 11 (too-complex)
    version_query/version.py:22:4: C0103: Class constant name "Major" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:23:4: C0103: Class constant name "Minor" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:24:4: C0103: Class constant name "Patch" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:25:4: C0103: Class constant name "Release" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:26:4: C0103: Class constant name "PrePatch" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:27:4: C0103: Class constant name "DevPatch" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:28:4: C0103: Class constant name "Local" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:32:11: R1729: Use a generator instead 'all(_ is not None if flag else _ is None for (_, flag) in zip(version_tuple, flags))' (use-a-generator)
    version_query/version.py:35:0: R0902: Too many instance attributes (8/7) (too-many-instance-attributes)
    version_query/version.py:77:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    version_query/version.py:108:15: R1728: Consider using a generator instead 'tuple(_ for _ in match.groups() if _ is not None)' (consider-using-generator)
    version_query/version.py:111:22: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    version_query/version.py:113:16: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    version_query/version.py:150:14: W0212: Access to a protected member _version of a client class (protected-access)
    version_query/version.py:203:4: R0913: Too many arguments (6/5) (too-many-arguments)
    version_query/version.py:203:4: W1113: Keyword argument before variable positional arguments list in the definition of __init__ function (keyword-arg-before-vararg)
    version_query/version.py:504:19: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    version_query/version.py:508:19: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    version_query/version.py:510:19: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    ************* Module test.test_version
    test/test_version.py:134:12: R0204: Redefinition of version.release type from int to tuple (redefined-variable-type)
    
    -----------------------------------
    Your code has been rated at 9.82/10
    
  • Mypy: problems ⚠️ (click for details)
    version_query/version.py:135: error: Argument "pre_release" to "Version" has incompatible type "Sequence[tuple[str | None, str | None, int | None]] | None"; expected "Sequence[tuple[str | None, str | None, int | None]]"  [arg-type]
    version_query/version.py:135: error: Argument "local" to "Version" has incompatible type "tuple[Any, ...] | None"; expected "str | tuple[Any, ...]"  [arg-type]
    version_query/version.py:169: error: Incompatible types in assignment (expression has type "tuple[str, int]", variable has type "tuple[None, int] | None")  [assignment]
    version_query/version.py:171: error: Incompatible types in assignment (expression has type "tuple[str, int]", variable has type "tuple[None, int] | None")  [assignment]
    version_query/version.py:179: error: Argument 1 to "Version" has incompatible type "int | None"; expected "int"  [arg-type]
    version_query/version.py:179: error: Argument "pre_release" to "Version" has incompatible type "Sequence[tuple[str | None, str | None, int | None]] | None"; expected "Sequence[tuple[str | None, str | None, int | None]]"  [arg-type]
    version_query/version.py:179: error: Argument "local" to "Version" has incompatible type "tuple[str, ...] | None"; expected "str | tuple[Any, ...]"  [arg-type]
    version_query/version.py:196: error: Incompatible types in assignment (expression has type "tuple[Any, ...]", variable has type "str | None")  [assignment]
    version_query/version.py:197: error: Argument "pre_release" to "Version" has incompatible type "None"; expected "Sequence[tuple[str | None, str | None, int | None]]"  [arg-type]
    version_query/version.py:197: error: Argument "local" to "Version" has incompatible type "str | None"; expected "str | tuple[Any, ...]"  [arg-type]
    version_query/version.py:206: error: Incompatible default for argument "pre_release" (default has type "None", argument has type "Sequence[tuple[str | None, str | None, int | None]]")  [assignment]
    version_query/version.py:206: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True
    version_query/version.py:206: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase
    version_query/version.py:207: error: Incompatible default for argument "local" (default has type "None", argument has type "str | tuple[Any, ...]")  [assignment]
    version_query/version.py:207: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True
    version_query/version.py:207: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase
    version_query/version.py:273: error: Argument 1 to "append" of "list" has incompatible type "tuple[int | str, ...]"; expected "tuple[str | None, str | None, int | None]"  [arg-type]
    version_query/version.py:552: error: Incompatible return value type (got "tuple[Any, ...] | Sequence[str]", expected "tuple[Any, ...]")  [return-value]
    test/test_version.py:27: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
    test/test_version.py:35: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
    test/test_version.py:79: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
    Found 14 errors in 1 file (checked 15 source files)
    
  • Flake518: ran 🆗

  • Pydocstyle: ran 🆗

  • Coverage: 98% 🆗 (click for details)
    Name                         Stmts   Miss Branch BrPart  Cover   Missing
    ------------------------------------------------------------------------
    setup.py                        11      0      2      0   100%
    test/__init__.py                 5      0      0      0   100%
    test/examples.py                49      1      4      1    96%   24
    test/test_git.py               195      0     18      0   100%
    test/test_packaging.py           3      0      0      0   100%
    test/test_query.py             161      3     10      1    98%   67, 103-104
    test/test_version.py           153      0     32      0   100%
    version_query/__init__.py        5      0      0      0   100%
    version_query/__main__.py        9      0      2      0   100%
    version_query/_version.py        2      0      0      0   100%
    version_query/git_query.py     114      1     46      1    99%   64
    version_query/main.py           21      0      6      0   100%
    version_query/py_query.py       31      5     12      1    86%   14-17, 41
    version_query/query.py          50      0      2      0   100%
    version_query/version.py       442      8    208      7    98%   139, 149, 160, 165, 167, 194, 498, 511
    ------------------------------------------------------------------------
    TOTAL                         1251     18    342     11    98%
    

Copy link

codecov bot commented Feb 16, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 97.68%. Comparing base (2251170) to head (35362a4).
Report is 5 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #25      +/-   ##
==========================================
- Coverage   98.64%   97.68%   -0.96%     
==========================================
  Files          15       15              
  Lines        1251     1251              
  Branches      277      171     -106     
==========================================
- Hits         1234     1222      -12     
- Misses          9       18       +9     
- Partials        8       11       +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@jenkins-mbdev
Copy link

jenkins-mbdev bot commented Feb 16, 2025

Tools report for GitHub-mbdevpl/version-query/PR-25 [build #2]:

  • Pylint: warnings ⚠️ (click for details)
    ************* Module version_query.git_query
    version_query/git_query.py:76:0: R1260: '_latest_git_version_tag' is too complex. The McCabe rating is 12 (too-complex)
    ************* Module version_query.version
    version_query/version.py:244:4: R1260: '_get_pre_release_from_args' is too complex. The McCabe rating is 11 (too-complex)
    version_query/version.py:22:4: C0103: Class constant name "Major" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:23:4: C0103: Class constant name "Minor" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:24:4: C0103: Class constant name "Patch" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:25:4: C0103: Class constant name "Release" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:26:4: C0103: Class constant name "PrePatch" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:27:4: C0103: Class constant name "DevPatch" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:28:4: C0103: Class constant name "Local" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:32:11: R1729: Use a generator instead 'all(_ is not None if flag else _ is None for (_, flag) in zip(version_tuple, flags))' (use-a-generator)
    version_query/version.py:35:0: R0902: Too many instance attributes (8/7) (too-many-instance-attributes)
    version_query/version.py:77:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    version_query/version.py:108:15: R1728: Consider using a generator instead 'tuple(_ for _ in match.groups() if _ is not None)' (consider-using-generator)
    version_query/version.py:111:22: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    version_query/version.py:113:16: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    version_query/version.py:150:14: W0212: Access to a protected member _version of a client class (protected-access)
    version_query/version.py:203:4: R0913: Too many arguments (6/5) (too-many-arguments)
    version_query/version.py:203:4: W1113: Keyword argument before variable positional arguments list in the definition of __init__ function (keyword-arg-before-vararg)
    version_query/version.py:504:19: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    version_query/version.py:508:19: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    version_query/version.py:510:19: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    ************* Module test.test_version
    test/test_version.py:134:12: R0204: Redefinition of version.release type from int to tuple (redefined-variable-type)
    
    -----------------------------------
    Your code has been rated at 9.82/10
    
  • Mypy: problems ⚠️ (click for details)
    version_query/version.py:135: error: Argument "pre_release" to "Version" has incompatible type "Sequence[tuple[str | None, str | None, int | None]] | None"; expected "Sequence[tuple[str | None, str | None, int | None]]"  [arg-type]
    version_query/version.py:135: error: Argument "local" to "Version" has incompatible type "tuple[Any, ...] | None"; expected "str | tuple[Any, ...]"  [arg-type]
    version_query/version.py:169: error: Incompatible types in assignment (expression has type "tuple[str, int]", variable has type "tuple[None, int] | None")  [assignment]
    version_query/version.py:171: error: Incompatible types in assignment (expression has type "tuple[str, int]", variable has type "tuple[None, int] | None")  [assignment]
    version_query/version.py:179: error: Argument 1 to "Version" has incompatible type "int | None"; expected "int"  [arg-type]
    version_query/version.py:179: error: Argument "pre_release" to "Version" has incompatible type "Sequence[tuple[str | None, str | None, int | None]] | None"; expected "Sequence[tuple[str | None, str | None, int | None]]"  [arg-type]
    version_query/version.py:179: error: Argument "local" to "Version" has incompatible type "tuple[str, ...] | None"; expected "str | tuple[Any, ...]"  [arg-type]
    version_query/version.py:196: error: Incompatible types in assignment (expression has type "tuple[Any, ...]", variable has type "str | None")  [assignment]
    version_query/version.py:197: error: Argument "pre_release" to "Version" has incompatible type "None"; expected "Sequence[tuple[str | None, str | None, int | None]]"  [arg-type]
    version_query/version.py:197: error: Argument "local" to "Version" has incompatible type "str | None"; expected "str | tuple[Any, ...]"  [arg-type]
    version_query/version.py:206: error: Incompatible default for argument "pre_release" (default has type "None", argument has type "Sequence[tuple[str | None, str | None, int | None]]")  [assignment]
    version_query/version.py:206: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True
    version_query/version.py:206: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase
    version_query/version.py:207: error: Incompatible default for argument "local" (default has type "None", argument has type "str | tuple[Any, ...]")  [assignment]
    version_query/version.py:207: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True
    version_query/version.py:207: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase
    version_query/version.py:273: error: Argument 1 to "append" of "list" has incompatible type "tuple[int | str, ...]"; expected "tuple[str | None, str | None, int | None]"  [arg-type]
    version_query/version.py:552: error: Incompatible return value type (got "tuple[Any, ...] | Sequence[str]", expected "tuple[Any, ...]")  [return-value]
    test/test_version.py:27: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
    test/test_version.py:35: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
    test/test_version.py:79: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
    Found 14 errors in 1 file (checked 15 source files)
    
  • Flake518: ran 🆗

  • Pydocstyle: ran 🆗

  • Coverage: 98% 🆗 (click for details)
    Name                         Stmts   Miss Branch BrPart  Cover   Missing
    ------------------------------------------------------------------------
    setup.py                        11      0      2      0   100%
    test/__init__.py                 5      0      0      0   100%
    test/examples.py                49      1      4      1    96%   24
    test/test_git.py               195      0     18      0   100%
    test/test_packaging.py           3      0      0      0   100%
    test/test_query.py             161      3     10      1    98%   67, 103-104
    test/test_version.py           153      0     32      0   100%
    version_query/__init__.py        5      0      0      0   100%
    version_query/__main__.py        9      0      2      0   100%
    version_query/_version.py        2      0      0      0   100%
    version_query/git_query.py     114      1     46      1    99%   64
    version_query/main.py           21      0      6      0   100%
    version_query/py_query.py       31      5     12      1    86%   14-17, 41
    version_query/query.py          50      0      2      0   100%
    version_query/version.py       442      8    208      7    98%   139, 149, 160, 165, 167, 194, 498, 511
    ------------------------------------------------------------------------
    TOTAL                         1251     18    342     11    98%
    

@jenkins-mbdev
Copy link

jenkins-mbdev bot commented Feb 16, 2025

Tools report for GitHub-mbdevpl/version-query/PR-25 [build #3]:

  • Pylint: warnings ⚠️ (click for details)
    ************* Module version_query.git_query
    version_query/git_query.py:76:0: R1260: '_latest_git_version_tag' is too complex. The McCabe rating is 12 (too-complex)
    ************* Module version_query.version
    version_query/version.py:244:4: R1260: '_get_pre_release_from_args' is too complex. The McCabe rating is 11 (too-complex)
    version_query/version.py:22:4: C0103: Class constant name "Major" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:23:4: C0103: Class constant name "Minor" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:24:4: C0103: Class constant name "Patch" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:25:4: C0103: Class constant name "Release" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:26:4: C0103: Class constant name "PrePatch" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:27:4: C0103: Class constant name "DevPatch" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:28:4: C0103: Class constant name "Local" doesn't conform to UPPER_CASE naming style (invalid-name)
    version_query/version.py:32:11: R1729: Use a generator instead 'all(_ is not None if flag else _ is None for (_, flag) in zip(version_tuple, flags))' (use-a-generator)
    version_query/version.py:35:0: R0902: Too many instance attributes (8/7) (too-many-instance-attributes)
    version_query/version.py:77:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    version_query/version.py:108:15: R1728: Consider using a generator instead 'tuple(_ for _ in match.groups() if _ is not None)' (consider-using-generator)
    version_query/version.py:111:22: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    version_query/version.py:113:16: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    version_query/version.py:150:14: W0212: Access to a protected member _version of a client class (protected-access)
    version_query/version.py:203:4: R0913: Too many arguments (6/5) (too-many-arguments)
    version_query/version.py:203:4: W1113: Keyword argument before variable positional arguments list in the definition of __init__ function (keyword-arg-before-vararg)
    version_query/version.py:504:19: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    version_query/version.py:508:19: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    version_query/version.py:510:19: C0209: Formatting a regular string which could be an f-string (consider-using-f-string)
    ************* Module test.test_version
    test/test_version.py:134:12: R0204: Redefinition of version.release type from int to tuple (redefined-variable-type)
    
    -----------------------------------
    Your code has been rated at 9.82/10
    
  • Mypy: problems ⚠️ (click for details)
    version_query/version.py:135: error: Argument "pre_release" to "Version" has incompatible type "Sequence[tuple[str | None, str | None, int | None]] | None"; expected "Sequence[tuple[str | None, str | None, int | None]]"  [arg-type]
    version_query/version.py:135: error: Argument "local" to "Version" has incompatible type "tuple[Any, ...] | None"; expected "str | tuple[Any, ...]"  [arg-type]
    version_query/version.py:169: error: Incompatible types in assignment (expression has type "tuple[str, int]", variable has type "tuple[None, int] | None")  [assignment]
    version_query/version.py:171: error: Incompatible types in assignment (expression has type "tuple[str, int]", variable has type "tuple[None, int] | None")  [assignment]
    version_query/version.py:179: error: Argument 1 to "Version" has incompatible type "int | None"; expected "int"  [arg-type]
    version_query/version.py:179: error: Argument "pre_release" to "Version" has incompatible type "Sequence[tuple[str | None, str | None, int | None]] | None"; expected "Sequence[tuple[str | None, str | None, int | None]]"  [arg-type]
    version_query/version.py:179: error: Argument "local" to "Version" has incompatible type "tuple[str, ...] | None"; expected "str | tuple[Any, ...]"  [arg-type]
    version_query/version.py:196: error: Incompatible types in assignment (expression has type "tuple[Any, ...]", variable has type "str | None")  [assignment]
    version_query/version.py:197: error: Argument "pre_release" to "Version" has incompatible type "None"; expected "Sequence[tuple[str | None, str | None, int | None]]"  [arg-type]
    version_query/version.py:197: error: Argument "local" to "Version" has incompatible type "str | None"; expected "str | tuple[Any, ...]"  [arg-type]
    version_query/version.py:206: error: Incompatible default for argument "pre_release" (default has type "None", argument has type "Sequence[tuple[str | None, str | None, int | None]]")  [assignment]
    version_query/version.py:206: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True
    version_query/version.py:206: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase
    version_query/version.py:207: error: Incompatible default for argument "local" (default has type "None", argument has type "str | tuple[Any, ...]")  [assignment]
    version_query/version.py:207: note: PEP 484 prohibits implicit Optional. Accordingly, mypy has changed its default to no_implicit_optional=True
    version_query/version.py:207: note: Use https://github.com/hauntsaninja/no_implicit_optional to automatically upgrade your codebase
    version_query/version.py:273: error: Argument 1 to "append" of "list" has incompatible type "tuple[int | str, ...]"; expected "tuple[str | None, str | None, int | None]"  [arg-type]
    version_query/version.py:552: error: Incompatible return value type (got "tuple[Any, ...] | Sequence[str]", expected "tuple[Any, ...]")  [return-value]
    test/test_version.py:27: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
    test/test_version.py:35: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
    test/test_version.py:79: note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
    Found 14 errors in 1 file (checked 15 source files)
    
  • Flake518: ran 🆗

  • Pydocstyle: ran 🆗

  • Coverage: 98% 🆗 (click for details)
    Name                         Stmts   Miss Branch BrPart  Cover   Missing
    ------------------------------------------------------------------------
    setup.py                        11      0      2      0   100%
    test/__init__.py                 5      0      0      0   100%
    test/examples.py                49      1      4      1    96%   24
    test/test_git.py               195      0     18      0   100%
    test/test_packaging.py           3      0      0      0   100%
    test/test_query.py             161      3     10      1    98%   67, 103-104
    test/test_version.py           153      0     32      0   100%
    version_query/__init__.py        5      0      0      0   100%
    version_query/__main__.py        9      0      2      0   100%
    version_query/_version.py        2      0      0      0   100%
    version_query/git_query.py     114      1     46      1    99%   64
    version_query/main.py           21      0      6      0   100%
    version_query/py_query.py       31      5     12      1    86%   14-17, 41
    version_query/query.py          50      0      2      0   100%
    version_query/version.py       442      8    208      7    98%   139, 149, 160, 165, 167, 194, 498, 511
    ------------------------------------------------------------------------
    TOTAL                         1251     18    342     11    98%
    

@mbdevpl mbdevpl merged commit 3a0c62b into main Feb 16, 2025
26 of 27 checks passed
@mbdevpl mbdevpl deleted the feature/update-tested-python-versions branch February 16, 2025 08:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant