Title: Consider an architectural distinction between aspects inherent to a tool versus aspects varying by repo · Issue #1315 · usethis-python/usethis-python · GitHub
Open Graph Title: Consider an architectural distinction between aspects inherent to a tool versus aspects varying by repo · Issue #1315 · usethis-python/usethis-python
X Title: Consider an architectural distinction between aspects inherent to a tool versus aspects varying by repo · Issue #1315 · usethis-python/usethis-python
Description: There's an import cycle thing going on between coveragepy and pytest. Both use the presence of each other to modify their behaviour as tools when adding their config etc. But trying to break import cycles (#1311) will require a cleaner d...
Open Graph Description: There's an import cycle thing going on between coveragepy and pytest. Both use the presence of each other to modify their behaviour as tools when adding their config etc. But trying to break import...
X Description: There's an import cycle thing going on between coveragepy and pytest. Both use the presence of each other to modify their behaviour as tools when adding their config etc. But trying to break im...
Opengraph URL: https://github.com/usethis-python/usethis-python/issues/1315
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Consider an architectural distinction between aspects inherent to a tool versus aspects varying by repo","articleBody":"There's an import cycle thing going on between coveragepy and pytest. Both use the presence of each other to modify their behaviour as tools when adding their config etc.\n\nBut trying to break import cycles (#1311) will require a cleaner dependency relationship. I've thought about the options but one to consider is to try and be more deliberate about keeping separate book-keeping for which class attributes of tools are allowed to read files/config etc. versus others which should never change (e.g. the name of the tool).\n\nPerhaps ToolMeta is needed, since it gives us the metadata about the tool. This would be an attribute of the tool itself.","author":{"url":"https://github.com/nathanjmcdougall","@type":"Person","name":"nathanjmcdougall"},"datePublished":"2026-02-25T08:12:34.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/1315/usethis-python/issues/1315"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:3ff49e20-ecdd-9506-bb09-c15aa58e1fd3 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | C5B0:2D2253:ABA3FF:F0CF9D:6A4C9F05 |
| html-safe-nonce | 34ad0aa7cc23780b8ce0bc84e54c5a837f113be3db7a0e0c36ea7d6155cd7d25 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDNUIwOjJEMjI1MzpBQkEzRkY6RjBDRjlEOjZBNEM5RjA1IiwidmlzaXRvcl9pZCI6IjU1OTc5NjI4MDIzMjI3NzU4MTMiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 9795cf74f751f427298f0809ddc822c451e03123295e1717f8692bfd7c4a8943 |
| hovercard-subject-tag | issue:3987885457 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/usethis-python/usethis-python/1315/issue_layout |
| twitter:image | https://opengraph.githubassets.com/1a988ca0e67cb17fc89b742cdf5f6905ef0cea45fc0bd00f0f4c7dc26975ea62/usethis-python/usethis-python/issues/1315 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/1a988ca0e67cb17fc89b742cdf5f6905ef0cea45fc0bd00f0f4c7dc26975ea62/usethis-python/usethis-python/issues/1315 |
| og:image:alt | There's an import cycle thing going on between coveragepy and pytest. Both use the presence of each other to modify their behaviour as tools when adding their config etc. But trying to break import... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | nathanjmcdougall |
| hostname | github.com |
| expected-hostname | github.com |
| None | 3d11bb817438277de2a940854450e83a7d32b6aeb5014e9e6b00a6423900251c |
| turbo-cache-control | no-preview |
| go-import | github.com/usethis-python/usethis-python git https://github.com/usethis-python/usethis-python.git |
| octolytics-dimension-user_id | 216362695 |
| octolytics-dimension-user_login | usethis-python |
| octolytics-dimension-repository_id | 842189705 |
| octolytics-dimension-repository_nwo | usethis-python/usethis-python |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 842189705 |
| octolytics-dimension-repository_network_root_nwo | usethis-python/usethis-python |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | ae90d426644ca15e89bacceb72e51f4e9dbf85f7 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width