-
Notifications
You must be signed in to change notification settings - Fork 85
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
Setup mypy in CI, and get full coverage of the sydent package #414
Comments
DMRobertson
pushed a commit
that referenced
this issue
Oct 15, 2021
DMRobertson
pushed a commit
that referenced
this issue
Oct 15, 2021
Shout out to getForClient, which a) mixes presentation with data and b) was a massive PITA to type hint. It's very very stringly typed. Part of #414
DMRobertson
pushed a commit
that referenced
this issue
Oct 15, 2021
I went a little mad with power adding TypeDicts to effictively provide a schema for the OpenMarket API. It was an useful exercise though. Part of #414.
This was referenced Oct 15, 2021
Will write down some more coherent thoughts in a minute but, here is a graph that demonstrates the change in MyPy's coverage: The first data point comes from just before @H-Shay's work to add type hints over the summer. The grey stripe represents the PRs in this issue. For completeness, I'll stick up a branch with the script I used to harvest the data and generate the graph. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This could have helped us to spot the problem fixed in #415 .
Edit: Related PRs:
mypy --strict
#418sydent.db
pass mypy --strict #421mypy --strict
#425sydent.terms
passmypy --strict
#428sydent.sms
passmypy --strict
#429sydent.replication
to passmypy --strict
#430sydent.config
passmypy --strict
#431sydent.hs_federation
passmypy --strict
#432sydent.http.auth
passingmypy --strict
#433sydent.http.federation_tls_options
passmypy --strict
#434sydent.http.srvresolver
passmypy --strict
#435IAgent
s should returnIResponse
s #443mypy --strict
forsydent.http.matrixfederationagent
#444mypy --strict
forsydent.http.servlets
#446mypy --strict
forsydent
package #448The text was updated successfully, but these errors were encountered: