Skip to content

Roadmap to 1.0 commits #116

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

Merged
merged 5 commits into from
May 15, 2019
Merged

Roadmap to 1.0 commits #116

merged 5 commits into from
May 15, 2019

Conversation

pgjones
Copy link
Member

@pgjones pgjones commented Apr 6, 2019

Includes dropping Python 2.7, 3.5 and introducing typing.

@pgjones pgjones mentioned this pull request Apr 6, 2019
@pgjones
Copy link
Member Author

pgjones commented Apr 6, 2019

I think (if this is good) it can wait a couple of months before being merged (to make fixing any 0.14.0 bugs easier).

Copy link
Member

@Kriechi Kriechi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah! Finally we can make use of all the fancy shiny new python features 👍 🎉

I just have a few minor style questions.

@pgjones pgjones force-pushed the typing branch 2 times, most recently from 0c7b0bd to c465c26 Compare April 6, 2019 18:12
pgjones added 3 commits April 6, 2019 20:11
Python 2 will reach end of life on 2020-01-01, before then wsproto
will be released dropping Python 2 as progress is made towards a 1.0
release.

The UTF-8 Validator isn't required with Python 3 which can do the same
via the decode.
This allows for dataclasses to be used (backport for 3.6 exists, but
not 3.5) it also allows for the usage of PEP 526 variable annotations
in the upcoming typing commit.

3.6.1 Introduces typing for Deque which will be required to type hint
the codebase.

Sadly PyPy CI has had to be removed as Travis has no PyPy3.6 support
yet (although the testing did very little due to performance concerns,
see tox.ini).
Now that wsproto supports Python 3.6 or greater dataclasses can be
used. Doing so utilises a standard system (rather than the previous
bespoke version) for building these Event classes which then allows
other tools, such as mypy, to understand the structure of the events.
pgjones added 2 commits April 20, 2019 10:30
This fully type hints the wsproto codebase and uses mypy to ensure the
type hints are added and correct. This has identified some potential
bugs, see 582d052

The additional linting disable is because the mypy TYPE_CHECKING is
not understood by pylint.
This should allow the typing included with wsproto to be picked up by
mypy and used in projects that use wsproto.
@Kriechi
Copy link
Member

Kriechi commented May 14, 2019

@pgjones whats the progress here?

@pgjones
Copy link
Member Author

pgjones commented May 15, 2019

This is good to merge, I was planning to wait another month before doing so - I'm happy to merge though if you are.

@Kriechi Kriechi merged commit 76fc8e9 into python-hyper:master May 15, 2019
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.

2 participants