-
Notifications
You must be signed in to change notification settings - Fork 283
Closed
Labels
questionFurther information is requestedFurther information is requested
Description
Describe the Bug
- Fedora 43 Asahi Remix on MacBook M2 Pro
- VSCodium install with flatpak
com.vscodium.codiumversion 1.107.18627 - extension
meta.pyreflyversion 0.54.0
After working around #2537 by specifying a path to a pyrefly executable installed manually from pip (pyrefly.lspPath), the extension seems able to start the language server, but it doesn't show any errors for a file with known problems.
Running pyrefly check <file path> with the same file reports 22 errors, so it seems to be an issue the extension.
I enabled the language server debugging output in the extension settings (pyrefly.trace.server). Full server output is below.
Sandbox Link
No response
(Only applicable for extension issues) IDE Information
Extension output:
starting generic LSP server
INFO Reading messages
INFO File /home/morgan/Development/dev2/src/django/addgene/browse/views/demo.py opened, prepare to validate open files.
INFO Ran task on sourcedb_queue heavy task queue. Queue time: 0.00, task time: 0.00
INFO Published 0 diagnostics for file:///home/morgan/Development/dev2/src/django/addgene/browse/views/demo.py
INFO Validated open files and committed transaction.
INFO Cleared 1 dropped configs from config cache
INFO Language server processed event `DidOpenTextDocument` in 0.15s (0.00s waiting)
INFO Language server processed event `LspResponse` in 0.00s (0.14s waiting)
INFO Client configuration applied to workspace: Some(Url { scheme: "file", cannot_be_a_base: false, username: "", password: None, host: None, port: None, path: "/home/morgan/Development/dev2", query: None, fragment: None })
INFO Client configuration applied to workspace: None
INFO Language server processed event `LspResponse` in 0.00s (0.14s waiting)
INFO Invalidated config, prepare to recheck open files.
INFO Ran task on recheck_queue heavy task queue. Queue time: 0.00, task time: 0.00
INFO Populating all files in the config (Marker("/home/morgan/Development/dev2/pyproject.toml")).
INFO Published 0 diagnostics for file:///home/morgan/Development/dev2/src/django/addgene/browse/views/demo.py
INFO Validated open files and committed transaction.
INFO Language server processed event `RecheckFinished` in 0.00s (0.00s waiting)
INFO Language server processed event `LspResponse` in 0.00s (0.00s waiting)
INFO Language server processed event `LspResponse` in 0.00s (0.00s waiting)
INFO Language server processed event `LspResponse` in 0.00s (0.00s waiting)
INFO Prepare to check 5358 files.
INFO Populated all files in the project path, prepare to recheck open files.
INFO Ran task on recheck_queue heavy task queue. Queue time: 0.00, task time: 1.03
INFO Populating up to 2000 files in the workspace ("/home/morgan/Development/dev2").
INFO Published 0 diagnostics for file:///home/morgan/Development/dev2/src/django/addgene/browse/views/demo.py
INFO Validated open files and committed transaction.
INFO Language server processed event `RecheckFinished` in 0.00s (0.00s waiting)
INFO Language server processed event `LspResponse` in 0.00s (0.00s waiting)
INFO Prepare to check 1998 files.
INFO Populated all files in the workspace, prepare to recheck open files.
INFO Ran task on recheck_queue heavy task queue. Queue time: 1.04, task time: 0.07
INFO Published 0 diagnostics for file:///home/morgan/Development/dev2/src/django/addgene/browse/views/demo.py
INFO Validated open files and committed transaction.
INFO Language server processed event `RecheckFinished` in 0.00s (0.00s waiting)
INFO Language server processed event `LspResponse` in 0.00s (0.00s waiting)
server output:
[Trace - 4:51:03 PM] Sending request 'initialize - (0)'.
Params: {
"processId": 892,
"clientInfo": {
"name": "VSCodium",
"version": "1.107.1"
},
"locale": "en",
"rootPath": "/home/morgan/Development/dev2",
"rootUri": "file:///home/morgan/Development/dev2",
"capabilities": {
"workspace": {
"applyEdit": true,
"workspaceEdit": {
"documentChanges": true,
"resourceOperations": [
"create",
"rename",
"delete"
],
"failureHandling": "textOnlyTransactional",
"normalizesLineEndings": true,
"changeAnnotationSupport": {
"groupsOnLabel": true
}
},
"configuration": true,
"didChangeWatchedFiles": {
"dynamicRegistration": true,
"relativePatternSupport": true
},
"symbol": {
"dynamicRegistration": true,
"symbolKind": {
"valueSet": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26
]
},
"tagSupport": {
"valueSet": [
1
]
},
"resolveSupport": {
"properties": [
"location.range"
]
}
},
"codeLens": {
"refreshSupport": true
},
"executeCommand": {
"dynamicRegistration": true
},
"didChangeConfiguration": {
"dynamicRegistration": true
},
"workspaceFolders": true,
"foldingRange": {
"refreshSupport": true
},
"semanticTokens": {
"refreshSupport": true
},
"fileOperations": {
"dynamicRegistration": true,
"didCreate": true,
"didRename": true,
"didDelete": true,
"willCreate": true,
"willRename": true,
"willDelete": true
},
"inlineValue": {
"refreshSupport": true
},
"inlayHint": {
"refreshSupport": true
},
"diagnostics": {
"refreshSupport": true
}
},
"textDocument": {
"publishDiagnostics": {
"relatedInformation": true,
"versionSupport": false,
"tagSupport": {
"valueSet": [
1,
2
]
},
"codeDescriptionSupport": true,
"dataSupport": true
},
"synchronization": {
"dynamicRegistration": true,
"willSave": true,
"willSaveWaitUntil": true,
"didSave": true
},
"completion": {
"dynamicRegistration": true,
"contextSupport": true,
"completionItem": {
"snippetSupport": true,
"commitCharactersSupport": true,
"documentationFormat": [
"markdown",
"plaintext"
],
"deprecatedSupport": true,
"preselectSupport": true,
"tagSupport": {
"valueSet": [
1
]
},
"insertReplaceSupport": true,
"resolveSupport": {
"properties": [
"documentation",
"detail",
"additionalTextEdits"
]
},
"insertTextModeSupport": {
"valueSet": [
1,
2
]
},
"labelDetailsSupport": true
},
"insertTextMode": 2,
"completionItemKind": {
"valueSet": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25
]
},
"completionList": {
"itemDefaults": [
"commitCharacters",
"editRange",
"insertTextFormat",
"insertTextMode",
"data"
]
}
},
"hover": {
"dynamicRegistration": true,
"contentFormat": [
"markdown",
"plaintext"
]
},
"signatureHelp": {
"dynamicRegistration": true,
"signatureInformation": {
"documentationFormat": [
"markdown",
"plaintext"
],
"parameterInformation": {
"labelOffsetSupport": true
},
"activeParameterSupport": true
},
"contextSupport": true
},
"definition": {
"dynamicRegistration": true,
"linkSupport": true
},
"references": {
"dynamicRegistration": true
},
"documentHighlight": {
"dynamicRegistration": true
},
"documentSymbol": {
"dynamicRegistration": true,
"symbolKind": {
"valueSet": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26
]
},
"hierarchicalDocumentSymbolSupport": true,
"tagSupport": {
"valueSet": [
1
]
},
"labelSupport": true
},
"codeAction": {
"dynamicRegistration": true,
"isPreferredSupport": true,
"disabledSupport": true,
"dataSupport": true,
"resolveSupport": {
"properties": [
"edit"
]
},
"codeActionLiteralSupport": {
"codeActionKind": {
"valueSet": [
"",
"quickfix",
"refactor",
"refactor.extract",
"refactor.inline",
"refactor.rewrite",
"source",
"source.organizeImports"
]
}
},
"honorsChangeAnnotations": true
},
"codeLens": {
"dynamicRegistration": true
},
"formatting": {
"dynamicRegistration": true
},
"rangeFormatting": {
"dynamicRegistration": true,
"rangesSupport": true
},
"onTypeFormatting": {
"dynamicRegistration": true
},
"rename": {
"dynamicRegistration": true,
"prepareSupport": true,
"prepareSupportDefaultBehavior": 1,
"honorsChangeAnnotations": true
},
"documentLink": {
"dynamicRegistration": true,
"tooltipSupport": true
},
"typeDefinition": {
"dynamicRegistration": true,
"linkSupport": true
},
"implementation": {
"dynamicRegistration": true,
"linkSupport": true
},
"colorProvider": {
"dynamicRegistration": true
},
"foldingRange": {
"dynamicRegistration": true,
"rangeLimit": 5000,
"lineFoldingOnly": true,
"foldingRangeKind": {
"valueSet": [
"comment",
"imports",
"region"
]
},
"foldingRange": {
"collapsedText": false
}
},
"declaration": {
"dynamicRegistration": true,
"linkSupport": true
},
"selectionRange": {
"dynamicRegistration": true
},
"callHierarchy": {
"dynamicRegistration": true
},
"semanticTokens": {
"dynamicRegistration": true,
"tokenTypes": [
"namespace",
"type",
"class",
"enum",
"interface",
"struct",
"typeParameter",
"parameter",
"variable",
"property",
"enumMember",
"event",
"function",
"method",
"macro",
"keyword",
"modifier",
"comment",
"string",
"number",
"regexp",
"operator",
"decorator"
],
"tokenModifiers": [
"declaration",
"definition",
"readonly",
"static",
"deprecated",
"abstract",
"async",
"modification",
"documentation",
"defaultLibrary"
],
"formats": [
"relative"
],
"requests": {
"range": true,
"full": {
"delta": true
}
},
"multilineTokenSupport": false,
"overlappingTokenSupport": false,
"serverCancelSupport": true,
"augmentsSyntaxTokens": true
},
"linkedEditingRange": {
"dynamicRegistration": true
},
"typeHierarchy": {
"dynamicRegistration": true
},
"inlineValue": {
"dynamicRegistration": true
},
"inlayHint": {
"dynamicRegistration": true,
"resolveSupport": {
"properties": [
"tooltip",
"textEdits",
"label.tooltip",
"label.location",
"label.command"
]
}
},
"diagnostic": {
"dynamicRegistration": true,
"relatedDocumentSupport": false
}
},
"window": {
"showMessage": {
"messageActionItem": {
"additionalPropertiesSupport": true
}
},
"showDocument": {
"support": true
},
"workDoneProgress": true
},
"general": {
"staleRequestSupport": {
"cancel": true,
"retryOnContentModified": [
"textDocument/semanticTokens/full",
"textDocument/semanticTokens/range",
"textDocument/semanticTokens/full/delta"
]
},
"regularExpressions": {
"engine": "ECMAScript",
"version": "ES2020"
},
"markdown": {
"parser": "marked",
"version": "1.1.0"
},
"positionEncodings": [
"utf-16"
]
},
"notebookDocument": {
"synchronization": {
"dynamicRegistration": true,
"executionSummarySupport": true
}
}
},
"initializationOptions": {
"lspPath": "/home/morgan/.virtualenvs/dev2/bin/pyrefly",
"lspArguments": [
"lsp"
],
"trace": {
"server": "verbose"
},
"commentFoldingRanges": false
},
"trace": "verbose",
"workspaceFolders": [
{
"uri": "file:///home/morgan/Development/dev2",
"name": "dev2"
}
]
}
[Trace - 4:51:03 PM] Received response 'initialize - (0)' in 4ms.
Result: {
"capabilities": {
"callHierarchyProvider": true,
"codeActionProvider": {
"codeActionKinds": [
"quickfix",
"refactor.extract",
"refactor.rewrite",
"refactor.move",
"refactor.inline",
"source.fixAll"
]
},
"completionProvider": {
"resolveProvider": true,
"triggerCharacters": [
".",
"'",
"\""
]
},
"declarationProvider": true,
"definitionProvider": true,
"documentHighlightProvider": true,
"documentSymbolProvider": true,
"foldingRangeProvider": true,
"hoverProvider": true,
"implementationProvider": true,
"inlayHintProvider": true,
"notebookDocumentSync": {
"notebookSelector": [
{
"cells": [
{
"language": "python"
}
]
}
]
},
"positionEncoding": "utf-16",
"referencesProvider": true,
"renameProvider": {
"prepareProvider": true
},
"semanticTokensProvider": {
"full": true,
"legend": {
"tokenModifiers": [
"declaration",
"definition",
"readonly",
"static",
"deprecated",
"abstract",
"async",
"modification",
"documentation",
"defaultLibrary",
"selfParameter"
],
"tokenTypes": [
"namespace",
"type",
"class",
"enum",
"interface",
"struct",
"typeParameter",
"parameter",
"variable",
"property",
"enumMember",
"event",
"function",
"method",
"macro",
"keyword",
"modifier",
"comment",
"string",
"number",
"regexp",
"operator",
"decorator"
]
},
"range": true
},
"signatureHelpProvider": {
"triggerCharacters": [
"(",
","
]
},
"textDocumentSync": 2,
"typeDefinitionProvider": true,
"typeHierarchyProvider": true,
"workspace": {
"fileOperations": {
"willRename": {
"filters": [
{
"pattern": {
"glob": "**/*.{py,pyi}",
"matches": "file"
},
"scheme": "file"
}
]
}
},
"workspaceFolders": {
"changeNotifications": true,
"supported": true
}
},
"workspaceSymbolProvider": true
},
"serverInfo": {
"name": "pyrefly-lsp",
"version": "0.54.0"
}
}
[Trace - 4:51:03 PM] Sending notification 'initialized'.
Params: {}
[Trace - 4:51:03 PM] Sending notification 'textDocument/didOpen'.
Params: {
"textDocument": {
"uri": "file:///home/morgan/Development/dev2/src/django/addgene/browse/views/demo.py",
"languageId": "python",
"version": 3,
"text": "import itertools\nimport operator\nfrom functools import reduce\n\nimport waffle\nfrom django.contrib.auth.decorators import login_required\nfrom django.contrib.auth.models import AnonymousUser, User\nfrom django.core.cache import cache\nfrom django.db.models import Q\nfrom django.shortcuts import render\nfrom django.utils.safestring import mark_safe\n\nfrom addgene.browse.forms import SmartPackingCourierDemoForm\nfrom addgene.browse.models import Catalog_Item, Kit_Item, Service\nfrom addgene.browse.models.catalog_item import Addgene_Status\nfrom addgene.browse.models.viral_vector_packaging_request import (\n ViralVectorPackagingRequest,\n ViralVectorPackagingRequestStatus,\n)\nfrom addgene.common.views import is_staff\nfrom addgene.plasmids.models import PlasmidType\nfrom lims.pricing.forms import CatalogItemPriceDemoForm\nfrom lims.pricing.pricing_group import get_prices_for_catalog_items\n\n\ndef y(a: str | None) -> None:\n return a.upper()\n\nx: str = 1\n\n\n@login_required\ndef demo_cart_to_boxes(request):\n # prevent circular import\n from addgene.shopping.models.bill import Bill # noqa: PLC0415\n\n if waffle.switch_is_active(\"expanded_couriers_enabled\"):\n user = request.user\n # If the user has submitted new Courier options, we'll save those on the Cart and recreate the Bill.\n if request.method == \"POST\":\n smart_packing_courier_demo_form = SmartPackingCourierDemoForm(request.POST)\n\n user.cart.courier_pk_selected_for_environment = {\n environment: smart_packing_courier_demo_form.data[environment]\n for environment in smart_packing_courier_demo_form.changed_data\n }\n user.cart.save()\n else:\n smart_packing_courier_demo_form = SmartPackingCourierDemoForm()\n bill = Bill.from_cart(user)\n smart_packing_courier_demo_form.update_courier_fields(bill)\n\n # We need to make this not a defaultdict so it can be displayed in a template\n for def_dict in bill.courier_cost_by_environment.values():\n def_dict.default_factory = None\n return render(\n request,\n 'browse/demo_cart_to_boxes.html',\n {\n 'boxes': sorted(bill.boxes_from_base_courier, key=lambda box: box.environment.name),\n 'smart_packing_courier_demo_form': smart_packing_courier_demo_form,\n },\n )\n try:\n viral_courier = request.user.cart.chosen_viral_courier if request.user.cart.chosen_viral_courier else None\n except AttributeError:\n viral_courier = None\n\n country = request.user.account.organization.country\n from addgene.ship.packing import PackingAlgorithmRunner # noqa: PLC0415\n\n packing_algorithm = PackingAlgorithmRunner(viral_courier=viral_courier, country=country)\n boxes = packing_algorithm.make_boxes_from_cart(request.user)\n return render(request, 'browse/demo_cart_to_boxes.html', {'boxes': boxes})\n\n\n@login_required\ndef demo_catalog_item_price(request):\n price_by_catalog_item = {}\n if request.method == \"POST\":\n form = CatalogItemPriceDemoForm(request.POST)\n form.is_valid()\n recipient_type = form.cleaned_data['recipient_type']\n distributor = form.cleaned_data['distributor']\n catalog_items = form.cleaned_data['catalog_items']\n\n try:\n price_by_catalog_item = get_prices_for_catalog_items(catalog_items, recipient_type, distributor)\n except Exception as exc: # noqa: BLE001 deferring fix hackathon summer 2023\n form.add_error(None, exc)\n\n # For display purposes, we'll add in the quantity and summed price, to be displayed to the user.\n for catalog_item, price in price_by_catalog_item.items():\n quantity = catalog_items.count(catalog_item)\n price_by_catalog_item[catalog_item] = f\"${price}\"\n if quantity > 1:\n price_by_catalog_item[catalog_item] += f\" * {quantity}: ${price*quantity}\"\n\n else:\n form = CatalogItemPriceDemoForm()\n\n return render(\n request,\n 'browse/demo_catalog_item_price.html',\n {'form': form, 'prices_by_catalog_item': price_by_catalog_item},\n )\n\n\n@is_staff\ndef demo_item_access(request):\n template_name = 'browse/demo_item_access.dj.html'\n if request.GET.get('bs3'):\n template_name = 'browse/demo_item_access.epoch2.dj.html'\n return render(request, template_name, {})\n\n\n@is_staff\ndef demo_item_access_all_combos(request, widget_type=None): # noqa: PLR0915\n\n def _find_test_items():\n available = Catalog_Item.is_available_query()\n rejected = Q(addgene_status=Addgene_Status.id_rejected)\n discontinued = Q(addgene_status=Addgene_Status.id_discontinued)\n industrial = Q(is_industrial=True)\n export_control = Q(material__export_control=True)\n fbs = Q(service__contains_bovine_serum=True)\n virus = Q(service__is_virus=True)\n dna = Q(service__is_dna=True)\n bacteria_units_only = Q(material__plasmid__type=PlasmidType.id_bacterial_strain) | Q(\n material__catalog_item__service=Service.CLASSIC_ID,\n material__catalog_item__kit_item__kit_type__in=(\n Kit_Item.ID_PLATE_KIT,\n Kit_Item.ID_LARGE_PLATE_KIT,\n ),\n )\n item_criteria = (\n (\n ('', available),\n ('Pending', ~(available | rejected | discontinued)),\n ('Rejected', rejected),\n ('Discontinued', discontinued),\n ),\n (\n ('', ~industrial),\n ('Industrial', industrial),\n ),\n (\n ('', ~export_control),\n ('Export control', export_control),\n ),\n (\n ('', ~bacteria_units_only),\n ('Bacteria Units Only', bacteria_units_only),\n ),\n (\n ('', ~fbs),\n ('FBS', fbs),\n ),\n (\n ('', ~virus),\n ('Virus', virus),\n ),\n (\n ('', ~dna),\n ('DNA Item', dna),\n ),\n )\n # criterion will be one element from each tuple in item_criteria\n for criterion in itertools.product(*item_criteria):\n # use the first part of each pair to label this combination of\n # criterion\n item_kind = ', '.join(c[0] for c in criterion if c[0])\n # item must match each Q object (the second part of the pairs in\n # item_criteria)\n q = reduce(operator.iand, (c[1] for c in criterion))\n try:\n item = Catalog_Item.objects.filter(q)[0]\n yield item_kind, item\n except IndexError:\n pass\n # Handle null case special\n yield (mark_safe('<i>NULL item</i>'), None)\n\n def _find_test_users():\n # Handle not-logged-in-case special\n yield (mark_safe('<i>Not Logged In</i>'), AnonymousUser())\n\n industrial = Q(account__organization__is_industrial=True)\n distributor = Q(account__organization__distributor__isnull=False)\n tto = Q(account__is_emta=True)\n virus = Q(account__organization__country__can_order_virus=True)\n bacteria_ok = Q(account__organization__country__bacteria_allowed=True)\n fbs = Q(account__organization__country__bovine_serum_restricted=False)\n unaffiliated = Q(account__organization__isnull=True)\n active = Q(is_active=True)\n has_account = Q(account__isnull=False)\n us = Q(account__organization__country_id='US')\n pr = Q(account__organization__country_id='PR')\n international = ~(us | pr)\n china = Q(account__organization__country_id='CN')\n user_criteria = (\n (\n ('', active),\n ('Inactive', ~active),\n ),\n (\n ('', has_account),\n ('Accountless', ~has_account),\n ),\n (\n ('Unaffiliated', unaffiliated),\n ('', ~unaffiliated),\n ),\n (\n ('', ~china),\n ('China', china),\n ),\n (\n ('', ~distributor),\n ('Distributor', distributor),\n ),\n (\n ('', ~tto),\n ('TTO', tto),\n ),\n (\n ('', ~industrial),\n ('Industrial', industrial),\n ),\n (\n ('Domestic', us),\n ('Domestic: PR', pr),\n ('International', international),\n ),\n (\n ('', bacteria_ok),\n ('No Bacteria', ~bacteria_ok),\n ),\n (\n ('', virus),\n ('No Virus', ~virus),\n ),\n (\n ('', fbs),\n ('No FBS', ~fbs),\n ),\n )\n for criterion in itertools.product(*user_criteria):\n # use the first part of each pair to label this combination of criterion\n user_kind = ', '.join(c[0] for c in criterion if c[0])\n # User must match each Q object (the second part of the pairs in\n # user_criteria)\n q = reduce(operator.iand, (c[1] for c in criterion))\n try:\n user = (User.objects.filter(q))[0]\n yield (user_kind, user)\n except IndexError:\n pass\n # Handle null case special\n yield (mark_safe('<i>NULL user</i>'), None)\n\n widget_types = {\n 'popover': \"Popover Block\",\n 'mini-popover': \"Mini Popover\",\n 'table-cell': \"Table Cell\",\n 'price-table-cell': \"Table Cell, with Price\",\n }\n\n if not widget_type:\n # default to popover if none specified\n widget_type = 'popover'\n vv_por = ViralVectorPackagingRequest.objects.filter(\n status=ViralVectorPackagingRequestStatus.READY_TO_ORDER,\n ).first()\n vv_por_item = None\n vv_por_user = None\n if vv_por:\n vv_por_item = vv_por.catalog_item\n vv_por_user = vv_por.user\n\n demo_item_access_items = cache.get('demo_item_access_items')\n if not demo_item_access_items:\n demo_item_access_items_list = list(_find_test_items())\n # Example for Viral vector packaging request item\n # This is needed because the add to cart button criteria for vv_por needs a viral vector packaging request for\n # a specific user and item.\n # Using the _find_test_items() does not guarantee that the user and catalog item will be for the same\n # viral vector packaging request\n if vv_por_item:\n demo_item_access_items_list.append(('vv_por item', vv_por_item))\n demo_item_access_items = tuple(demo_item_access_items_list)\n cache.set('demo_item_access_items', demo_item_access_items, 60 * 60 * 24)\n\n demo_item_access_users = cache.get('demo_item_access_users')\n if not demo_item_access_users:\n # Example for Viral vector packaging request user\n # This is needed because the add to cart button criteria for vv_por needs a viral vector packaging request for\n # a specific user and item.\n # Using the _find_test_users() does not guarantee that the user and catalog item will be for the same\n # viral vector packaging request\n demo_item_access_users_list = list(_find_test_users())\n if vv_por_user:\n demo_item_access_users_list.append(('vv_por user', vv_por_user))\n demo_item_access_users = tuple(demo_item_access_users_list)\n cache.set('demo_item_access_users', demo_item_access_users, 60 * 60 * 24)\n context = {\n 'widget_types': widget_types,\n 'active_widget_type': widget_type,\n 'widgets_to_display': [widget_type] if widget_type else widget_types,\n # These two functions are generators just for syntactic simplicity.\n # Consume them here to ensure they only run once.\n 'test_items': demo_item_access_items,\n 'test_users': demo_item_access_users,\n }\n return render(request, 'browse/demo_item_access.html', context)\n"
}
}
[Trace - 4:51:03 PM] Received request 'client/registerCapability - (1)'.
Params: {
"registrations": [
{
"id": "FILEWATCHER",
"method": "workspace/didChangeWatchedFiles",
"registerOptions": {
"watchers": [
{
"globPattern": {
"baseUri": "file:///home/morgan/Development/dev2/",
"pattern": "**/*.py"
},
"kind": 7
},
{
"globPattern": {
"baseUri": "file:///home/morgan/Development/dev2/",
"pattern": "**/*.pyi"
},
"kind": 7
},
{
"globPattern": {
"baseUri": "file:///home/morgan/Development/dev2/",
"pattern": "**/*.ipynb"
},
"kind": 7
},
{
"globPattern": {
"baseUri": "file:///home/morgan/Development/dev2/",
"pattern": "**/pyrefly.toml"
},
"kind": 7
},
{
"globPattern": {
"baseUri": "file:///home/morgan/Development/dev2/",
"pattern": "**/pyproject.toml"
},
"kind": 7
}
]
}
}
]
}
[Trace - 4:51:03 PM] Sending response 'client/registerCapability - (1)'. Processing request took 2ms
No result returned.
[Trace - 4:51:03 PM] Received request 'workspace/configuration - (2)'.
Params: {
"items": [
{
"scopeUri": "file:///home/morgan/Development/dev2",
"section": "python"
},
{
"section": "python"
}
]
}
[Trace - 4:51:03 PM] Sending response 'workspace/configuration - (2)'. Processing request took 1ms
Result: [
{
"activeStateToolPath": "state",
"autoComplete": {
"extraPaths": []
},
"createEnvironment": {
"contentButton": "hide",
"trigger": "prompt"
},
"condaPath": "",
"defaultInterpreterPath": "/home/morgan/.virtualenvs/dev2",
"envFile": "${workspaceFolder}/.env",
"useEnvironmentsExtension": false,
"experiments": {
"enabled": true,
"optInto": [],
"optOutFrom": []
},
"globalModuleInstallation": false,
"languageServer": "None",
"interpreter": {
"infoVisibility": "onPythonRelated"
},
"logging": {
"level": "error"
},
"missingPackage": {
"severity": "Hint"
},
"locator": "js",
"pipenvPath": "pipenv",
"poetryPath": "poetry",
"pixiToolPath": "pixi",
"terminal": {
"activateEnvInCurrentTerminal": false,
"activateEnvironment": true,
"executeInFileDir": false,
"focusAfterLaunch": false,
"launchArgs": [],
"shellIntegration": {
"enabled": true
},
"useEnvFile": false
},
"REPL": {
"enableREPLSmartSend": true,
"sendToNativeREPL": false,
"provideVariables": true
},
"testing": {
"autoTestDiscoverOnSaveEnabled": true,
"autoTestDiscoverOnSavePattern": "**/*.py",
"cwd": null,
"debugPort": 3000,
"promptToConfigure": true,
"pytestArgs": [],
"pytestEnabled": false,
"pytestPath": "pytest",
"unittestArgs": [
"-v",
"-s",
".",
"-p",
"*test*.py"
],
"unittestEnabled": false
},
"venvFolders": [],
"venvPath": "",
"pyrefly": {
"disableLanguageServices": false,
"displayTypeErrors": "default",
"disabledLanguageServices": {},
"syncNotebooks": true,
"streamDiagnostics": true,
"diagnosticMode": "openFilesOnly"
},
"analysis": {
"showHoverGoToLinks": true,
"completeFunctionParens": false
},
"pythonPath": "/home/morgan/.virtualenvs/dev2/bin/python"
},
{
"activeStateToolPath": "state",
"autoComplete": {
"extraPaths": []
},
"createEnvironment": {
"contentButton": "hide",
"trigger": "prompt"
},
"condaPath": "",
"defaultInterpreterPath": "/home/morgan/.virtualenvs/dev2",
"envFile": "${workspaceFolder}/.env",
"useEnvironmentsExtension": false,
"experiments": {
"enabled": true,
"optInto": [],
"optOutFrom": []
},
"globalModuleInstallation": false,
"languageServer": "None",
"interpreter": {
"infoVisibility": "onPythonRelated"
},
"logging": {
"level": "error"
},
"missingPackage": {
"severity": "Hint"
},
"locator": "js",
"pipenvPath": "pipenv",
"poetryPath": "poetry",
"pixiToolPath": "pixi",
"terminal": {
"activateEnvInCurrentTerminal": false,
"activateEnvironment": true,
"executeInFileDir": false,
"focusAfterLaunch": false,
"launchArgs": [],
"shellIntegration": {
"enabled": true
},
"useEnvFile": false
},
"REPL": {
"enableREPLSmartSend": true,
"sendToNativeREPL": false,
"provideVariables": true
},
"testing": {
"autoTestDiscoverOnSaveEnabled": true,
"autoTestDiscoverOnSavePattern": "**/*.py",
"cwd": null,
"debugPort": 3000,
"promptToConfigure": true,
"pytestArgs": [],
"pytestEnabled": false,
"pytestPath": "pytest",
"unittestArgs": [
"-v",
"-s",
".",
"-p",
"*test*.py"
],
"unittestEnabled": false
},
"venvFolders": [],
"venvPath": "",
"pyrefly": {
"disableLanguageServices": false,
"displayTypeErrors": "default",
"disabledLanguageServices": {},
"syncNotebooks": true,
"streamDiagnostics": true,
"diagnosticMode": "openFilesOnly"
},
"analysis": {
"showHoverGoToLinks": true,
"completeFunctionParens": false
},
"pythonPath": "/home/morgan/.virtualenvs/dev2/bin/python"
}
]
[Trace - 4:51:03 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
"diagnostics": [],
"uri": "file:///home/morgan/Development/dev2/src/django/addgene/browse/views/demo.py",
"version": 3
}
[Trace - 4:51:03 PM] Received request 'workspace/semanticTokens/refresh - (3)'.
[Trace - 4:51:03 PM] Sending response 'workspace/semanticTokens/refresh - (3)'. Processing request took 0ms
No result returned.
[Trace - 4:51:03 PM] Received request 'client/registerCapability - (4)'.
Params: {
"registrations": [
{
"id": "FILEWATCHER",
"method": "workspace/didChangeWatchedFiles",
"registerOptions": {
"watchers": [
{
"globPattern": {
"baseUri": "file:///home/morgan/Development/dev2/src/",
"pattern": "**/*.py"
},
"kind": 7
},
{
"globPattern": {
"baseUri": "file:///home/morgan/Development/dev2/src/",
"pattern": "**/*.pyi"
},
"kind": 7
},
{
"globPattern": {
"baseUri": "file:///home/morgan/Development/dev2/src/",
"pattern": "**/*.ipynb"
},
"kind": 7
},
{
"globPattern": {
"baseUri": "file:///home/morgan/Development/dev2/src/",
"pattern": "**/*.pyc"
},
"kind": 7
},
{
"globPattern": {
"baseUri": "file:///home/morgan/Development/dev2/src/",
"pattern": "**/*.pyx"
},
"kind": 7
},
{
"globPattern": {
"baseUri": "file:///home/morgan/Development/dev2/src/",
"pattern": "**/*.pyd"
},
"kind": 7
},
{
"globPattern": {
"baseUri": "file:///app/lib/python3.13/site-packages/",
"pattern": "**/*.py"
},
"kind": 7
},
{
"globPattern": {
"baseUri": "file:///app/lib/python3.13/site-packages/",
"pattern": "**/*.pyi"
},
"kind": 7
},
{
"globPattern": {
"baseUri": "file:///app/lib/python3.13/site-packages/",
"pattern": "**/*.ipynb"
},
"kind": 7
},
{
"globPattern": {
"baseUri": "file:///app/lib/python3.13/site-packages/",
"pattern": "**/*.pyc"
},
"kind": 7
},
{
"globPattern": {
"baseUri": "file:///app/lib/python3.13/site-packages/",
"pattern": "**/*.pyx"
},
"kind": 7
},
{
"globPattern": {
"baseUri": "file:///app/lib/python3.13/site-packages/",
"pattern": "**/*.pyd"
},
"kind": 7
}
]
}
}
]
}
[Trace - 4:51:03 PM] Sending response 'client/registerCapability - (4)'. Processing request took 3ms
No result returned.
[Trace - 4:51:03 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
"diagnostics": [],
"uri": "file:///home/morgan/Development/dev2/src/django/addgene/browse/views/demo.py",
"version": 3
}
[Trace - 4:51:03 PM] Received request 'workspace/semanticTokens/refresh - (5)'.
[Trace - 4:51:03 PM] Sending response 'workspace/semanticTokens/refresh - (5)'. Processing request took 0ms
No result returned.
[Trace - 4:51:04 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
"diagnostics": [],
"uri": "file:///home/morgan/Development/dev2/src/django/addgene/browse/views/demo.py",
"version": 3
}
[Trace - 4:51:04 PM] Received request 'workspace/semanticTokens/refresh - (6)'.
[Trace - 4:51:04 PM] Sending response 'workspace/semanticTokens/refresh - (6)'. Processing request took 0ms
No result returned.
[Trace - 4:51:04 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
"diagnostics": [],
"uri": "file:///home/morgan/Development/dev2/src/django/addgene/browse/views/demo.py",
"version": 3
}
[Trace - 4:51:04 PM] Received request 'workspace/semanticTokens/refresh - (7)'.
[Trace - 4:51:04 PM] Sending response 'workspace/semanticTokens/refresh - (7)'. Processing request took 0ms
No result returned.
terminal output with a manual invocation of the pyrefly executable
(dev2) sh-5.3$ pyrefly check src/django/addgene/browse/views/demo.py
ERROR Cannot find module `waffle` [missing-import]
--> src/django/addgene/browse/views/demo.py:5:8
|
5 | import waffle
| ^^^^^^
|
Looked in these locations (from default config for project root marked by `/home/morgan/Development/dev2/pyproject.toml`):
Import root (inferred from project layout): "/home/morgan/Development/dev2/src"
Site package path queried from interpreter: ["/app/lib/python3.13/site-packages"]
ERROR Cannot find module `django.contrib.auth.decorators` [missing-import]
--> src/django/addgene/browse/views/demo.py:6:1
|
6 | from django.contrib.auth.decorators import login_required
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from default config for project root marked by `/home/morgan/Development/dev2/pyproject.toml`):
Import root (inferred from project layout): "/home/morgan/Development/dev2/src"
Site package path queried from interpreter: ["/app/lib/python3.13/site-packages"]
ERROR Cannot find module `django.contrib.auth.models` [missing-import]
--> src/django/addgene/browse/views/demo.py:7:1
|
7 | from django.contrib.auth.models import AnonymousUser, User
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from default config for project root marked by `/home/morgan/Development/dev2/pyproject.toml`):
Import root (inferred from project layout): "/home/morgan/Development/dev2/src"
Site package path queried from interpreter: ["/app/lib/python3.13/site-packages"]
ERROR Cannot find module `django.core.cache` [missing-import]
--> src/django/addgene/browse/views/demo.py:8:1
|
8 | from django.core.cache import cache
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from default config for project root marked by `/home/morgan/Development/dev2/pyproject.toml`):
Import root (inferred from project layout): "/home/morgan/Development/dev2/src"
Site package path queried from interpreter: ["/app/lib/python3.13/site-packages"]
ERROR Cannot find module `django.db.models` [missing-import]
--> src/django/addgene/browse/views/demo.py:9:1
|
9 | from django.db.models import Q
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from default config for project root marked by `/home/morgan/Development/dev2/pyproject.toml`):
Import root (inferred from project layout): "/home/morgan/Development/dev2/src"
Site package path queried from interpreter: ["/app/lib/python3.13/site-packages"]
ERROR Cannot find module `django.shortcuts` [missing-import]
--> src/django/addgene/browse/views/demo.py:10:1
|
10 | from django.shortcuts import render
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from default config for project root marked by `/home/morgan/Development/dev2/pyproject.toml`):
Import root (inferred from project layout): "/home/morgan/Development/dev2/src"
Site package path queried from interpreter: ["/app/lib/python3.13/site-packages"]
ERROR Cannot find module `django.utils.safestring` [missing-import]
--> src/django/addgene/browse/views/demo.py:11:1
|
11 | from django.utils.safestring import mark_safe
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from default config for project root marked by `/home/morgan/Development/dev2/pyproject.toml`):
Import root (inferred from project layout): "/home/morgan/Development/dev2/src"
Site package path queried from interpreter: ["/app/lib/python3.13/site-packages"]
ERROR Cannot find module `addgene.browse.forms` [missing-import]
--> src/django/addgene/browse/views/demo.py:13:1
|
13 | from addgene.browse.forms import SmartPackingCourierDemoForm
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from default config for project root marked by `/home/morgan/Development/dev2/pyproject.toml`):
Import root (inferred from project layout): "/home/morgan/Development/dev2/src"
Site package path queried from interpreter: ["/app/lib/python3.13/site-packages"]
ERROR Cannot find module `addgene.browse.models` [missing-import]
--> src/django/addgene/browse/views/demo.py:14:1
|
14 | from addgene.browse.models import Catalog_Item, Kit_Item, Service
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from default config for project root marked by `/home/morgan/Development/dev2/pyproject.toml`):
Import root (inferred from project layout): "/home/morgan/Development/dev2/src"
Site package path queried from interpreter: ["/app/lib/python3.13/site-packages"]
ERROR Cannot find module `addgene.browse.models.catalog_item` [missing-import]
--> src/django/addgene/browse/views/demo.py:15:1
|
15 | from addgene.browse.models.catalog_item import Addgene_Status
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from default config for project root marked by `/home/morgan/Development/dev2/pyproject.toml`):
Import root (inferred from project layout): "/home/morgan/Development/dev2/src"
Site package path queried from interpreter: ["/app/lib/python3.13/site-packages"]
ERROR Cannot find module `addgene.browse.models.viral_vector_packaging_request` [missing-import]
--> src/django/addgene/browse/views/demo.py:16:1
|
16 | / from addgene.browse.models.viral_vector_packaging_request import (
17 | | ViralVectorPackagingRequest,
18 | | ViralVectorPackagingRequestStatus,
19 | | )
| |_^
|
Looked in these locations (from default config for project root marked by `/home/morgan/Development/dev2/pyproject.toml`):
Import root (inferred from project layout): "/home/morgan/Development/dev2/src"
Site package path queried from interpreter: ["/app/lib/python3.13/site-packages"]
ERROR Cannot find module `addgene.common.views` [missing-import]
--> src/django/addgene/browse/views/demo.py:20:1
|
20 | from addgene.common.views import is_staff
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from default config for project root marked by `/home/morgan/Development/dev2/pyproject.toml`):
Import root (inferred from project layout): "/home/morgan/Development/dev2/src"
Site package path queried from interpreter: ["/app/lib/python3.13/site-packages"]
ERROR Cannot find module `addgene.plasmids.models` [missing-import]
--> src/django/addgene/browse/views/demo.py:21:1
|
21 | from addgene.plasmids.models import PlasmidType
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from default config for project root marked by `/home/morgan/Development/dev2/pyproject.toml`):
Import root (inferred from project layout): "/home/morgan/Development/dev2/src"
Site package path queried from interpreter: ["/app/lib/python3.13/site-packages"]
ERROR Cannot find module `lims.pricing.forms` [missing-import]
--> src/django/addgene/browse/views/demo.py:22:1
|
22 | from lims.pricing.forms import CatalogItemPriceDemoForm
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from default config for project root marked by `/home/morgan/Development/dev2/pyproject.toml`):
Import root (inferred from project layout): "/home/morgan/Development/dev2/src"
Site package path queried from interpreter: ["/app/lib/python3.13/site-packages"]
ERROR Cannot find module `lims.pricing.pricing_group` [missing-import]
--> src/django/addgene/browse/views/demo.py:23:1
|
23 | from lims.pricing.pricing_group import get_prices_for_catalog_items
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from default config for project root marked by `/home/morgan/Development/dev2/pyproject.toml`):
Import root (inferred from project layout): "/home/morgan/Development/dev2/src"
Site package path queried from interpreter: ["/app/lib/python3.13/site-packages"]
ERROR Object of class `NoneType` has no attribute `upper` [missing-attribute]
--> src/django/addgene/browse/views/demo.py:27:12
|
27 | return a.upper()
| ^^^^^^^
|
ERROR `Literal[1]` is not assignable to `str` [bad-assignment]
--> src/django/addgene/browse/views/demo.py:29:10
|
29 | x: str = 1
| ^
|
ERROR Cannot find module `addgene.shopping.models.bill` [missing-import]
--> src/django/addgene/browse/views/demo.py:35:5
|
35 | from addgene.shopping.models.bill import Bill # noqa: PLC0415
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from default config for project root marked by `/home/morgan/Development/dev2/pyproject.toml`):
Import root (inferred from project layout): "/home/morgan/Development/dev2/src"
Site package path queried from interpreter: ["/app/lib/python3.13/site-packages"]
ERROR Cannot find module `addgene.ship.packing` [missing-import]
--> src/django/addgene/browse/views/demo.py:70:5
|
70 | from addgene.ship.packing import PackingAlgorithmRunner # noqa: PLC0415
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Looked in these locations (from default config for project root marked by `/home/morgan/Development/dev2/pyproject.toml`):
Import root (inferred from project layout): "/home/morgan/Development/dev2/src"
Site package path queried from interpreter: ["/app/lib/python3.13/site-packages"]
ERROR Unary `~` is not supported on `type[Any]` [unsupported-operation]
--> src/django/addgene/browse/views/demo.py:139:29
|
139 | ('Pending', ~(available | rejected | discontinued)),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
ERROR Unary `~` is not supported on `type[Any]` [unsupported-operation]
--> src/django/addgene/browse/views/demo.py:152:22
|
152 | ('', ~bacteria_units_only),
| ^^^^^^^^^^^^^^^^^^^^
|
ERROR Unary `~` is not supported on `type[Any]` [unsupported-operation]
--> src/django/addgene/browse/views/demo.py:199:25
|
199 | international = ~(us | pr)
| ^^^^^^^^^^
|
INFO 22 errors
(dev2) sh-5.3$
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
questionFurther information is requestedFurther information is requested