codedoctor 0.1.0__tar.gz → 0.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. codedoctor-0.1.2/.gitignore +295 -0
  2. codedoctor-0.1.2/.pre-commit-config.yaml +468 -0
  3. codedoctor-0.1.2/AI_POLICY.md +13 -0
  4. codedoctor-0.1.2/CHANGELOG.md +15 -0
  5. codedoctor-0.1.2/CODE_OF_CONDUCT.md +25 -0
  6. codedoctor-0.1.2/CONTRIBUTING.md +45 -0
  7. codedoctor-0.1.2/LICENSE +201 -0
  8. codedoctor-0.1.2/PKG-INFO +114 -0
  9. codedoctor-0.1.2/README.md +77 -0
  10. codedoctor-0.1.2/RELEASING.md +80 -0
  11. codedoctor-0.1.2/SECURITY.md +39 -0
  12. codedoctor-0.1.2/codedoctor/__init__.py +1 -0
  13. codedoctor-0.1.2/codedoctor/affected/__init__.py +1 -0
  14. codedoctor-0.1.2/codedoctor/affected/__main__.py +17 -0
  15. codedoctor-0.1.2/codedoctor/affected/affected.py +903 -0
  16. codedoctor-0.1.2/codedoctor/affected/affected_test.py +2142 -0
  17. codedoctor-0.1.2/codedoctor/affected/codegraph_sync.py +111 -0
  18. codedoctor-0.1.2/codedoctor/affected/codegraph_sync_test.py +151 -0
  19. codedoctor-0.1.2/codedoctor/assert_isinstance/__init__.py +1 -0
  20. codedoctor-0.1.2/codedoctor/assert_isinstance/__main__.py +17 -0
  21. codedoctor-0.1.2/codedoctor/assert_isinstance/unnecessary_assert_isinstance.py +771 -0
  22. codedoctor-0.1.2/codedoctor/assert_isinstance/unnecessary_assert_isinstance_test.py +1328 -0
  23. codedoctor-0.1.2/codedoctor/coverage_floor/__init__.py +1 -0
  24. codedoctor-0.1.2/codedoctor/coverage_floor/__main__.py +17 -0
  25. codedoctor-0.1.2/codedoctor/coverage_floor/coverage_floor.py +336 -0
  26. codedoctor-0.1.2/codedoctor/coverage_floor/coverage_floor_test.py +332 -0
  27. codedoctor-0.1.2/codedoctor/gate/__init__.py +1 -0
  28. codedoctor-0.1.2/codedoctor/gate/__main__.py +17 -0
  29. codedoctor-0.1.2/codedoctor/gate/fakes.py +155 -0
  30. codedoctor-0.1.2/codedoctor/gate/fakes_test.py +105 -0
  31. codedoctor-0.1.2/codedoctor/gate/gate.py +364 -0
  32. codedoctor-0.1.2/codedoctor/gate/gate_test.py +283 -0
  33. codedoctor-0.1.2/codedoctor/gate/spool.py +93 -0
  34. codedoctor-0.1.2/codedoctor/gate/spool_test.py +87 -0
  35. codedoctor-0.1.2/codedoctor/lib/__init__.py +1 -0
  36. codedoctor-0.1.2/codedoctor/lib/files/__init__.py +1 -0
  37. codedoctor-0.1.2/codedoctor/lib/files/glob.py +268 -0
  38. codedoctor-0.1.2/codedoctor/lib/files/glob_test.py +397 -0
  39. codedoctor-0.1.2/codedoctor/lib/files/grep.py +828 -0
  40. codedoctor-0.1.2/codedoctor/lib/files/grep_test.py +1103 -0
  41. codedoctor-0.1.2/codedoctor/lib/files/tempclaim.py +144 -0
  42. codedoctor-0.1.2/codedoctor/lib/files/tempclaim_test.py +166 -0
  43. codedoctor-0.1.2/codedoctor/lib/files/walk.py +54 -0
  44. codedoctor-0.1.2/codedoctor/lib/files/walk_test.py +298 -0
  45. codedoctor-0.1.2/codedoctor/lib/kernel_pins.py +16 -0
  46. codedoctor-0.1.2/codedoctor/lib/kernel_pins_test.py +14 -0
  47. codedoctor-0.1.2/codedoctor/lib/pyproject_flags.py +127 -0
  48. codedoctor-0.1.2/codedoctor/lib/pyproject_flags_test.py +224 -0
  49. codedoctor-0.1.2/codedoctor/lib/testing/__init__.py +15 -0
  50. codedoctor-0.1.2/codedoctor/lib/testing/resources.py +918 -0
  51. codedoctor-0.1.2/codedoctor/lib/testing/runner.py +39 -0
  52. codedoctor-0.1.2/codedoctor/lib/testing/runner_test.py +39 -0
  53. codedoctor-0.1.2/codedoctor/lib/userdirs.py +206 -0
  54. codedoctor-0.1.2/codedoctor/lib/worker_count.py +304 -0
  55. codedoctor-0.1.2/codedoctor/lib/worker_count_test.py +384 -0
  56. codedoctor-0.1.2/codedoctor/lint/__init__.py +1 -0
  57. codedoctor-0.1.2/codedoctor/lint/__main__.py +17 -0
  58. codedoctor-0.1.2/codedoctor/lint/house_ignore.py +266 -0
  59. codedoctor-0.1.2/codedoctor/lint/house_ignore_test.py +190 -0
  60. codedoctor-0.1.2/codedoctor/lint/houselint.py +810 -0
  61. codedoctor-0.1.2/codedoctor/lint/houselint_rules.py +8080 -0
  62. codedoctor-0.1.2/codedoctor/lint/houselint_rules_test.py +10015 -0
  63. codedoctor-0.1.2/codedoctor/lint/houselint_test.py +3846 -0
  64. codedoctor-0.1.2/codedoctor/lint/houselint_types.py +203 -0
  65. codedoctor-0.1.2/codedoctor/lint/houselint_types_test.py +69 -0
  66. codedoctor-0.1.2/codedoctor/mutation/__init__.py +1 -0
  67. codedoctor-0.1.2/codedoctor/mutation/__main__.py +17 -0
  68. codedoctor-0.1.2/codedoctor/mutation/mutated.py +1379 -0
  69. codedoctor-0.1.2/codedoctor/mutation/mutated_test.py +2486 -0
  70. codedoctor-0.1.2/codedoctor/mutation/mutmut_dynamo.py +65 -0
  71. codedoctor-0.1.2/codedoctor/mutation/mutmut_dynamo_test.py +91 -0
  72. codedoctor-0.1.2/codedoctor/mutation/mutmut_param_ids.py +38 -0
  73. codedoctor-0.1.2/codedoctor/mutation/mutmut_param_ids_test.py +88 -0
  74. codedoctor-0.1.2/codedoctor/nbstripout/__init__.py +1 -0
  75. codedoctor-0.1.2/codedoctor/nbstripout/__main__.py +17 -0
  76. codedoctor-0.1.2/codedoctor/nbstripout/nbstripout_hook.py +23 -0
  77. codedoctor-0.1.2/codedoctor/nbstripout/nbstripout_hook_test.py +118 -0
  78. codedoctor-0.1.2/codedoctor/selected_nodeids/__init__.py +1 -0
  79. codedoctor-0.1.2/codedoctor/selected_nodeids/selected_nodeids_plugin.py +281 -0
  80. codedoctor-0.1.2/codedoctor/selected_nodeids/selected_nodeids_plugin_test.py +656 -0
  81. codedoctor-0.1.2/codedoctor/testing/__init__.py +1 -0
  82. codedoctor-0.1.2/codedoctor/testing/__main__.py +17 -0
  83. codedoctor-0.1.2/codedoctor/testing/coverage_summary.py +85 -0
  84. codedoctor-0.1.2/codedoctor/testing/coverage_summary_test.py +143 -0
  85. codedoctor-0.1.2/codedoctor/testing/testing.py +296 -0
  86. codedoctor-0.1.2/codedoctor/testing/testing_test.py +549 -0
  87. codedoctor-0.1.2/codedoctor/testing/tiers.py +89 -0
  88. codedoctor-0.1.2/codedoctor/testing/tiers_test.py +62 -0
  89. codedoctor-0.1.2/codedoctor/typecheck/__init__.py +1 -0
  90. codedoctor-0.1.2/codedoctor/typecheck/__main__.py +17 -0
  91. codedoctor-0.1.2/codedoctor/typecheck/scope.py +61 -0
  92. codedoctor-0.1.2/codedoctor/typecheck/scope_test.py +71 -0
  93. codedoctor-0.1.2/codedoctor/typecheck/typecheck.py +179 -0
  94. codedoctor-0.1.2/codedoctor/typecheck/typecheck_test.py +281 -0
  95. codedoctor-0.1.2/conftest.py +17 -0
  96. codedoctor-0.1.2/pyproject.toml +704 -0
  97. codedoctor-0.1.2/tests/lib/testing/resources_test.py +862 -0
  98. codedoctor-0.1.2/tests/lib/userdirs_test.py +137 -0
  99. codedoctor-0.1.2/typings/.gitkeep +0 -0
  100. codedoctor-0.1.2/uv.lock +1747 -0
  101. codedoctor-0.1.0/.github/dependabot.yml +0 -12
  102. codedoctor-0.1.0/.github/workflows/ci.yml +0 -33
  103. codedoctor-0.1.0/.github/workflows/release.yml +0 -72
  104. codedoctor-0.1.0/.gitignore +0 -7
  105. codedoctor-0.1.0/.pre-commit-config.yaml +0 -12
  106. codedoctor-0.1.0/LICENSE +0 -21
  107. codedoctor-0.1.0/PKG-INFO +0 -167
  108. codedoctor-0.1.0/README.md +0 -150
  109. codedoctor-0.1.0/pyproject.toml +0 -39
  110. codedoctor-0.1.0/src/codedoctor/cli.py +0 -68
  111. codedoctor-0.1.0/src/codedoctor/report.py +0 -113
  112. codedoctor-0.1.0/src/codedoctor/runner.py +0 -107
  113. codedoctor-0.1.0/src/codedoctor/storage.py +0 -37
  114. codedoctor-0.1.0/tests/test_smoke.py +0 -7
  115. /codedoctor-0.1.0/src/codedoctor/__init__.py → /codedoctor-0.1.2/codedoctor/py.typed +0 -0
