Skip to content

Commit 67bbb1a

Browse files
committed
Switch linting to black and ruff
1 parent 0b6244c commit 67bbb1a

24 files changed

Lines changed: 392 additions & 287 deletions

.flake8

Lines changed: 0 additions & 8 deletions
This file was deleted.

.github/workflows/main.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,14 @@ jobs:
2020
uses: actions/setup-python@v5
2121
with:
2222
python-version: "3.12"
23-
- name: Install flake8
23+
- name: Install black and ruff
2424
run: |
2525
python -m pip install --upgrade pip
26-
pip install flake8
27-
- name: Run flake8
26+
pip install black ruff
27+
- name: Run black and ruff
2828
run: |
29-
flake8 codegraph/ tests/
29+
black .
30+
ruff check .
3031
3132
tests:
3233
runs-on: ubuntu-latest
@@ -115,4 +116,4 @@ jobs:
115116
path: 'docs'
116117
- name: Deploy to GitHub Pages
117118
id: deployment
118-
uses: actions/deploy-pages@v4
119+
uses: actions/deploy-pages@v4

.isort.cfg

Lines changed: 0 additions & 2 deletions
This file was deleted.

.pre-commit-config.yaml

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,10 @@
11
repos:
2-
- repo: https://github.com/asottile/seed-isort-config
3-
rev: v2.2.0
4-
hooks:
5-
- id: seed-isort-config
6-
- repo: https://github.com/pycqa/isort
7-
rev: 5.13.2
8-
hooks:
9-
- id: isort
10-
- repo: https://github.com/ambv/black
2+
- repo: https://github.com/psf/black
113
rev: 24.10.0
124
hooks:
135
- id: black
146
language_version: python3.12
15-
- repo: https://github.com/PyCQA/flake8
16-
rev: 7.1.1
7+
- repo: https://github.com/astral-sh/ruff-pre-commit
8+
rev: v0.6.9
179
hooks:
18-
- id: flake8
10+
- id: ruff

CONTRIBUTING.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,13 @@ To follow code styles and successfully pass github pipelines install pre-commit
2121
2222
pre-commit install
2323
24-
```
24+
```
25+
26+
### Formatting and linting
27+
28+
Before committing changes, run the formatter and linter:
29+
30+
```
31+
black .
32+
ruff check .
33+
```

codegraph/main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
""" main module of testsdiffer for console (cli) usage"""
1+
"""main module of testsdiffer for console (cli) usage"""
22

33
import logging
44
import pprint

codegraph/parsers/base.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@ def usage_graph(self, modules_data: Dict) -> Dict:
2222
def get_entity_metadata(self, modules_data: Dict) -> Dict:
2323
raise NotImplementedError
2424

