Skip to content

style: format code with Ruff Formatter#212

Open
deepsource-autofix[bot] wants to merge 1 commit intomainfrom
deepsource-transform-31cc4291
Open

style: format code with Ruff Formatter#212
deepsource-autofix[bot] wants to merge 1 commit intomainfrom
deepsource-transform-31cc4291

Conversation

@deepsource-autofix
Copy link
Contributor

@deepsource-autofix deepsource-autofix bot commented Jan 27, 2026

This commit fixes the style issues introduced in 58927b8 according to the output
from Ruff Formatter.

Details: None


This change is Reviewable

Summary by Bito

  • Changed single quotes to double quotes in the os.environ.setdefault call for DJANGO_SETTINGS_MODULE in tests/test_django/wsgi.py.
  • Updated string literals from single to double quotes in the Django WSGI configuration file.

This commit fixes the style issues introduced in 58927b8 according to the output
from Ruff Formatter.

Details: None
@trunk-io
Copy link

trunk-io bot commented Jan 27, 2026

Merging to main in this repository is managed by Trunk.

  • To merge this pull request, check the box to the left or comment /trunk merge below.

@evolua-app
Copy link

evolua-app bot commented Jan 27, 2026

Welcome @deepsource-autofix[bot]! 🎉

Great PR! I've analyzed your code changes for:

  • 🔒 Security vulnerabilities
  • ✨ Code quality improvements
  • 🎯 Best practices alignment

Ready to see the full review?
Head over to https://evolua.io to:

  • Create your free account
  • Get detailed insights
  • Unlock automated PR reviews
  • Ensure high-quality code

Let's make your code even better together! 🚀

@coderabbitai
Copy link

coderabbitai bot commented Jan 27, 2026

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • 🔍 Trigger a full review

Comment @coderabbitai help to get the list of available commands and usage tips.

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'test_django.settings')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "test_django.settings")

application = get_wsgi_application()

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lack of error handling during WSGI application initialization

If the DJANGO_SETTINGS_MODULE is misconfigured or missing, get_wsgi_application() will raise an exception, potentially causing the application to fail to start with an unclear error message. To improve robustness, wrap the initialization in a try-except block and log or handle errors gracefully:

try:
    application = get_wsgi_application()
except Exception as e:
    # Log the error or handle it appropriately
    raise RuntimeError(f"WSGI application initialization failed: {e}")

This ensures that startup failures are reported clearly and can be diagnosed more easily.

@snyk-io
Copy link

snyk-io bot commented Jan 27, 2026

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@deepsource-io
Copy link
Contributor

deepsource-io bot commented Jan 27, 2026

Here's the code health analysis summary for commits 58927b8..53ae88b. View details on DeepSource ↗.

Analysis Summary

AnalyzerStatusSummaryLink
DeepSource Python LogoPython✅ SuccessView Check ↗

💡 If you’re a repository administrator, you can configure the quality gates from the settings.

@qodo-code-review
Copy link

CI Feedback 🧐

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: trunk-check / trunk-code-quality

Failed stage: Trunk Check [❌]

Failed test name: ""

Failure summary:

