Skip to content

Commit bd85c36

Browse files
authored
Fix ruff/type checking imports (#157)
# Motivation <!-- Why is this change necessary? --> # Content <!-- Please include a summary of the change --> # Testing <!-- How was the change tested? --> # Please check the following before marking your PR as ready for review - [ ] I have added tests for my changes - [ ] I have updated the documentation or added new documentation as needed - [ ] I have read and agree to the [Contributor License Agreement](../CLA.md)
1 parent 867400c commit bd85c36

File tree

267 files changed

+1887
-973
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

267 files changed

+1887
-973
lines changed

.pre-commit-config.yaml

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ default_language_version:
22
python: python3.12
33
fail_fast: true
44
repos:
5+
6+
- repo: https://github.com/ComPWA/taplo-pre-commit
7+
rev: v0.9.3
8+
hooks:
9+
- id: taplo-format
510
- repo: https://github.com/astral-sh/ruff-pre-commit
611
rev: v0.9.3
712
hooks:
@@ -20,10 +25,6 @@ repos:
2025
- id: biome-check
2126
additional_dependencies: ["@biomejs/[email protected]"]
2227
exclude: (src/codemods/eval)|(tests/unit/skills/snapshots)|(tests/unit/codegen/sdk/output)|(tests/integration/verified_codemods)|(docs/samples)
23-
- repo: https://github.com/ComPWA/taplo-pre-commit
24-
rev: v0.9.3
25-
hooks:
26-
- id: taplo-format
2728
- repo: https://github.com/MarcoGorelli/cython-lint
2829
rev: v0.16.6
2930
hooks:
@@ -73,19 +74,7 @@ repos:
7374
pass_filenames: false
7475
always_run: true
7576
entry: bash -c "uv run --frozen --all-extras --dev deptry src --ignore DEP001"
76-
- repo: "local"
77-
hooks:
78-
- id: disallowed-words-check
79-
name: Check for disallowed words
80-
entry: scripts/disallowed-words-check.sh
81-
language: script
82-
files: '' # Check all files
83-
- id: generate-runner-imports
84-
name: Generate Runner Imports
85-
entry: bash -c "uv run --frozen python -m codegen.gscli.main generate runner-imports src/codegen/shared/compilation/function_imports.py"
86-
language: system
87-
pass_filenames: false
88-
always_run: true
77+
8978

9079
- repo: https://github.com/renovatebot/pre-commit-hooks
9180
rev: 39.120.4
@@ -100,3 +89,16 @@ repos:
10089
rev: v1.1.0
10190
hooks:
10291
- id: circleci_validate
92+
- repo: "local"
93+
hooks:
94+
- id: disallowed-words-check
95+
name: Check for disallowed words
96+
entry: scripts/disallowed-words-check.sh
97+
language: script
98+
files: '' # Check all files
99+
- id: generate-runner-imports
100+
name: Generate Runner Imports
101+
entry: bash -c "uv run --frozen python -m codegen.gscli.main generate runner-imports src/codegen/shared/compilation/function_imports.py"
102+
language: system
103+
pass_filenames: false
104+
always_run: true

pyproject.toml

Lines changed: 2 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ dependencies = [
5959
"fastapi[standard]<1.0.0,>=0.115.2",
6060
"starlette<1.0.0,>=0.16.0",
6161
"tqdm>=4.67.1",
62+
"tomlkit>=0.13.2",
6263
]
6364

6465
license = { text = "Apache-2.0" }
@@ -152,41 +153,6 @@ members = []
152153
[tool.cython-lint]
153154
max-line-length = 200
154155

155-
[tool.ruff]
156-
line-length = 200
157-
exclude = ["src/codegen/shared/compilation/function_imports.py", 'docs/**']
158-
159-
lint.select = ["F", "E", "W", "I", "UP", "D", "RUF", "DTZ"]
160-
lint.ignore = [
161-
"D100",
162-
"D101",
163-
"D102",
164-
"D103",
165-
"D104",
166-
"D105",
167-
"D106",
168-
"D107",
169-
"D203",
170-
"D205",
171-
"D213",
172-
"D400",
173-
"D401",
174-
"D402",
175-
"D404",
176-
"D415",
177-
"D417",
178-
"E712", # https://github.com/astral-sh/ruff/issues/4560
179-
"F841",
180-
"F842",
181-
"RUF012",
182-
"RUF007",
183-
]
184-
lint.exclude = [
185-
"*.ipynb",
186-
] # disable just linting for notebooks (allow for formatting)
187-
lint.pydocstyle.convention = "google"
188-
[tool.ruff.lint.isort]
189-
known-first-party = ["codegen"]
190156

191157
[tool.coverage.run]
192158
branch = true
@@ -236,12 +202,7 @@ junit_duration_report = "call"
236202
junit_logging = "all"
237203

238204
[build-system]
239-
requires = [
240-
"hatchling>=1.26.3",
241-
"hatch-vcs>=0.4.0",
242-
"setuptools-scm>=8.0.0",
243-
"setuptools>=75.8.0",
244-
]
205+
requires = ["hatchling>=1.26.3", "hatch-vcs>=0.4.0", "setuptools-scm>=8.0.0"]
245206
build-backend = "hatchling.build"
246207

247208
[tool.deptry]

ruff.toml

Lines changed: 218 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,218 @@
1+
line-length = 200
2+
exclude = [
3+
"src/codegen/shared/compilation/function_imports.py",
4+
'docs/**',
5+
"src/codegen/sdk/__init__.py",
6+
]
7+
unsafe-fixes = true
8+
[lint]
9+
select = ["F", "E", "W", "I", "UP", "D", "RUF", "DTZ", "TC", "EM", "TRY400"]
10+
ignore = [
11+
"D100",
12+
"D101",
13+
"D102",
14+
"D103",
15+
"D104",
16+
"D105",
17+
"D106",
18+
"D107",
19+
"D203",
20+
"D205",
21+
"D213",
22+
"D400",
23+
"D401",
24+
"D402",
25+
"D404",
26+
"D415",
27+
"D417",
28+
"E712", # https://github.com/astral-sh/ruff/issues/4560
29+
"F841",
30+
"F842",
31+
"RUF012",
32+
"RUF007",
33+
]
34+
exclude = [
35+
"*.ipynb",
36+
] # disable just linting for notebooks (allow for formatting)
37+
[lint.pydocstyle]
38+
convention = "google"
39+
[lint.pyflakes]
40+
extend-generics = [
41+
"codegen.sdk.codebase.flagging.enums.MessageType",
42+
"codegen.sdk.codebase.flagging.enums.FlagKwargs",
43+
"codegen.sdk.codebase.span.Span",
44+
"codegen.sdk.core.assignment.Assignment",
45+
"codegen.sdk.core.class_definition.Class",
46+
"codegen.sdk.core.codebase.Codebase",
47+
"codegen.sdk.core.dataclasses.usage.Usage",
48+
"codegen.sdk.core.dataclasses.usage.UsageType",
49+
"codegen.sdk.core.dataclasses.usage.UsageKind",
50+
"codegen.sdk.core.detached_symbols.argument.Argument",
51+
"codegen.sdk.core.detached_symbols.code_block.CodeBlock",
52+
"codegen.sdk.core.detached_symbols.decorator.Decorator",
53+
"codegen.sdk.core.detached_symbols.function_call.FunctionCall",
54+
"codegen.sdk.core.detached_symbols.parameter.Parameter",
55+
"codegen.sdk.core.directory.Directory",
56+
"codegen.sdk.core.export.Export",
57+
"codegen.sdk.core.expressions.await_expression.AwaitExpression",
58+
"codegen.sdk.core.expressions.binary_expression.BinaryExpression",
59+
"codegen.sdk.core.expressions.boolean.Boolean",
60+
"codegen.sdk.core.expressions.chained_attribute.ChainedAttribute",
61+
"codegen.sdk.core.expressions.comparison_expression.ComparisonExpression",
62+
"codegen.sdk.core.expressions.expression.Expression",
63+
"codegen.sdk.core.expressions.generic_type.GenericType",
64+
"codegen.sdk.core.expressions.multi_expression.MultiExpression",
65+
"codegen.sdk.core.expressions.name.Name",
66+
"codegen.sdk.core.expressions.named_type.NamedType",
67+
"codegen.sdk.core.expressions.none_type.NoneType",
68+
"codegen.sdk.core.expressions.number.Number",
69+
"codegen.sdk.core.expressions.parenthesized_expression.ParenthesizedExpression",
70+
"codegen.sdk.core.expressions.placeholder_type.PlaceholderType",
71+
"codegen.sdk.core.expressions.string.String",
72+
"codegen.sdk.core.expressions.subscript_expression.SubscriptExpression",
73+
"codegen.sdk.core.expressions.ternary_expression.TernaryExpression",
74+
"codegen.sdk.core.expressions.tuple_type.TupleType",
75+
"codegen.sdk.core.expressions.type.Type",
76+
"codegen.sdk.core.expressions.unary_expression.UnaryExpression",
77+
"codegen.sdk.core.expressions.union_type.UnionType",
78+
"codegen.sdk.core.expressions.unpack.Unpack",
79+
"codegen.sdk.core.expressions.value.Value",
80+
"codegen.sdk.core.external_module.ExternalModule",
81+
"codegen.sdk.core.file.File",
82+
"codegen.sdk.core.file.SourceFile",
83+
"codegen.sdk.core.function.Function",
84+
"codegen.sdk.core.import_resolution.Import",
85+
"codegen.sdk.core.interfaces.callable.Callable",
86+
"codegen.sdk.core.interfaces.editable.Editable",
87+
"codegen.sdk.core.interfaces.exportable.Exportable",
88+
"codegen.sdk.core.interfaces.has_block.HasBlock",
89+
"codegen.sdk.core.interfaces.has_name.HasName",
90+
"codegen.sdk.core.interfaces.has_value.HasValue",
91+
"codegen.sdk.core.interfaces.importable.Importable",
92+
"codegen.sdk.core.interfaces.typeable.Typeable",
93+
"codegen.sdk.core.interfaces.unwrappable.Unwrappable",
94+
"codegen.sdk.core.interfaces.usable.Usable",
95+
"codegen.sdk.core.placeholder.placeholder.Placeholder",
96+
"codegen.sdk.core.placeholder.placeholder_stub.StubPlaceholder",
97+
"codegen.sdk.core.placeholder.placeholder_type.TypePlaceholder",
98+
"codegen.sdk.core.statements.assignment_statement.AssignmentStatement",
99+
"codegen.sdk.core.statements.attribute.Attribute",
100+
"codegen.sdk.core.statements.block_statement.BlockStatement",
101+
"codegen.sdk.core.statements.catch_statement.CatchStatement",
102+
"codegen.sdk.core.statements.comment.Comment",
103+
"codegen.sdk.core.statements.export_statement.ExportStatement",
104+
"codegen.sdk.core.statements.expression_statement.ExpressionStatement",
105+
"codegen.sdk.core.statements.for_loop_statement.ForLoopStatement",
106+
"codegen.sdk.core.statements.if_block_statement.IfBlockStatement",
107+
"codegen.sdk.core.statements.import_statement.ImportStatement",
108+
"codegen.sdk.core.statements.raise_statement.RaiseStatement",
109+
"codegen.sdk.core.statements.return_statement.ReturnStatement",
110+
"codegen.sdk.core.statements.statement.StatementType",
111+
"codegen.sdk.core.statements.statement.Statement",
112+
"codegen.sdk.core.statements.switch_case.SwitchCase",
113+
"codegen.sdk.core.statements.switch_statement.SwitchStatement",
114+
"codegen.sdk.core.statements.symbol_statement.SymbolStatement",
115+
"codegen.sdk.core.statements.try_catch_statement.TryCatchStatement",
116+
"codegen.sdk.core.statements.while_statement.WhileStatement",
117+
"codegen.sdk.core.symbol.Symbol",
118+
"codegen.sdk.core.symbol_group.SymbolGroup",
119+
"codegen.sdk.core.symbol_groups.comment_group.CommentGroup",
120+
"codegen.sdk.core.symbol_groups.dict.Pair",
121+
"codegen.sdk.core.symbol_groups.dict.Dict",
122+
"codegen.sdk.core.symbol_groups.expression_group.ExpressionGroup",
123+
"codegen.sdk.core.symbol_groups.list.List",
124+
"codegen.sdk.core.symbol_groups.multi_line_collection.MultiLineCollection",
125+
"codegen.sdk.core.symbol_groups.tuple.Tuple",
126+
"codegen.sdk.core.type_alias.TypeAlias",
127+
"codegen.sdk.python.statements.if_block_statement.PyIfBlockStatement",
128+
"codegen.sdk.python.statements.with_statement.WithStatement",
129+
"codegen.sdk.typescript.statements.block_statement.TSBlockStatement",
130+
"codegen.sdk.typescript.statements.catch_statement.TSCatchStatement",
131+
"codegen.sdk.typescript.statements.if_block_statement.TSIfBlockStatement",
132+
"codegen.sdk.typescript.symbol_groups.dict.TSDict",
133+
"codegen.sdk.core.codebase.PyCodebaseType",
134+
"codegen.sdk.core.codebase.TSCodebaseType",
135+
"codegen.sdk.core.codebase.CodebaseType",
136+
"codegen.sdk.python.assignment.PyAssignment",
137+
"codegen.sdk.python.class_definition.PyClass",
138+
"codegen.sdk.python.detached_symbols.code_block.PyCodeBlock",
139+
"codegen.sdk.python.detached_symbols.decorator.PyDecorator",
140+
"codegen.sdk.python.detached_symbols.parameter.PyParameter",
141+
"codegen.sdk.python.expressions.chained_attribute.PyChainedAttribute",
142+
"codegen.sdk.python.expressions.conditional_expression.PyConditionalExpression",
143+
"codegen.sdk.python.expressions.generic_type.PyGenericType",
144+
"codegen.sdk.python.expressions.named_type.PyNamedType",
145+
"codegen.sdk.python.expressions.string.PyString",
146+
"codegen.sdk.python.expressions.union_type.PyUnionType",
147+
"codegen.sdk.python.file.PyFile",
148+
"codegen.sdk.python.function.PyFunction",
149+
"codegen.sdk.python.import_resolution.PyImport",
150+
"codegen.sdk.python.interfaces.has_block.PyHasBlock",
151+
"codegen.sdk.python.placeholder.placeholder_return_type.PyReturnTypePlaceholder",
152+
"codegen.sdk.python.statements.assignment_statement.PyAssignmentStatement",
153+
"codegen.sdk.python.statements.attribute.PyAttribute",
154+
"codegen.sdk.python.statements.block_statement.PyBlockStatement",
155+
"codegen.sdk.python.statements.break_statement.PyBreakStatement",
156+
"codegen.sdk.python.statements.catch_statement.PyCatchStatement",
157+
"codegen.sdk.python.statements.comment.PyCommentType",
158+
"codegen.sdk.python.statements.comment.PyComment",
159+
"codegen.sdk.python.statements.for_loop_statement.PyForLoopStatement",
160+
"codegen.sdk.python.statements.import_statement.PyImportStatement",
161+
"codegen.sdk.python.statements.match_case.PyMatchCase",
162+
"codegen.sdk.python.statements.match_statement.PyMatchStatement",
163+
"codegen.sdk.python.statements.pass_statement.PyPassStatement",
164+
"codegen.sdk.python.statements.try_catch_statement.PyTryCatchStatement",
165+
"codegen.sdk.python.statements.while_statement.PyWhileStatement",
166+
"codegen.sdk.python.symbol.PySymbol",
167+
"codegen.sdk.python.symbol_groups.comment_group.PyCommentGroup",
168+
"codegen.sdk.typescript.assignment.TSAssignment",
169+
"codegen.sdk.typescript.class_definition.TSClass",
170+
"codegen.sdk.typescript.detached_symbols.code_block.TSCodeBlock",
171+
"codegen.sdk.typescript.detached_symbols.decorator.TSDecorator",
172+
"codegen.sdk.typescript.detached_symbols.jsx.element.JSXElement",
173+
"codegen.sdk.typescript.detached_symbols.jsx.expression.JSXExpression",
174+
"codegen.sdk.typescript.detached_symbols.jsx.prop.JSXProp",
175+
"codegen.sdk.typescript.detached_symbols.parameter.TSParameter",
176+
"codegen.sdk.typescript.enum_definition.TSEnum",
177+
"codegen.sdk.typescript.export.TSExport",
178+
"codegen.sdk.typescript.expressions.array_type.TSArrayType",
179+
"codegen.sdk.typescript.expressions.chained_attribute.TSChainedAttribute",
180+
"codegen.sdk.typescript.expressions.conditional_type.TSConditionalType",
181+
"codegen.sdk.typescript.expressions.expression_type.TSExpressionType",
182+
"codegen.sdk.typescript.expressions.function_type.TSFunctionType",
183+
"codegen.sdk.typescript.expressions.generic_type.TSGenericType",
184+
"codegen.sdk.typescript.expressions.lookup_type.TSLookupType",
185+
"codegen.sdk.typescript.expressions.named_type.TSNamedType",
186+
"codegen.sdk.typescript.expressions.object_type.TSObjectType",
187+
"codegen.sdk.typescript.expressions.query_type.TSQueryType",
188+
"codegen.sdk.typescript.expressions.readonly_type.TSReadonlyType",
189+
"codegen.sdk.typescript.expressions.string.TSString",
190+
"codegen.sdk.typescript.expressions.ternary_expression.TSTernaryExpression",
191+
"codegen.sdk.typescript.expressions.undefined_type.TSUndefinedType",
192+
"codegen.sdk.typescript.expressions.union_type.TSUnionType",
193+
"codegen.sdk.typescript.file.TSFile",
194+
"codegen.sdk.typescript.function.TSFunction",
195+
"codegen.sdk.typescript.import_resolution.TSImport",
196+
"codegen.sdk.typescript.interface.TSInterface",
197+
"codegen.sdk.typescript.interfaces.has_block.TSHasBlock",
198+
"codegen.sdk.typescript.namespace.TSNamespace",
199+
"codegen.sdk.typescript.placeholder.placeholder_return_type.TSReturnTypePlaceholder",
200+
"codegen.sdk.typescript.statements.assignment_statement.TSAssignmentStatement",
201+
"codegen.sdk.typescript.statements.attribute.TSAttribute",
202+
"codegen.sdk.typescript.statements.comment.TSCommentType",
203+
"codegen.sdk.typescript.statements.comment.TSComment",
204+
"codegen.sdk.typescript.statements.for_loop_statement.TSForLoopStatement",
205+
"codegen.sdk.typescript.statements.import_statement.TSImportStatement",
206+
"codegen.sdk.typescript.statements.labeled_statement.TSLabeledStatement",
207+
"codegen.sdk.typescript.statements.switch_case.TSSwitchCase",
208+
"codegen.sdk.typescript.statements.switch_statement.TSSwitchStatement",
209+
"codegen.sdk.typescript.statements.try_catch_statement.TSTryCatchStatement",
210+
"codegen.sdk.typescript.statements.while_statement.TSWhileStatement",
211+
"codegen.sdk.typescript.symbol.TSSymbol",
212+
"codegen.sdk.typescript.symbol_groups.comment_group.TSCommentGroup",
213+
"codegen.sdk.typescript.symbol_groups.dict.TSPair",
214+
"codegen.sdk.typescript.ts_config.TSConfig",
215+
"codegen.sdk.typescript.type_alias.TSTypeAlias",
216+
]
217+
[lint.isort]
218+
known-first-party = ["codegen"]

src/codegen/cli/api/client.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,21 +91,26 @@ def _make_request(
9191
try:
9292
return output_model.model_validate(response.json())
9393
except ValueError as e:
94-
raise ServerError(f"Invalid response format: {e}")
94+
msg = f"Invalid response format: {e}"
95+
raise ServerError(msg)
9596
elif response.status_code == 401:
96-
raise InvalidTokenError("Invalid or expired authentication token")
97+
msg = "Invalid or expired authentication token"
98+
raise InvalidTokenError(msg)
9799
elif response.status_code == 500:
98-
raise ServerError("The server encountered an error while processing your request")
100+
msg = "The server encountered an error while processing your request"
101+
raise ServerError(msg)
99102
else:
100103
try:
101104
error_json = response.json()
102105
error_msg = error_json.get("detail", error_json)
103106
except Exception:
104107
error_msg = response.text
105-
raise ServerError(f"Error ({response.status_code}): {error_msg}")
108+
msg = f"Error ({response.status_code}): {error_msg}"
109+
raise ServerError(msg)
106110

107111
except requests.RequestException as e:
108-
raise ServerError(f"Network error: {e!s}")
112+
msg = f"Network error: {e!s}"
113+
raise ServerError(msg)
109114

110115
def run(
111116
self,

src/codegen/cli/api/modal.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ def get_modal_workspace():
1111
case Environment.DEVELOP:
1212
return "codegen-sh-develop"
1313
case _:
14-
raise ValueError(f"Invalid environment: {global_env.ENV}")
14+
msg = f"Invalid environment: {global_env.ENV}"
15+
raise ValueError(msg)
1516

1617

1718
def get_modal_prefix():

0 commit comments

Comments
 (0)