René's URL Explorer Experiment


Title: Fatal crash on `usethis tool import-linter` for empty `src` dir · Issue #1226 · usethis-python/usethis-python · GitHub

Open Graph Title: Fatal crash on `usethis tool import-linter` for empty `src` dir · Issue #1226 · usethis-python/usethis-python

X Title: Fatal crash on `usethis tool import-linter` for empty `src` dir · Issue #1226 · usethis-python/usethis-python

Description: for https://github.com/pypest/pyemu/tree/migrate_uv/pyemu Details uvx usethis tool import-linter ✔ Adding dependency 'import-linter' to the 'dev' group in 'pyproject.toml'. ⚠ Could not find any importable packages. ⚠ Assuming the package...

Open Graph Description: for https://github.com/pypest/pyemu/tree/migrate_uv/pyemu Details uvx usethis tool import-linter ✔ Adding dependency 'import-linter' to the 'dev' group in 'pyproject.toml'. ⚠ Could not find any imp...

X Description: for https://github.com/pypest/pyemu/tree/migrate_uv/pyemu Details uvx usethis tool import-linter ✔ Adding dependency 'import-linter' to the 'dev' group in 'pyproject.toml'. ...

Opengraph URL: https://github.com/usethis-python/usethis-python/issues/1226

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Fatal crash on `usethis tool import-linter` for empty `src` dir","articleBody":"for https://github.com/pypest/pyemu/tree/migrate_uv/pyemu\n\n\u003cdetails\u003e\n\n```\nuvx usethis tool import-linter                                                                                                  \n✔ Adding dependency 'import-linter' to the 'dev' group in 'pyproject.toml'.                                                                                                  \n⚠ Could not find any importable packages.\n⚠ Assuming the package name is pyemu.\n╭──────────────────────────────────────────────────────────────────── Traceback (most recent call last) ────────────────────────────────────────────────────────────────────╮\n│ C:\\Users\\namc\\AppData\\Local\\uv\\cache\\archive-v0\\w6T56ykrY7K3wv_iBpmjD\\Lib\\site-packages\\usethis\\_ui\\interface\\tool.py:136 in import_linter                                │\n│                                                                                                                                                                           │\n│   133 │   │   ),                                                                               ╭─────────────── locals ───────────────╮                                   │\n│   134 │   │   files_manager(),                                                                 │ backend = \u003cBackendEnum.auto: 'auto'\u003e │                                   │\n│   135 │   ):                                                                                   │  frozen = False                      │                                   │\n│ ❱ 136 │   │   _run_tool(use_import_linter, remove=remove, how=how)                             │     how = False                      │                                   │\n│   137                                                                                          │ offline = False                      │                                   │\n│   138                                                                                          │   quiet = False                      │                                   │\n│   139 @app.command(                                                                            │  remove = False                      │                                   │\n│                                                                                                ╰──────────────────────────────────────╯                                   │\n│                                                                                                                                                                           │\n│ C:\\Users\\namc\\AppData\\Local\\uv\\cache\\archive-v0\\w6T56ykrY7K3wv_iBpmjD\\Lib\\site-packages\\usethis\\_ui\\interface\\tool.py:339 in _run_tool                                    │\n│                                                                                                                                                                           │\n│   336 │   from usethis.errors import UsethisError                                              ╭──── locals ────╮                                                         │\n│   337 │                                                                                        │    how = False │                                                         │\n│   338 │   try:                                                                                 │ kwargs = {}    │                                                         │\n│ ❱ 339 │   │   caller(remove=remove, how=how, **kwargs)                                         │ remove = False │                                                         │\n│   340 │   except UsethisError as err:                                                          ╰────────────────╯                                                         │\n│   341 │   │   err_print(err)                                                                                                                                              │\n│   342 │   │   raise typer.Exit(code=1) from None                                                                                                                          │\n│                                                                                                                                                                           │\n│ C:\\Users\\namc\\AppData\\Local\\uv\\cache\\archive-v0\\w6T56ykrY7K3wv_iBpmjD\\Lib\\site-packages\\usethis\\_core\\tool.py:143 in use_import_linter                                    │\n│                                                                                                                                                                           │\n│   140 │   │   ensure_dep_declaration_file()                                                                                                                               │\n│   141 │   │                                                                                                                                                               │\n│   142 │   │   tool.add_dev_deps()                                                                                                                                         │\n│ ❱ 143 │   │   tool.add_configs()                                                                                                                                          │\n│   144 │   │   if RuffTool().is_used():                                                                                                                                    │\n│   145 │   │   │   RuffTool().apply_rule_config(rule_config)                                                                                                               │\n│   146 │   │   if PreCommitTool().is_used():                                                                                                                               │\n│                                                                                                                                                                           │\n│ ╭─────────────────────────────────────────────────────────────── locals ───────────────────────────────────────────────────────────────╮                                  │\n│ │         how = False                                                                                                                  │                                  │\n│ │      remove = False                                                                                                                  │                                  │\n│ │ rule_config = RuleConfig(selected=[], ignored=[], unmanaged_selected=['INP'], unmanaged_ignored=[], tests_unmanaged_ignored=['INP']) │                                  │\n│ │        tool = \u003cusethis._tool.impl.import_linter.ImportLinterTool object at 0x00000151BFACEFD0\u003e                                       │                                  │\n│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯                                  │\n│                                                                                                                                                                           │\n│ C:\\Users\\namc\\AppData\\Local\\uv\\cache\\archive-v0\\w6T56ykrY7K3wv_iBpmjD\\Lib\\site-packages\\usethis\\_tool\\base.py:421 in add_configs                                          │\n│                                                                                                                                                                           │\n│   418 │   │   # In practice, the most common resolution method is \"first\", in which case there                                                                            │\n│   419 │   │   # is only ever one active file; so principles #2 and #3 are not relevant.                                                                                   │\n│   420 │   │                                                                                                                                                               │\n│ ❱ 421 │   │   active_config_file_managers = self.get_active_config_file_managers()                                                                                        │\n│   422 │   │                                                                                                                                                               │\n│   423 │   │   already_added = False  # Only print messages for the first added config item.                                                                               │\n│   424 │   │   for config_item in self.get_config_spec().config_items:                                                                                                     │\n│                                                                                                                                                                           │\n│ ╭──────────────────────────────────────── locals ─────────────────────────────────────────╮                                                                               │\n│ │ self = \u003cusethis._tool.impl.import_linter.ImportLinterTool object at 0x00000151BFACEFD0\u003e │                                                                               │\n│ ╰─────────────────────────────────────────────────────────────────────────────────────────╯                                                                               │\n│                                                                                                                                                                           │\n│ C:\\Users\\namc\\AppData\\Local\\uv\\cache\\archive-v0\\w6T56ykrY7K3wv_iBpmjD\\Lib\\site-packages\\usethis\\_tool\\base.py:322 in get_active_config_file_managers                      │\n│                                                                                                                                                                           │\n│   319 │                                                                                                                                                                   │\n│   320 │   def get_active_config_file_managers(self) -\u003e set[KeyValueFileManager]:                                                                                          │\n│   321 │   │   \"\"\"Get relative paths to all active configuration files.\"\"\"                                                                                                 │\n│ ❱ 322 │   │   config_spec = self.get_config_spec()                                                                                                                        │\n│   323 │   │   resolution = config_spec.resolution                                                                                                                         │\n│   324 │   │   return self._get_active_config_file_managers_from_resolution(                                                                                               │\n│   325 │   │   │   resolution,                                                                                                                                             │\n│                                                                                                                                                                           │\n│ ╭──────────────────────────────────────── locals ─────────────────────────────────────────╮                                                                               │\n│ │ self = \u003cusethis._tool.impl.import_linter.ImportLinterTool object at 0x00000151BFACEFD0\u003e │                                                                               │\n│ ╰─────────────────────────────────────────────────────────────────────────────────────────╯                                                                               │\n│                                                                                                                                                                           │\n│ C:\\Users\\namc\\AppData\\Local\\uv\\cache\\archive-v0\\w6T56ykrY7K3wv_iBpmjD\\Lib\\site-packages\\usethis\\_tool\\impl\\import_linter.py:162 in get_config_spec                        │\n│                                                                                                                                                                           │\n│   159 │   │   │   │   contracts.append(contract)                                                                                                                          │\n│   160 │   │                                                                                                                                                               │\n│   161 │   │   if not contracts:                                                                                                                                           │\n│ ❱ 162 │   │   │   raise AssertionError                                                                                                                                    │\n│   163 │   │                                                                                                                                                               │\n│   164 │   │   def get_root_packages() -\u003e list[str] | NoConfigValue:                                                                                                       │\n│   165 │   │   │   # There are two configuration items which are very similar:                                                                                             │\n│                                                                                                                                                                           │\n│ ╭───────────────────────────────────────────────────────────── locals ──────────────────────────────────────────────────────────────╮                                     │\n│ │                                      contracts = []                                                                               │                                     │\n│ │                 layered_architecture_by_module = {}                                                                               │                                     │\n│ │ layered_architecture_by_module_by_root_package = {'pyemu': {}}                                                                    │                                     │\n│ │                                      min_depth = 0                                                                                │                                     │\n│ │                                           self = \u003cusethis._tool.impl.import_linter.ImportLinterTool object at 0x00000151BFACEFD0\u003e │                                     │\n│ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯                                     │\n╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\nAssertionError\n```\n\n\u003c/details\u003e","author":{"url":"https://github.com/nathanjmcdougall","@type":"Person","name":"nathanjmcdougall"},"datePublished":"2025-12-23T05:31:12.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/1226/usethis-python/issues/1226"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:cbfb0284-c210-4e9f-d0aa-8e34c19649e0
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-id80AC:1E311A:36BDB1:4E2D4B:6A4C9F0D
html-safe-noncecfa487732c1cb00cecaf74c0543ee6e971d8bdf792b59421dcece0f18152917c
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4MEFDOjFFMzExQTozNkJEQjE6NEUyRDRCOjZBNEM5RjBEIiwidmlzaXRvcl9pZCI6Ijg3Nzc1Mjc3MjcyMDY3MzU2MjkiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac3aa3298150494c2f313834ac8786d8ed05f94ab1bddd1d2ce9b4f01b461c0510
hovercard-subject-tagissue:3756103554
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/usethis-python/usethis-python/1226/issue_layout
twitter:imagehttps://opengraph.githubassets.com/faf6cc5be07513573534587d257721956352b877af426a68a39d7649d2e0f1b2/usethis-python/usethis-python/issues/1226
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/faf6cc5be07513573534587d257721956352b877af426a68a39d7649d2e0f1b2/usethis-python/usethis-python/issues/1226
og:image:altfor https://github.com/pypest/pyemu/tree/migrate_uv/pyemu Details uvx usethis tool import-linter ✔ Adding dependency 'import-linter' to the 'dev' group in 'pyproject.toml'. ⚠ Could not find any imp...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamenathanjmcdougall
hostnamegithub.com
expected-hostnamegithub.com
None3d11bb817438277de2a940854450e83a7d32b6aeb5014e9e6b00a6423900251c
turbo-cache-controlno-preview
go-importgithub.com/usethis-python/usethis-python git https://github.com/usethis-python/usethis-python.git
octolytics-dimension-user_id216362695
octolytics-dimension-user_loginusethis-python
octolytics-dimension-repository_id842189705
octolytics-dimension-repository_nwousethis-python/usethis-python
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id842189705
octolytics-dimension-repository_network_root_nwousethis-python/usethis-python
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releaseae90d426644ca15e89bacceb72e51f4e9dbf85f7
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/usethis-python/usethis-python/issues/1226#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fusethis-python%2Fusethis-python%2Fissues%2F1226
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fusethis-python%2Fusethis-python%2Fissues%2F1226
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=usethis-python%2Fusethis-python
Reloadhttps://github.com/usethis-python/usethis-python/issues/1226
Reloadhttps://github.com/usethis-python/usethis-python/issues/1226
Reloadhttps://github.com/usethis-python/usethis-python/issues/1226
Please reload this pagehttps://github.com/usethis-python/usethis-python/issues/1226
usethis-python https://github.com/usethis-python
usethis-pythonhttps://github.com/usethis-python/usethis-python
Notifications https://github.com/login?return_to=%2Fusethis-python%2Fusethis-python
Fork 5 https://github.com/login?return_to=%2Fusethis-python%2Fusethis-python
Star 19 https://github.com/login?return_to=%2Fusethis-python%2Fusethis-python
Code https://github.com/usethis-python/usethis-python
Issues 163 https://github.com/usethis-python/usethis-python/issues
Pull requests 4 https://github.com/usethis-python/usethis-python/pulls
Actions https://github.com/usethis-python/usethis-python/actions
Security and quality 0 https://github.com/usethis-python/usethis-python/security
Insights https://github.com/usethis-python/usethis-python/pulse
Code https://github.com/usethis-python/usethis-python
Issues https://github.com/usethis-python/usethis-python/issues
Pull requests https://github.com/usethis-python/usethis-python/pulls
Actions https://github.com/usethis-python/usethis-python/actions
Security and quality https://github.com/usethis-python/usethis-python/security
Insights https://github.com/usethis-python/usethis-python/pulse
#1227https://github.com/usethis-python/usethis-python/pull/1227
Fatal crash on usethis tool import-linter for empty src dirhttps://github.com/usethis-python/usethis-python/issues/1226#top
#1227https://github.com/usethis-python/usethis-python/pull/1227
https://github.com/nathanjmcdougall
bugSomething isn't workinghttps://github.com/usethis-python/usethis-python/issues?q=state%3Aopen%20label%3A%22bug%22
https://github.com/nathanjmcdougall
nathanjmcdougallhttps://github.com/nathanjmcdougall
on Dec 23, 2025https://github.com/usethis-python/usethis-python/issues/1226#issue-3756103554
https://github.com/pypest/pyemu/tree/migrate_uv/pyemuhttps://github.com/pypest/pyemu/tree/migrate_uv/pyemu
nathanjmcdougallhttps://github.com/nathanjmcdougall
bugSomething isn't workinghttps://github.com/usethis-python/usethis-python/issues?q=state%3Aopen%20label%3A%22bug%22
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.