Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add type stubs #94

Merged
merged 2 commits into from Jan 19, 2021
Merged

Add type stubs #94

merged 2 commits into from Jan 19, 2021

Conversation

sethmlarson
Copy link
Collaborator

@sethmlarson sethmlarson commented Jan 8, 2021

Saw that there were no type stubs for idna so went ahead and put them together. If you drop Python 3.4 (<1% of downloads) I can change them to be inline instead of .pyi files. Let me know what you think!

@sethmlarson
Copy link
Collaborator Author

@kjd You've approved the PR but not merged, is there something still left to do here? Also what are your thoughts on dropping Python 3.4?

@kjd
Copy link
Owner

kjd commented Jan 13, 2021

I didn't merge the commit before reconciling that very question, since the PR removes the 3.4 trove classifier.

As to whether to drop 3.4, I'd like to do an inventory on the relying parties on this library to see where their Python support lies. I know requests is one notable user, and they report supporting 3.5+, but a broader sampling would be useful to make sure such a move wouldn't unexpectedly impact significant packages.

@sethmlarson
Copy link
Collaborator Author

Got it! I can gather a list of supported Python versions for dependent packages and report back.

@sethmlarson
Copy link
Collaborator Author

sethmlarson commented Jan 13, 2021

@kjd Here's direct dependency info I grabbed from my PyPI dependency dataset:

anyio python (>=3.6.2) idna (>=2.8)
aws-service-catalog-puppet python (>=3.7) idna (==2.8)
dbt-core python (>=3.6.3) idna (<2.10)
dkcloudcommand python (>=3.6) idna (==2.6)
email-validator python () idna (>=2.0.0)
flexget python (>=3.6) idna (==2.8)
lftools python () idna (==2.9)
moto python () idna (<3,>=2.5)
pl-nightly python (>=3.6,<3.8) idna (>=2.10), idna (>=2.9)
requests python (>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*) idna (<3,>=2.5)
seleniumbase python (>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*) idna (==2.10)
sickrage python (>=3) idna (==2.10)
snowflake-connector-python python (>=3.6) idna (<3,>=2.5)
tldextract python (>=3.5) 
trio python (>=3.6) 
urlextract python () 
yarl python (>=3.6) idna (>=2.0)

so the only dependencies that are effected would be ones that unpin idna 3.* and allow Python 3.4, those are:

email-validator (allows any Python)
sickrage (allows Python>3)
urlextract (allows any Python and idna version)

@kjd
Copy link
Owner

kjd commented Jan 19, 2021

Thanks for the quick and comprehensive answer. I guess I have no problem targeting 3.5+ moving forward.

@kjd kjd merged commit 2b16336 into kjd:master Jan 19, 2021
@sethmlarson sethmlarson deleted the type-stubs branch January 19, 2021 18:00
@wbolster wbolster mentioned this pull request May 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants