julien-duponchelle / python-mysql-replication

Pure Python Implementation of MySQL replication protocol build on top of PyMYSQL
2.33k stars 679 forks source link

Proposal: Add typing #434

Open soulee-dev opened 1 year ago

soulee-dev commented 1 year ago

Description

Adding typing support to the python-mysql-replication library could significantly improve code quality and maintainability. Type annotations help developers understand code more quickly, prevent certain errors, and allow modern IDEs to provide better tooling and auto-completion.

Scope

I am suggesting to add typing gradually throughout the codebase, starting with the core modules and gradually extending to other areas. This approach will allow us to ensure that the changes are solid and working as expected.

Proposal

Here's a rough outline of the proposed changes:

  1. Add type hints to core classes and functions in the project.
  2. Utilize mypy or other static type checking tools to enforce type consistency.
  3. Gradually apply typing to other parts of the codebase.
  4. Update documentation to reflect the newly added types.

And if you agree with this proposal, I'll write a PR quickly to start implementing the changes. Your support and collaboration in this enhancement would be greatly appreciated.

julien-duponchelle commented 1 year ago

Good idea !