Skip to content

Commit 436e5e2

Browse files
committed
Merge branch 'main' into fix-broken-tests
2 parents ac4db2f + f2ad1be commit 436e5e2

File tree

11 files changed

+33
-26
lines changed

11 files changed

+33
-26
lines changed

.github/workflows/build.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ jobs:
3434
run: make test
3535
- name: Lint
3636
run: make lint
37-
if: ${{ matrix.python-version != '3.9' }}
3837

3938
check-deps:
4039
runs-on: ${{ matrix.os }}

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
PYTHON?=python
1+
PYTHON?=python3
22
SOURCES=dowsing setup.py
33

44
.PHONY: venv

dowsing/check_source_mapping.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from honesty.archive import extract_and_get_names
77
from honesty.cache import Cache
88
from honesty.cmdline import select_versions, wrap_async
9-
from honesty.releases import FileType, async_parse_index
9+
from honesty.releases import async_parse_index, FileType
1010
from moreorless.click import echo_color_unified_diff
1111

1212
from dowsing.pep517 import get_metadata

dowsing/maturin.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ def get_metadata(self) -> Distribution:
2525

2626
cargo = self.path / "Cargo.toml"
2727
doc = tomlkit.parse(cargo.read_text())
28-
for k, v in doc["package"].items():
28+
package = doc.get("package", {})
29+
for k, v in package.items():
2930
if k == "name":
3031
d.name = v
3132
elif k == "version":
@@ -39,7 +40,8 @@ def get_metadata(self) -> Distribution:
3940
# homepage
4041
# readme (filename)
4142

42-
for k, v in doc["package"]["metadata"]["maturin"].items():
43+
maturin = package.get("metadata", {}).get("maturin", {})
44+
for k, v in maturin.items():
4345
if k == "requires-python":
4446
d.requires_python = v
4547
elif k == "classifier":

dowsing/pep517.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
KNOWN_BACKENDS: Dict[str, str] = {
1212
"setuptools.build_meta:__legacy__": "dowsing.setuptools:SetuptoolsReader",
1313
"setuptools.build_meta": "dowsing.setuptools:SetuptoolsReader",
14+
"jupyter_packaging.build_api": "dowsing.setuptools:SetuptoolsReader",
1415
"flit_core.buildapi": "dowsing.flit:FlitReader",
1516
"flit.buildapi": "dowsing.flit:FlitReader",
1617
"maturin": "dowsing.maturin:MaturinReader",
@@ -26,13 +27,14 @@ def get_backend(path: Path) -> Tuple[List[str], BaseReader]:
2627
requires: List[str] = []
2728
if pyproject.exists():
2829
doc = tomlkit.parse(pyproject.read_text())
29-
if "build-system" in doc:
30-
# 1b. include any build-system requires
31-
if "requires" in doc["build-system"]:
32-
requires.extend(doc["build-system"]["requires"])
33-
if "build-backend" in doc["build-system"]:
34-
backend = doc["build-system"]["build-backend"]
35-
# TODO backend-path
30+
table = doc.get("build-system", {})
31+
32+
# 1b. include any build-system requires
33+
if "requires" in table:
34+
requires.extend(table["requires"])
35+
if "build-backend" in table:
36+
backend = table["build-backend"]
37+
# TODO backend-path
3638

3739
try:
3840
backend_path = KNOWN_BACKENDS[backend]

dowsing/poetry.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ def get_metadata(self) -> Distribution:
4242
d.packages = []
4343
d.packages_dict = {}
4444

45-
for k, v in doc["tool"]["poetry"].items():
45+
poetry = doc.get("tool", {}).get("poetry", {})
46+
for k, v in poetry.items():
4647
if k in ("homepage", "repository", "documentation"):
4748
d.project_urls[k] = v
4849
elif k == "packages":
@@ -64,16 +65,16 @@ def get_metadata(self) -> Distribution:
6465
d.packages_dict[p] = p.replace(".", "/")
6566
d.packages.append(p)
6667

67-
for k, v in doc["tool"]["poetry"].get("dependencies", {}).items():
68+
for k, v in poetry.get("dependencies", {}).items():
6869
if k == "python":
6970
pass # TODO translate to requires_python
7071
else:
7172
d.requires_dist.append(k) # TODO something with version
7273

73-
for k, v in doc["tool"]["poetry"].get("urls", {}).items():
74+
for k, v in poetry.get("urls", {}).items():
7475
d.project_urls[k] = v
7576

76-
for k, v in doc["tool"]["poetry"].get("scripts", {}).items():
77+
for k, v in poetry.get("scripts", {}).items():
7778
d.entry_points[k] = v
7879

7980
d.source_mapping = d._source_mapping(self.path)

dowsing/setuptools/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def get_metadata(self) -> Distribution:
6161
# https://docs.python.org/2/distutils/setupscript.html#listing-whole-packages
6262
package_dir: Mapping[str, str] = d1.package_dir
6363
# If there was an error, we might have written "??"
64-
if package_dir != "??":
64+
if package_dir != "??": # type: ignore
6565
if not package_dir:
6666
package_dir = {"": "."}
6767

dowsing/setuptools/setup_py_parsing.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ def __init__(self, filename: str) -> None:
9292

9393

9494
class SetupCallTransformer(cst.CSTTransformer):
95-
METADATA_DEPENDENCIES = (ScopeProvider, ParentNodeProvider, QualifiedNameProvider) # type: ignore
95+
METADATA_DEPENDENCIES = (ScopeProvider, ParentNodeProvider, QualifiedNameProvider)
9696

9797
def __init__(
9898
self,
@@ -124,7 +124,7 @@ def leave_Call(
124124

125125

126126
class SetupCallAnalyzer(cst.CSTVisitor):
127-
METADATA_DEPENDENCIES = (ScopeProvider, ParentNodeProvider, QualifiedNameProvider) # type: ignore
127+
METADATA_DEPENDENCIES = (ScopeProvider, ParentNodeProvider, QualifiedNameProvider)
128128

129129
# TODO names resulting from other than 'from setuptools import setup'
130130
# TODO wrapper funcs that modify args

requirements-dev.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
black==21.12b0
1+
black==22.1.0
22
click==8.0.3
33
coverage==4.5.4
44
flake8==3.7.9
5-
mypy==0.750
5+
mypy==0.931
66
tox==3.24.5
77
twine==3.1.1
8-
ufmt==1.1
9-
usort==0.6.3
8+
ufmt==1.3.1.post1
9+
usort==1.0.1
1010
volatile==2.1.0
1111
wheel==0.37.1
12-
honesty==0.3.0a1
12+
honesty==0.3.0a2

requirements.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
highlighter==0.1.1
22
imperfect==0.3.0
33
LibCST==0.3.12
4-
tomlkit==0.7.0
5-
pkginfo==1.5.0.1
4+
tomlkit==0.9.0
5+
pkginfo==1.8.1
6+
dataclasses==0.8; python_version<"3.7"

0 commit comments

Comments
 (0)