@@ -0,0 +1,295 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ # lib/
18
+ # lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ .testmondata
53
+ # Covers the SQLite sidecars testmon leaves behind (-journal, -shm, -wal).
54
+ .testmondata-*
55
+ cover/
56
+
57
+ # Translations
58
+ *.mo
59
+ *.pot
60
+
61
+ # Sphinx documentation
62
+ docs/_build/
63
+
64
+ # PyBuilder
65
+ .pybuilder/
66
+ target/
67
+
68
+ # Jupyter Notebook
69
+ .ipynb_checkpoints
70
+
71
+ # IPython
72
+ profile_default/
73
+ ipython_config.py
74
+
75
+ # pyenv
76
+ .python-version
77
+
78
+ # pipenv
79
+ Pipfile.lock
80
+
81
+ # poetry
82
+ poetry.lock
83
+
84
+ # pdm
85
+ .pdm.toml
86
+ .pdm-python
87
+ .pdm-build/
88
+
89
+ # PEP 582
90
+ __pypackages__/
91
+
92
+ # Celery stuff
93
+ celerybeat-schedule
94
+ celerybeat.pid
95
+
96
+ # SageMath parsed files
97
+ *.sage.py
98
+
99
+ # Environments
100
+ .env
101
+ .venv
102
+ env/
103
+ venv/
104
+ ENV/
105
+ env.bak/
106
+ venv.bak/
107
+
108
+ # Spyder project settings
109
+ .spyderproject.db
110
+ .spyproject
111
+
112
+ # Rope project settings
113
+ .ropeproject
114
+
115
+ # mkdocs documentation
116
+ /site
117
+
118
+ # mypy
119
+ .mypy_cache/
120
+ .dmypy.json
121
+ dmypy.json
122
+
123
+ # Pyre type checker
124
+ .pyre/
125
+
126
+ # pytype static type analyzer
127
+ .pytype/
128
+
129
+ # Cython debug symbols
130
+ cython_debug/
131
+
132
+ # IDE
133
+ .idea/
134
+ .vscode/
135
+ *.swp
136
+ *.swo
137
+
138
+ # OS
139
+ .DS_Store
140
+ Thumbs.db
141
+
142
+ # ---- codedoctor-specific ----
143
+ # Byte-compiled / optimized / DLL files
144
+ *.py[codz]
145
+
146
+ # C extensions
147
+
148
+ # Distribution / packaging
149
+ /lib/
150
+ /lib64/
151
+
152
+ # PyInstaller
153
+ # Usually these files are written by a python script from a template
154
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
155
+
156
+ # Installer logs
157
+
158
+ # Unit test / coverage reports
159
+ *.py.cover
160
+ # Covers the SQLite sidecars testmon leaves behind (-journal, -shm, -wal).
161
+
162
+ # Translations
163
+
164
+ # Django stuff:
165
+ *.log
166
+ local_settings.py
167
+ db.sqlite3
168
+ db.sqlite3-journal
169
+
170
+ # Flask stuff:
171
+ instance/
172
+ .webassets-cache
173
+
174
+ # Scrapy stuff:
175
+ .scrapy
176
+
177
+ # Sphinx documentation
178
+
179
+ # PyBuilder
180
+
181
+ # Jupyter Notebook
182
+
183
+ # IPython
184
+
185
+ # pyenv
186
+ # For a library or package, you might want to ignore these files since the code is
187
+ # intended to run in multiple environments; otherwise, check them in:
188
+ # .python-version
189
+
190
+ # pipenv
191
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
192
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
193
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
194
+ # install all needed dependencies.
195
+ #Pipfile.lock
196
+
197
+ # UV
198
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
199
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
200
+ # commonly ignored for libraries.
201
+ #uv.lock
202
+
203
+ # poetry
204
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
205
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
206
+ # commonly ignored for libraries.
207
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
208
+ #poetry.lock
209
+ #poetry.toml
210
+
211
+ # pdm
212
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
213
+ # pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
214
+ # https://pdm-project.org/en/latest/usage/project/#working-with-version-control
215
+ #pdm.lock
216
+ #pdm.toml
217
+
218
+ # pixi
219
+ # Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
220
+ #pixi.lock
221
+ # Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
222
+ # in the .venv directory. It is recommended not to include this directory in version control.
223
+ .pixi
224
+
225
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
226
+
227
+ # Celery stuff
228
+
229
+ # SageMath parsed files
230
+
231
+ # Environments
232
+ .envrc
233
+
234
+ # Spyder project settings
235
+ .spyderproject
236
+
237
+ # Rope project settings
238
+
239
+ # mkdocs documentation
240
+
241
+ # mypy
242
+
243
+ # Pyre type checker
244
+
245
+ # pytype static type analyzer
246
+
247
+ # Cython debug symbols
248
+
249
+ # PyCharm
250
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
251
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
252
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
253
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
254
+ #.idea/
255
+
256
+ # Abstra
257
+ # Abstra is an AI-powered process automation framework.
258
+ # Ignore directories containing user credentials, local state, and settings.
259
+ # Learn more at https://abstra.io/docs
260
+ .abstra/
261
+
262
+ # Visual Studio Code
263
+ # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
264
+ # that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
265
+ # and can be added to the global gitignore or merged into this file. However, if you prefer,
266
+ # you could uncomment the following to ignore the entire vscode folder
267
+ # .vscode/
268
+
269
+ # Ruff stuff:
270
+ .ruff_cache/
271
+
272
+ # PyPI configuration file
273
+ .pypirc
274
+
275
+ # Cursor
276
+ # Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to
277
+ # exclude from AI features like autocomplete and code analysis. Recommended for sensitive data
278
+ # refer to https://docs.cursor.com/context/ignore-files
279
+ .cursorignore
280
+ .cursorindexingignore
281
+
282
+ # Marimo
283
+ marimo/_static/
284
+ marimo/_lsp/
285
+ __marimo__/
286
+
287
+ # Claude Code
288
+ .claude/
289
+
290
+ # Vim
291
+ .*.swo
292
+ .*.swp
293
+ .swp
294
+
295
+ # OS