25-
def get_dependencies(
26-
self, usage_graph: Dict, file_path: str, distance: int
27-
) -> Dict[int, Set[str]]:
25+
def get_dependencies(self, usage_graph: Dict, file_path: str, distance: int) -> Dict[int, Set[str]]:
2826
"""
2927
Default implementation that expects dependencies as "module.entity".
3028
Parsers can override this to handle language-specific dependency formats.

codegraph/parsers/python_parser.py

Lines changed: 9 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,7 @@ def get_source_files(self, paths) -> List[str]:
4444
return get_python_paths_list(paths)
4545

4646
def parse_files(self, paths_list: List[str]) -> Dict:
47-
self._module_names_set = {
48-
os.path.basename(path).replace(".py", "") for path in paths_list
49-
}
47+
self._module_names_set = {os.path.basename(path).replace(".py", "") for path in paths_list}
5048
all_data = {}
5149
for path in paths_list:
5250
source = self._read_file_content(path)
@@ -121,9 +119,7 @@ def _read_file_content(self, path: Text) -> Text:
121119
def _parse_source(self, source: Text, filename: Text):
122120
if self._major == 2:
123121
if ast27 is None:
124-
raise ImportError(
125-
"typed_ast is required to parse Python 2 source code."
126-
)
122+
raise ImportError("typed_ast is required to parse Python 2 source code.")
127123
return ast27.parse(source, filename=filename, mode="exec")
128124

129125
return self._parse_with_feature_version(source, filename, self._feature_version)
@@ -233,9 +229,7 @@ def _collect_dependencies_in_module(
233229
) -> List[str]:
234230
deps: List[str] = []
235231
ast_mod = self._ast_mod
236-
collector = self._make_dependency_collector(
237-
local_entities, module_aliases, entity_aliases, ast_mod
238-
)
232+
collector = self._make_dependency_collector(local_entities, module_aliases, entity_aliases, ast_mod)
239233
for node in getattr(ast_tree, "body", []):
240234
if isinstance(node, (ast_mod.FunctionDef, ast_mod.ClassDef)):
241235
continue
@@ -259,28 +253,20 @@ def _collect_dependencies_in_entity(
259253
if isinstance(node, ast_mod.ClassDef):
260254
for base in node.bases:
261255
if isinstance(base, ast_mod.Attribute):
262-
dep = self._resolve_attribute(
263-
base, local_entities, module_aliases, entity_aliases, ast_mod
264-
)
256+
dep = self._resolve_attribute(base, local_entities, module_aliases, entity_aliases, ast_mod)
265257
elif isinstance(base, ast_mod.Name):
266-
dep = self._resolve_name(
267-
base.id, local_entities, module_aliases, entity_aliases
268-
)
258+
dep = self._resolve_name(base.id, local_entities, module_aliases, entity_aliases)
269259
else:
270260
dep = None
271261
if dep:
272262
deps.append(dep)
273-
collector = self._make_dependency_collector(
274-
local_entities, module_aliases, entity_aliases, ast_mod
275-
)
263+
collector = self._make_dependency_collector(local_entities, module_aliases, entity_aliases, ast_mod)
276264
for child in node.body:
277265
collector.visit(child)
278266
deps.extend(collector.dependencies)
279267
return deps
280268

281-
collector = self._make_dependency_collector(
282-
local_entities, module_aliases, entity_aliases, ast_mod
283-
)
269+
collector = self._make_dependency_collector(local_entities, module_aliases, entity_aliases, ast_mod)
284270
collector.visit(node)
285271
deps.extend(collector.dependencies)
286272
return deps
@@ -311,13 +297,9 @@ def _resolve_call_target(
311297
ast_mod,
312298
) -> Optional[str]:
313299
if isinstance(func_node, ast_mod.Name):
314-
return self._resolve_name(
315-
func_node.id, local_entities, module_aliases, entity_aliases
316-
)
300+
return self._resolve_name(func_node.id, local_entities, module_aliases, entity_aliases)
317301
if isinstance(func_node, ast_mod.Attribute):
318-
return self._resolve_attribute(
319-
func_node, local_entities, module_aliases, entity_aliases, ast_mod
320-
)
302+
return self._resolve_attribute(func_node, local_entities, module_aliases, entity_aliases, ast_mod)
321303
return None
322304

323305
def _resolve_attribute(

codegraph/parsers/registry.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
from codegraph.parsers.python_parser import PythonParser
55
from codegraph.parsers.rust_parser import RustParser
66

7-
87
_PARSERS: Dict[str, Type[BaseParser]] = {
98
"python": PythonParser,
109
"rust": RustParser,

codegraph/utils.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,7 @@ def get_paths_list(paths: Union[str, List], extensions: Iterable[str]) -> List[s
1818
if not path.exists():
1919
raise ValueError(f"Path {path.as_posix()} does not exist")
2020
for ext in extensions:
21-
paths_list += [
22-
Path(p).as_posix()
23-
for p in glob.glob(str(path / "**" / f"*{ext}"), recursive=True)
24-
]
21+
paths_list += [Path(p).as_posix() for p in glob.glob(str(path / "**" / f"*{ext}"), recursive=True)]
2522
return paths_list
2623

2724

0 commit comments

Comments
 (0)