The GitHub Action failed during the Trunk code-quality/linting step, not during tests.
- pyright
reported type-checking errors and exited non-zero (pyright exited with exit_code=1, errorCount=4),
including:
- Invalid pyright ignore rule in comments: "reportUnusedParameter" is an unknown
diagnostic rule for pyright comment (e.g., django_ninja_crudl/mixins/hooks.py:2 and
django_ninja_crudl/mixins/soft_delete.py).
- A type error: Type "Any | bool | tuple[Any, ...]" is
not assignable to return type "bool" in django_ninja_crudl/model_utils.py.
- After pyright ran,
Trunk’s conversion script crashed while generating SARIF:
- pyright_to_sarif.py threw KeyError:
'range' at /home/runner/.cache/trunk/plugins/.../linters/pyright/pyright_to_sarif.py:18, because at
least one pyright result entry lacked the expected range field.
- This crash caused the Trunk step
to exit with code 1 (##[error]Process completed with exit code 1.), failing the workflow.

Relevant error logs:
1:  ##[group]Runner Image Provisioner
2:  Hosted Compute Agent
...

519:  �[36;1mcat >>$GITHUB_ENV <<EOF�[0m
520:  �[36;1mGITHUB_TOKEN=***�[0m
521:  �[36;1mTRUNK_LAUNCHER_QUIET=false�[0m
522:  �[36;1mEOF�[0m
523:  �[36;1m�[0m
524:  �[36;1m# First arg is field to fetch, second arg is default value or empty�[0m
525:  �[36;1mpayload() {�[0m
526:  �[36;1m  if [ $# -lt 2 ]; then�[0m
527:  �[36;1m    DEFAULT_VALUE=empty�[0m
528:  �[36;1m  else�[0m
529:  �[36;1m    DEFAULT_VALUE=\"$2\"�[0m
530:  �[36;1m  fi�[0m
531:  �[36;1m  if command -v jq >/dev/null; then�[0m
532:  �[36;1m    jq -r ".inputs.payload | fromjson | .$1 // ${DEFAULT_VALUE}" ${TEST_GITHUB_EVENT_PATH:-${GITHUB_EVENT_PATH}}�[0m
533:  �[36;1m  else�[0m
534:  �[36;1m    echo "::error::jq not installed on system!"�[0m
535:  �[36;1m    exit 1�[0m
...

1204:  �[1m�[90m�[49m 44:4 �[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m     Too many ancestors (9/7)                                �[1m�[90m�[49mpylint/R0901�[22m�[39m�[49m                                   
1205:  �[1m�[90m�[49m 63:8 �[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m     Too many return statements (8/6)                        �[1m�[90m�[49mpylint/R0911�[22m�[39m�[49m                                   
1206:  �[1m�[90m�[49m 63:13�[22m�[39m�[49m  �[31m�[49mhigh�[39m�[49m    Too many return statements (8 > 6)                      �[1m�[90m�[49mruff/PLR0911�[22m�[39m�[49m                                   
1207:  �[1m�[90m�[49m 96:0 �[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m     Line too long (109/100)                                 �[1m�[90m�[49mpylint/C0301�[22m�[39m�[49m                                   
1208:  �[1m�[90m�[49m100:28�[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  Type of "attr_value" is Any                             �[1m�[90m�[49mbasedpyright/reportAny�[22m�[39m�[49m                         
1209:  �[1m�[90m�[49m102:36�[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m     Unnecessary "# pyright: ignore" rule: "reportAny"       �[1m�[90m�[49mbasedpyright/reportUnnecessaryTypeIgnoreComment�[22m�[39m�[49m
1210:  �[1m�[4mdjango_ninja_crudl/endpoints/update.py�[0m�[4m�[90m:37:5�[0m
1211:  �[1m�[90m�[49m 37:5 �[22m�[39m�[49m  �[31m�[49mhigh�[39m�[49m    `get_update_endpoint` is too complex (11 > 10)     �[1m�[90m�[49mruff/C901�[22m�[39m�[49m                                      
1212:  �[1m�[90m�[49m 44:0 �[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m     Line too long (112/100)                            �[1m�[90m�[49mpylint/C0301�[22m�[39m�[49m                                   
1213:  �[1m�[90m�[49m 44:4 �[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m     Too many ancestors (9/7)                           �[1m�[90m�[49mpylint/R0901�[22m�[39m�[49m                                   
1214:  �[1m�[90m�[49m 64:8 �[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m     Too many return statements (8/6)                   �[1m�[90m�[49mpylint/R0911�[22m�[39m�[49m                                   
1215:  �[1m�[90m�[49m 64:13�[22m�[39m�[49m  �[31m�[49mhigh�[39m�[49m    Too many return statements (8 > 6)                 �[1m�[90m�[49mruff/PLR0911�[22m�[39m�[49m                                   
1216:  �[1m�[90m�[49m 98:0 �[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m     Line too long (109/100)                            �[1m�[90m�[49mpylint/C0301�[22m�[39m�[49m                                   
1217:  �[1m�[90m�[49m102:28�[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  Type of "attr_value" is Any                        �[1m�[90m�[49mbasedpyright/reportAny�[22m�[39m�[49m                         
1218:  �[1m�[90m�[49m104:36�[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m     Unnecessary "# pyright: ignore" rule: "reportAny"  �[1m�[90m�[49mbasedpyright/reportUnnecessaryTypeIgnoreComment�[22m�[39m�[49m
1219:  �[1m�[4mdjango_ninja_crudl/errors/__init__.py�[0m�[4m�[90m:5:54�[0m
1220:  �[1m�[90m�[49m5:54�[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m  Unnecessary "# pyright: ignore" rule:                        �[1m�[90m�[49mbasedpyright/reportUnnecessaryTypeIgnoreComment�[22m�[39m�[49m
1221:  "reportUnknownVariableType"                                                                                 
1222:  �[1m�[90m�[49m6:48�[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m  Unnecessary "# pyright: ignore" rule:                        �[1m�[90m�[49mbasedpyright/reportUnnecessaryTypeIgnoreComment�[22m�[39m�[49m
1223:  "reportUnknownVariableType"                                                                                 
1224:  �[1m�[4mdjango_ninja_crudl/errors/mixin.py�[0m�[4m�[90m:25:11�[0m
1225:  �[1m�[90m�[49m25:11�[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m     Use isinstance() rather than type() for a typecheck.  �[1m�[90m�[49mpylint/C0123�[22m�[39m�[49m                      
...

1230:  �[1m�[90m�[49m48:8 �[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  Unused argument 'response'                            �[1m�[90m�[49mpylint/W0613�[22m�[39m�[49m                      
1231:  �[1m�[90m�[49m48:9 �[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  "response" is not accessed                            �[1m�[90m�[49mbasedpyright/reportUnusedParameter�[22m�[39m�[49m
1232:  �[1m�[90m�[49m49:8 �[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  Unused argument 'exception'                           �[1m�[90m�[49mpylint/W0613�[22m�[39m�[49m                      
1233:  �[1m�[90m�[49m49:9 �[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  "exception" is not accessed                           �[1m�[90m�[49mbasedpyright/reportUnusedParameter�[22m�[39m�[49m
1234:  �[1m�[90m�[49m57:8 �[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  Unused argument 'response'                            �[1m�[90m�[49mpylint/W0613�[22m�[39m�[49m                      
1235:  �[1m�[90m�[49m57:9 �[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  "response" is not accessed                            �[1m�[90m�[49mbasedpyright/reportUnusedParameter�[22m�[39m�[49m
1236:  �[1m�[90m�[49m58:8 �[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  Unused argument 'exception'                           �[1m�[90m�[49mpylint/W0613�[22m�[39m�[49m                      
1237:  �[1m�[90m�[49m58:9 �[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  "exception" is not accessed                           �[1m�[90m�[49mbasedpyright/reportUnusedParameter�[22m�[39m�[49m
1238:  �[1m�[90m�[49m66:8 �[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  Unused argument 'response'                            �[1m�[90m�[49mpylint/W0613�[22m�[39m�[49m                      
1239:  �[1m�[90m�[49m66:9 �[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  "response" is not accessed                            �[1m�[90m�[49mbasedpyright/reportUnusedParameter�[22m�[39m�[49m
1240:  �[1m�[90m�[49m70:12�[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  Type of "DEBUG" is Any                                �[1m�[90m�[49mbasedpyright/reportAny�[22m�[39m�[49m            
1241:  �[1m�[90m�[49m73:12�[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m     Import outside toplevel (traceback)                   �[1m�[90m�[49mpylint/C0415�[22m�[39m�[49m                      
1242:  �[1m�[90m�[49m73:13�[22m�[39m�[49m  �[31m�[49mhigh�[39m�[49m    `import` should be at the top-level of a file         �[1m�[90m�[49mruff/PLC0415�[22m�[39m�[49m                      
1243:  �[1m�[90m�[49m86:8 �[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  Unused argument 'exception'                           �[1m�[90m�[49mpylint/W0613�[22m�[39m�[49m                      
1244:  �[1m�[90m�[49m86:9 �[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  "exception" is not accessed                           �[1m�[90m�[49mbasedpyright/reportUnusedParameter�[22m�[39m�[49m
1245:  �[1m�[4mdjango_ninja_crudl/errors/schemas.py�[0m�[4m�[90m:10:3�[0m
1246:  �[1m�[90m�[49m10:3�[22m�[39m�[49m  �[31m�[49mhigh�[39m�[49m  Missing issue link for this TODO  �[1m�[90m�[49mruff/TD003�[22m�[39m�[49m
1247:  �[1m�[4mdjango_ninja_crudl/errors/transform.py�[0m�[4m�[90m:1:0�[0m
1248:  �[1m�[90m�[49m 1:0 �[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m     Missing module docstring                        �[1m�[90m�[49mpylint/C0114�[22m�[39m�[49m          
1249:  �[1m�[90m�[49m 1:1 �[22m�[39m�[49m  �[31m�[49mhigh�[39m�[49m    Missing docstring in public module              �[1m�[90m�[49mruff/D100�[22m�[39m�[49m             
1250:  �[1m�[90m�[49m10:16�[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  Type of "error_messages" is Any                 �[1m�[90m�[49mbasedpyright/reportAny�[22m�[39m�[49m
1251:  �[1m�[90m�[49m11:13�[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  Type of "message" is Any                        �[1m�[90m�[49mbasedpyright/reportAny�[22m�[39m�[49m
...

1256:  �[1m�[4mdjango_ninja_crudl/mixins/hooks.py�[0m�[4m�[90m:11:17�[0m
1257:  �[1m�[90m�[49m11:17�[22m�[39m�[49m  �[31m�[49mhigh�[39m�[49m  `Generic[]` should always be the last base class                               �[1m�[90m�[49mruff/PYI059�[22m�[39m�[49m
1258:  �[1m�[90m�[49m11:18�[22m�[39m�[49m  �[31m�[49mhigh�[39m�[49m  Generic class `HooksMixin` uses `Generic` subclass instead of type parameters  �[1m�[90m�[49mruff/UP046�[22m�[39m�[49m 
1259:  �[1m�[4mdjango_ninja_crudl/mixins/permissions.py�[0m�[4m�[90m:11:22�[0m
1260:  �[1m�[90m�[49m11:22�[22m�[39m�[49m  �[31m�[49mhigh�[39m�[49m  `Generic[]` should always be the last base class                                    �[1m�[90m�[49mruff/PYI059�[22m�[39m�[49m       
1261:  �[1m�[90m�[49m11:23�[22m�[39m�[49m  �[31m�[49mhigh�[39m�[49m  Generic class `PermissionMixin` uses `Generic` subclass instead of type parameters  �[1m�[90m�[49mruff/UP046�[22m�[39m�[49m        
1262:  �[1m�[90m�[49m14:0 �[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m   Line too long (102/100)                                                             �[1m�[90m�[49mpylint/C0301�[22m�[39m�[49m      
1263:  �[1m�[90m�[49m14:0 �[22m�[39m�[49m  �[31m�[49mhigh�[39m�[49m  Unused "type: ignore" comment                                                       �[1m�[90m�[49mmypy/unused-ignore�[22m�[39m�[49m
1264:  �[1m�[4mdjango_ninja_crudl/mixins/soft_delete.py�[0m�[4m�[90m:23:8�[0m
1265:  �[1m�[90m�[49m 23:8 �[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  Unused argument 'qs'                                                                 �[1m�[90m�[49mpylint/W0613�[22m�[39m�[49m      
1266:  �[1m�[90m�[49m 24:8 �[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  Unused argument 'request_details'                                                    �[1m�[90m�[49mpylint/W0613�[22m�[39m�[49m      
1267:  �[1m�[90m�[49m 25:8 �[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  Unused argument 'using_db'                                                           �[1m�[90m�[49mpylint/W0613�[22m�[39m�[49m      
1268:  �[1m�[90m�[49m 97:0 �[22m�[39m�[49m  �[31m�[49mhigh�[39m�[49m    Unused "type: ignore" comment                                                        �[1m�[90m�[49mmypy/unused-ignore�[22m�[39m�[49m
1269:  �[1m�[90m�[49m103:19�[22m�[39m�[49m  �[35m�[49mmedium�[39m�[49m  Access to a protected member _meta of a client class                                 �[1m�[90m�[49mpylint/W0212�[22m�[39m�[49m      
1270:  �[1m�[90m�[49m118:0 �[22m�[39m�[49m  �[31m�[49mhigh�[39m�[49m    Unused "type: ignore" comment                                                        �[1m�[90m�[49mmypy/unused-ignore�[22m�[39m�[49m
1271:  �[1m�[90m�[49m118:9 �[22m�[39m�[49m  �[90m�[49mnote�[39m�[49m    �[90m�[49mError code "assignment" not covered by "type: ignore" comment�[39m�[49m                        �[1m�[90m�[49mmypy/note�[22m�[39m�[49m         
1272:  �[1m�[90m�[49m118:9 �[22m�[39m�[49m  �[31m�[49mhigh�[39m�[49m    Incompatible types in assignment (expression has type "QuerySet[Model, Model]",      �[1m�[90m�[49mmypy/assignment�[22m�[39m�[49m   
...

1468:  .trunk/out/WPF.txt                                                                                           
1469:  �[1m�[90m�[49m1:0�[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m  Cyclic import (django_ninja_crudl -> django_ninja_crudl.crudl_controller ->                      �[1m�[90m�[49mpylint/R0401�[22m�[39m�[49m
1470:  django_ninja_crudl.endpoints -> django_ninja_crudl.endpoints.update)                                         
1471:  �[1m�[90m�[49m1:0�[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m  Cyclic import (django_ninja_crudl -> django_ninja_crudl.crudl_controller ->                      �[1m�[90m�[49mpylint/R0401�[22m�[39m�[49m
1472:  django_ninja_crudl.endpoints -> django_ninja_crudl.endpoints.get_one)                                        
1473:  �[1m�[90m�[49m1:0�[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m  Cyclic import (django_ninja_crudl -> django_ninja_crudl.crudl_controller ->                      �[1m�[90m�[49mpylint/R0401�[22m�[39m�[49m
1474:  django_ninja_crudl.endpoints -> django_ninja_crudl.endpoints.delete)                                         
1475:  �[1m�[90m�[49m1:0�[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m  Cyclic import (django_ninja_crudl -> django_ninja_crudl.crudl_controller ->                      �[1m�[90m�[49mpylint/R0401�[22m�[39m�[49m
1476:  django_ninja_crudl.endpoints -> django_ninja_crudl.endpoints.partial_update)                                 
1477:  �[1m�[90m�[49m1:0�[22m�[39m�[49m  �[33m�[49mlow�[39m�[49m  Module name "pytest-with-typeguard" doesn't conform to snake_case naming style                   �[1m�[90m�[49mpylint/C0103�[22m�[39m�[49m
1478:  �[1m�[4mrenovate.json�[0m
1479:  �[1m�[90m�[49m-:-�[22m�[39m�[49m  �[31m�[49mfmt�[39m�[49m  Incorrect formatting, autoformat by running 'trunk fmt'  �[1m�[90m�[49mprettier�[22m�[39m�[49m
1480:  �[1m�[4muv.lock�[0m�[4m�[90m:82:0�[0m
1481:  �[1m�[90m�[49m  82:0�[22m�[39m�[49m  �[31m�[49mhigh�[39m�[49m  astroid ==> asteroid  �[1m�[90m�[49mcodespell/misspelled�[22m�[39m�[49m
1482:  �[1m�[90m�[49m2395:0�[22m�[39m�[49m  �[31m�[49mhigh�[39m�[49m  astroid ==> asteroid  �[1m�[90m�[49mcodespell/misspelled�[22m�[39m�[49m
1483:  �[1m�[30m�[107m  FAILURES  �[0m
1484:  �[1mtaplo�[22m    �[1m.deepsource.toml�[22m                              .trunk/out/sqErh.yaml
1485:  �[1mtaplo�[22m    �[1m.deepsource.toml�[22m                              .trunk/out/u4Bdt.yaml
1486:  �[1mtaplo�[22m    �[1m.nitpick.toml�[22m                                 .trunk/out/bE9Tn.yaml
1487:  �[1mtaplo�[22m    �[1m.nitpick.toml�[22m                                 .trunk/out/Ydjvn.yaml
1488:  �[1mtaplo�[22m    �[1m.pylintrc.toml�[22m                                .trunk/out/P5RYK.yaml
1489:  �[1mtaplo�[22m    �[1m.pylintrc.toml�[22m                                .trunk/out/GKFFm.yaml
1490:  �[1mtaplo�[22m    �[1m.ruff.toml�[22m                                    .trunk/out/YbWlu.yaml
1491:  �[1mtaplo�[22m    �[1m.ruff.toml�[22m                                    .trunk/out/vbI29.yaml
1492:  �[1mtaplo�[22m    �[1m.taplo.toml�[22m                                   .trunk/out/QsHrD.yaml
1493:  �[1mtaplo�[22m    �[1m.taplo.toml�[22m                                   .trunk/out/AJ01C.yaml
1494:  �[1mpyright�[22m  �[1mdjango_ninja_crudl/__init__.py... (34 files)�[22m  .trunk/out/s0Ofw.yaml
1495:  �[1mtaplo�[22m    �[1mpyproject.toml�[22m                                .trunk/out/ta1hN.yaml
1496:  �[1mtaplo�[22m    �[1mpyproject.toml�[22m                                .trunk/out/6vqeO.yaml
1497:  �[1m�[30m�[107m  NOTICES  �[0m
1498:  �[90m�[49mSome tools failed to run. You can open the details yaml files for more information.�[39m�[49m
1499:  Checked 77 files
...

1727:  exit_status: exited
1728:  exit_code: 0
1729:  stdout: (none)
1730:  stderr: (none)
1731:  parser: |
1732:  (none)
1733:  - Binary not found. Next check run may repair installation
1734:  ##[endgroup]
1735:  ##[group].trunk/out/s0Ofw.yaml
1736:  trunk_cli_version: 1.25.0
1737:  title: pyright exited with exit_code=1
1738:  report:
1739:  - pyright exited with exit_code=1
1740:  - linter:
1741:  command: |
1742:  /opt/hostedtoolcache/Python/3.14.2/x64/bin/pyright --outputjson django_ninja_crudl/__init__.py django_ninja_crudl/api.py django_ninja_crudl/base.py django_ninja_crudl/config.py django_ninja_crudl/crudl_controller.py django_ninja_crudl/endpoints/__init__.py django_ninja_crudl/endpoints/create.py django_ninja_crudl/endpoints/delete.py django_ninja_crudl/endpoints/get_one.py django_ninja_crudl/endpoints/list.py django_ninja_crudl/endpoints/partial_update.py django_ninja_crudl/endpoints/update.py django_ninja_crudl/errors/__init__.py django_ninja_crudl/errors/mixin.py django_ninja_crudl/errors/openapi_extras.py django_ninja_crudl/errors/schemas.py django_ninja_crudl/errors/transform.py django_ninja_crudl/mixins/__init__.py django_ninja_crudl/mixins/filters.py django_ninja_crudl/mixins/hooks.py django_ninja_crudl/mixins/permissions.py django_ninja_crudl/mixins/soft_delete.py django_ninja_crudl/mixins/utilities.py django_ninja_crudl/model_utils.py django_ninja_crudl/patch_dict.py django_ninja_crudl/permissions.py django_ninja_crudl/renderers.py django_ninja_crudl/schema.py django_ninja_crudl/types.py django_ninja_crudl/utils.py manage.py noxfile.py pytest-with-beartype.py pytest-with-typeguard.py
1743:  stdin_path: (none)
1744:  run_from: /home/runner/work/django-ninja-crudl/django-ninja-crudl
1745:  timeout: 10m
1746:  rerun: (cd /home/runner/work/django-ninja-crudl/django-ninja-crudl; env -i SHELL=/bin/bash UV_CACHE_DIR=/home/runner/work/_temp/setup-uv-cache SELENIUM_JAR_PATH=/usr/share/java/selenium-server.jar CONDA=/usr/share/miniconda GITHUB_WORKSPACE=/home/runner/work/django-ninja-crudl/django-ninja-crudl JAVA_HOME_11_X64=/usr/lib/jvm/temurin-11-jdk-amd64 JAVA_HOME_25_X64=/usr/lib/jvm/temurin-25-jdk-amd64 PKG_CONFIG_PATH=/opt/hostedtoolcache/Python/3.14.2/x64/lib/pkgconfig INPUT_TARGET_CHECKOUT= GITHUB_PATH=/home/runner/work/_temp/_runner_file_commands/add_path_a806a6b1-260a-4b2e-b612-4fd615eea562 GITHUB_ACTION=__trunk-io_trunk-action INPUT_DEBUG=false JAVA_HOME=/usr/lib/jvm/temurin-17-jdk-amd64 INPUT_SETUP_DEPS=false GITHUB_RUN_NUMBER=503 'RUNNER_NAME=GitHub Actions 1000015190' GRADLE_HOME=/usr/share/gradle-9.3.0 INPUT_TRUNK_PATH= GITHUB_REPOSITORY_OWNER_ID=188593081 ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE=/opt/actionarchivecache XDG_CONFIG_HOME=/home/runner/.config 'INPUT_CACHE_PATH=~/.cache/trunk' Python_ROOT_DIR=/opt/hostedtoolcache/Python/3.14.2/x64 MEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA= DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 GITHUB_EVENT_BEFORE=0000000000000000000000000000000000000000 ANT_HOME=/usr/share/ant JAVA_HOME_8_X64=/usr/lib/jvm/temurin-8-jdk-amd64 'GITHUB_TRIGGERING_ACTOR=deepsource-autofix[bot]' INPUT_CHECK_ALL_MODE= pythonLocation=/opt/hostedtoolcache/Python/3.14.2/x64 GITHUB_REF_TYPE=branch GITHUB_EVENT_AFTER=58927b8704b3d9433377be717628b817bf637144 TRUNK_PATH=/tmp/tmp.bgGjmX6cCh/trunk UV_PYTHON_INSTALL_DIR=/home/runner/work/_temp/uv-python-dir HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS=3650 ANDROID_NDK=/usr/local/lib/android/sdk/ndk/27.3.13750724 BOOTSTRAP_HASKELL_NONINTERACTIVE=1 *** PIPX_BIN_DIR=/opt/pipx_bin LOGNAME=runner GITHUB_REPOSITORY_ID=879315609 GITHUB_ACTIONS=true INPUT_SETUP_CACHE_KEY= ANDROID_NDK_LATEST_HOME=/usr/local/lib/android/sdk/ndk/29.0.14206865 SYSTEMD_EXEC_PID=2004 GITHUB_SHA=58927b8704b3d9433377be717628b817bf637144 GITHUB_WORKFLOW_REF=NextGenContributions/django-ninja-crudl/.github/workflows/cicd.yml@refs/heads/deepsource-transform-31cc4291 POWERSHELL_DISTRIBUTION_CHANNEL=GitHub-Actions-ubuntu24 RUNNER_ENVIRONMENT=github-hosted DOTNET_MULTILEVEL_LOOKUP=0 GITHUB_REF=refs/heads/deepsource-transform-31cc4291 RUNNER_OS=Linux GITHUB_REF_PROTECTED=false HOME=/home/runner GITHUB_API_URL=https://api.github.com LANG=C.UTF-8 GITHUB_TOKEN=*** GOROOT_1_25_X64=/opt/hostedtoolcache/go/1.25.6/x64 RUNNER_TRACKING_ID=github_ef728a75-aca6-427e-91d8-363e58a81718 TRUNK_TMPDIR=/tmp/trunk-1001/launcher_logs RUNNER_ARCH=X64 MEMORY_PRESSURE_WATCH=/sys/fs/cgroup/system.slice/hosted-compute-agent.service/memory.pressure RUNNER_TEMP=/home/runner/work/_temp INPUT_TIMEOUT_SECONDS=0 INPUT_TRUNK_TOKEN=*** GITHUB_STATE=/home/runner/work/_temp/_runner_file_commands/save_state_a806a6b1-260a-4b2e-b612-4fd615eea562 EDGEWEBDRIVER=/usr/local/share/edge_driver JAVA_HOME_21_X64=/usr/lib/jvm/temurin-21-jdk-amd64 GITHUB_ENV=/home/runner/work/_temp/_runner_file_commands/set_env_a806a6b1-260a-4b2e-b612-4fd615eea562 GITHUB_EVENT_PATH=/home/runner/work/_temp/_github_workflow/event.json INVOCATION_ID=04e09d9eaec248619ba6e67bb87a0c9f GITHUB_EVENT_NAME=push GITHUB_RUN_ID=21396461202 JAVA_HOME_17_X64=/usr/lib/jvm/temurin-17-jdk-amd64 TRUNK_LAUNCHER_QUIET=false TRUNK_TOKEN=*** GITHUB_EVENT_PULL_REQUEST_NUMBER= ANDROID_NDK_HOME=/usr/local/lib/android/sdk/ndk/27.3.13750724 GITHUB_STEP_SUMMARY=/home/runner/work/_temp/_runner_file_commands/step_summary_a806a6b1-260a-4b2e-b612-4fd615eea562 HOMEBREW_NO_AUTO_UPDATE=1 'GITHUB_ACTOR=deepsource-autofix[bot]' INPUT_LABEL= GITHUB_EVENT_PULL_REQUEST_BASE_SHA= NVM_DIR=/home/runner/.nvm INPUT_GITHUB_REF_NAME=deepsource-transform-31cc4291 SGX_AESM_ADDR=1 GITHUB_RUN_ATTEMPT=1 GITHUB_EVENT_PULL_REQUEST_HEAD_REPO_FORK= ANDROID_HOME=/usr/local/lib/android/sdk GITHUB_GRAPHQL_URL=https://api.github.com/graphql ACCEPT_EULA=Y USER=runner INPUT_GITHUB_TOKEN= PSModulePath=/root/.local/share/powershell/Modules:/usr/local/share/powershell/Modules:/opt/microsoft/powershell/7/Modules:/usr/share/az_12.5.0 GITHUB_ACTION_PATH=/home/runner/work/_actions/trunk-io/trunk-action/v1 INPUT_LFS_CHECKOUT=true GITHUB_SERVER_URL=https://github.com PIPX_HOME=/opt/pipx GECKOWEBDRIVER=/usr/local/share/gecko_driver INPUT_ARGUMENTS= CHROMEWEBDRIVER=/usr/local/share/chromedriver-linux64 SHLVL=2 ANDROID_SDK_ROOT=/usr/local/lib/android/sdk VCPKG_INSTALLATION_ROOT=/usr/local/share/vcpkg GITHUB_ACTOR_ID=62050782 ACTIONS_ORCHESTRATION_ID=fbe7c32e-36c1-47f3-85c0-b7df8593a9e8.trunk-check.trunk-code-quality.__default RUNNER_TOOL_CACHE=/opt/hostedtoolcache INPUT_CACHE_KEY=trunk--Linux-e4ef1934ad26c47d9f7e28d29318f5dd91b0fc4063755cac17173feb1816e3f2 ImageVersion=20260119.4.1 INPUT_UPLOAD_ID= Python3_ROOT_DIR=/opt/hostedtoolcache/Python/3.14.2/x64 DOTNET_NOLOGO=1 INPUT_CAT_TRUNK_DEBUG_LOGS=false GOROOT_1_23_X64=/opt/hostedtoolcache/go/1.23.12/x64 GITHUB_WORKFLOW_SHA=58927b8704b3d9433377be717628b817bf637144 GOROOT_1_24_X64=/opt/hostedtoolcache/go/1.24.12/x64 GITHUB_REF_NAME=deepsource-transform-31cc4291 INPUT_UPLOAD_LANDING_STATE=false INPUT_AUTOFIX_AND_PUSH= INPUT_UPLOAD_SERIES= GITHUB_JOB=trunk-code-quality LD_LIBRARY_PATH=/opt/hostedtoolcache/Python/3.14.2/x64/lib INPUT_CHECK_RUN_ID= XDG_RUNTIME_DIR=/run/user/1001 TRUNK_CHECK_MODE=push AZURE_EXTENSION_DIR=/opt/az/azcliextensions GITHUB_REPOSITORY=NextGenContributions/django-ninja-crudl Python2_ROOT_DIR=/opt/hostedtoolcache/Python/3.14.2/x64 INPUT_CACHE=true CHROME_BIN=/usr/bin/google-chrome GOROOT_1_22_X64=/opt/hostedtoolcache/go/1.22.12/x64 ANDROID_NDK_ROOT=/usr/local/lib/android/sdk/ndk/27.3.13750724 GITHUB_RETENTION_DAYS=90 JOURNAL_STREAM=9:16886 INPUT_TARGET_CHECKOUT_REF= RUNNER_WORKSPACE=/home/runner/work/django-ninja-crudl INPUT_CHECK_MODE= GITHUB_EVENT_PULL_REQUEST_HEAD_SHA= GITHUB_ACTION_REPOSITORY= PATH=/opt/hostedtoolcache/Python/3.14.2/x64/bin:/opt/hostedtoolcache/Python/3.14.2/x64:/home/runner/work/_temp/uv-python-dir:/opt/hostedtoolcache/uv/0.9.27/x86_64:/home/runner/.local/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin GITHUB_BASE_REF= GHCUP_INSTALL_BASE_PREFIX=/usr/local CI=true SWIFT_PATH=/usr/share/swift/usr/bin ImageOS=ubuntu24 GITHUB_REPOSITORY_OWNER=NextGenContributions GITHUB_HEAD_REF= GITHUB_ACTION_REF= ENABLE_RUNNER_TRACING=true 'GITHUB_WORKFLOW=CI/CD pipeline' DEBIAN_FRONTEND=noninteractive GITHUB_OUTPUT=/home/runner/work/_temp/_runner_file_commands/set_output_a806a6b1-260a-4b2e-b612-4fd615eea562 AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache TRUNK_LAUNCHER_VERSION=1.3.4 TRUNK_LAUNCHER_PATH=/tmp/tmp.bgGjmX6cCh/trunk RUNFILES_DIR=/home/runner/.cache/trunk/cli/1.25.0-linux-x86_64/trunk.runfiles TRUNK_HEAD_SHA=58927b8704b3d9433377be717628b817bf637144 /opt/hostedtoolcache/Python/3.14.2/x64/bin/pyright --outputjson django_ninja_crudl/__init__.py django_ninja_crudl/api.py django_ninja_crudl/base.py django_ninja_crudl/config.py django_ninja_crudl/crudl_controller.py django_ninja_crudl/endpoints/__init__.py django_ninja_crudl/endpoints/create.py django_ninja_crudl/endpoints/delete.py django_ninja_crudl/endpoints/get_one.py django_ninja_crudl/endpoints/list.py django_ninja_crudl/endpoints/partial_update.py django_ninja_crudl/endpoints/update.py django_ninja_crudl/errors/__init__.py django_ninja_crudl/errors/mixin.py django_ninja_crudl/errors/openapi_extras.py django_ninja_crudl/errors/schemas.py django_ninja_crudl/errors/transform.py django_ninja_crudl/mixins/__init__.py django_ninja_crudl/mixins/filters.py django_ninja_crudl/mixins/hooks.py django_ninja_crudl/mixins/permissions.py django_ninja_crudl/mixins/soft_delete.py django_ninja_crudl/mixins/utilities.py django_ninja_crudl/model_utils.py django_ninja_crudl/patch_dict.py django_ninja_crudl/permissions.py django_ninja_crudl/renderers.py django_ninja_crudl/schema.py django_ninja_crudl/types.py django_ninja_crudl/utils.py manage.py noxfile.py pytest-with-beartype.py pytest-with-typeguard.py)
1747:  affects_cache:
...

2280:  "severity": "information",
2281:  "message": "Unnecessary \"# pyright: ignore\" rule: \"reportAny\"",
2282:  "range": {
2283:  "start": {
2284:  "line": 103,
2285:  "character": 35
2286:  },
2287:  "end": {
2288:  "line": 103,
2289:  "character": 44
2290:  }
2291:  },
2292:  "rule": "reportUnnecessaryTypeIgnoreComment"
2293:  },
2294:  {
2295:  "file": "/home/runner/work/django-ninja-crudl/django-ninja-crudl/django_ninja_crudl/errors/__init__.py",
2296:  "severity": "information",
2297:  "message": "Unnecessary \"# pyright: ignore\" rule: \"reportUnknownVariableType\"",
2298:  "range": {
2299:  "start": {
2300:  "line": 4,
2301:  "character": 53
2302:  },
2303:  "end": {
2304:  "line": 4,
2305:  "character": 78
2306:  }
2307:  },
2308:  "rule": "reportUnnecessaryTypeIgnoreComment"
2309:  },
2310:  {
2311:  "file": "/home/runner/work/django-ninja-crudl/django-ninja-crudl/django_ninja_crudl/errors/__init__.py",
2312:  "severity": "information",
2313:  "message": "Unnecessary \"# pyright: ignore\" rule: \"reportUnknownVariableType\"",
2314:  "range": {
2315:  "start": {
2316:  "line": 5,
2317:  "character": 47
2318:  },
2319:  "end": {
2320:  "line": 5,
2321:  "character": 72
2322:  }
2323:  },
2324:  "rule": "reportUnnecessaryTypeIgnoreComment"
2325:  },
2326:  {
2327:  "file": "/home/runner/work/django-ninja-crudl/django-ninja-crudl/django_ninja_crudl/errors/mixin.py",
2328:  "severity": "information",
...

2393:  "message": "Unnecessary \"# pyright: ignore\" rule: \"reportUnusedParameter\"",
2394:  "range": {
2395:  "start": {
2396:  "line": 44,
2397:  "character": 66
2398:  },
2399:  "end": {
2400:  "line": 44,
2401:  "character": 87
2402:  }
2403:  },
2404:  "rule": "reportUnnecessaryTypeIgnoreComment"
2405:  },
2406:  {
2407:  "file": "/home/runner/work/django-ninja-crudl/django-ninja-crudl/django_ninja_crudl/mixins/hooks.py",
2408:  "severity": "error",
2409:  "message": "\"reportUnusedParameter\" is an unknown diagnostic rule for pyright comment",
2410:  "range": {
2411:  "start": {
2412:  "line": 2,
2413:  "character": 11
2414:  },
2415:  "end": {
2416:  "line": 2,
2417:  "character": 32
2418:  }
2419:  }
2420:  },
2421:  {
2422:  "file": "/home/runner/work/django-ninja-crudl/django-ninja-crudl/django_ninja_crudl/mixins/soft_delete.py",
2423:  "severity": "error",
2424:  "message": "\"reportUnusedParameter\" is an unknown diagnostic rule for pyright comment",
...

2631:  "message": "This type is deprecated as of Python 3.10; use \"| None\" instead",
2632:  "range": {
2633:  "start": {
2634:  "line": 12,
2635:  "character": 37
2636:  },
2637:  "end": {
2638:  "line": 12,
2639:  "character": 45
2640:  }
2641:  },
2642:  "rule": "reportDeprecated"
2643:  },
2644:  {
2645:  "file": "/home/runner/work/django-ninja-crudl/django-ninja-crudl/django_ninja_crudl/model_utils.py",
2646:  "severity": "error",
2647:  "message": "Type \"Any | bool | tuple[Any, ...]\" is not assignable to return type \"bool\"\n  Type \"Any | bool | tuple[Any, ...]\" is not assignable to type \"bool\"\n    \"tuple[Any, ...]\" is not assignable to \"bool\"",
...

3239:  "message": "Unnecessary \"# type: ignore\" comment",
3240:  "range": {
3241:  "start": {
3242:  "line": 132,
3243:  "character": 44
3244:  },
3245:  "end": {
3246:  "line": 132,
3247:  "character": 71
3248:  }
3249:  },
3250:  "rule": "reportUnnecessaryTypeIgnoreComment"
3251:  },
3252:  {
3253:  "file": "/opt/hostedtoolcache/Python/3.14.2/x64/lib/python3.14/string/templatelib.py",
3254:  "severity": "error",
3255:  "message": "Template string literals (t-strings) require Python 3.14 or newer",
...

3671:  "range": {
3672:  "start": {
3673:  "line": 32,
3674:  "character": 21
3675:  },
3676:  "end": {
3677:  "line": 32,
3678:  "character": 26
3679:  }
3680:  },
3681:  "rule": "reportUnknownArgumentType"
3682:  }
3683:  ],
3684:  "summary": {
3685:  "filesAnalyzed": 35,
3686:  "errorCount": 4,
3687:  "warningCount": 4,
...

3693:  parser:
3694:  command: |
3695:  /opt/hostedtoolcache/Python/3.14.2/x64/bin/python3 /home/runner/.cache/trunk/plugins/https---github-com-nextgencontributions-plugins/main-ng-4ebadccd80b22638/linters/pyright/pyright_to_sarif.py
3696:  stdin_path: (none)
3697:  run_from: /home/runner/work/django-ninja-crudl/django-ninja-crudl
3698:  timeout: 10m
3699:  rerun: (cd /home/runner/work/django-ninja-crudl/django-ninja-crudl; env -i PATH=/opt/hostedtoolcache/Python/3.14.2/x64/bin:/opt/hostedtoolcache/Python/3.14.2/x64:/home/runner/work/_temp/uv-python-dir:/opt/hostedtoolcache/uv/0.9.27/x86_64:/home/runner/.local/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/hostedtoolcache/Python/3.14.2/x64/bin:/opt/hostedtoolcache/Python/3.14.2/x64:/home/runner/work/_temp/uv-python-dir:/opt/hostedtoolcache/uv/0.9.27/x86_64:/home/runner/.local/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin HOME=/home/runner /opt/hostedtoolcache/Python/3.14.2/x64/bin/python3 /home/runner/.cache/trunk/plugins/https---github-com-nextgencontributions-plugins/main-ng-4ebadccd80b22638/linters/pyright/pyright_to_sarif.py)
3700:  exit_status: exited
3701:  exit_code: 1
3702:  stdout: (none)
3703:  stderr: |
3704:  Traceback (most recent call last):
3705:  File "/home/runner/.cache/trunk/plugins/https---github-com-nextgencontributions-plugins/main-ng-4ebadccd80b22638/linters/pyright/pyright_to_sarif.py", line 18, in <module>
3706:  "startLine": result["range"]["start"]["line"]
3707:  ~~~~~~^^^^^^^^^
3708:  KeyError: 'range'
3709:  ##[endgroup]
...

3741:  - /home/runner/.cache/trunk/tools/taplo/0.10.0-9a580c475a0a1c94d1814180ce0bd7fc
3742:  - linter:
3743:  command: |
3744:  stdin_path: (none)
3745:  run_from: ""
3746:  timeout: 0
3747:  rerun: ""
3748:  exit_status: exited
3749:  exit_code: 0
3750:  stdout: (none)
3751:  stderr: (none)
3752:  parser: |
3753:  (none)
3754:  - Binary not found. Next check run may repair installation
3755:  ##[endgroup]
3756:  ##[error]Process completed with exit code 1.
3757:  ##[group]Run # Cleanup temporary files

@codecov
Copy link

codecov bot commented Jan 27, 2026

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 95.00%. Comparing base (58927b8) to head (53ae88b).
⚠️ Report is 1 commits behind head on main.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
tests/test_django/wsgi.py 0.00% 1 Missing ⚠️
@@           Coverage Diff           @@
##             main     #212   +/-   ##
=======================================
  Coverage   95.00%   95.00%           
=======================================
  Files          31       31           
  Lines        1641     1641           
  Branches       27       27           
=======================================
  Hits         1559     1559           
  Misses         81       81           
  Partials        1        1           
Files with missing lines Coverage Δ
tests/test_django/wsgi.py 0.00% <0.00%> (ø)

@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
0.0% Coverage on New Code (required ≥ 80%)

See analysis details on SonarQube Cloud

@trunk-io
Copy link

trunk-io bot commented Jan 27, 2026

Static BadgeStatic BadgeStatic BadgeStatic Badge

View Full Report ↗︎Docs

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.

0 participants