Skip to content

Commit 7fda998

Browse files
committed
dev: Pin types-requests on Python 3.6 to a version that works with mypy on 3.6
mypy 0.971 is the last version to support Python 3.6, so this is what pip installs on 3.6. types-requests 2.28.11.12 is the last version to support mypy <1.0.0, due to changes in how the "Self" type is handled.¹ However, there's no way to declare that in package metadata (without requiring mypy, which is inappropriate for a typeshed package), so we have to resolve this dependency ourselves.² With a too-new types-requests, mypy fails on 3.6 with errors like: nextstrain/cli/remote/nextstrain_dot_org.py:230: error: Self? has no attribute "auth" which we saw in CI failures.³ We'll drop support for Python 3.6 sooner than later, but for now, keep it going. ¹ <python/typeshed@7180d02> <python/typeshed#9702> ² It would be possible if, for example, Python package metadata supported a "Conflicts" field, as many packaging systems do. ³ <https://github.com/nextstrain/cli/actions/runs/4266385449/jobs/7426841852#step:5:78>
1 parent 421d024 commit 7fda998

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,8 @@ def find_namespaced_packages(namespace):
140140
"sphinx_rtd_theme",
141141
"types-docutils",
142142
"types-setuptools",
143-
"types-requests",
143+
"types-requests; python_version != '3.6'",
144+
"types-requests <=2.28.11.12; python_version == '3.6'",
144145
],
145146
},
146147
)

0 commit comments

Comments
 (0)