sendgrid-python
sendgrid-python copied to clipboard
Upgrade to modern python
With python 2.7 being dropped (intentionally or not; See #1118 for why I say this) upgrading this package to modern python is very possible.
What does it mean to "upgrade to modern python"
- Migrate from
setup.py→pyproject.toml - Fully utilize
ruff(or any linters, but looks like you already are leaning on the side of ruff)- Related #1119
- Support typing. Either by inline types (ideal) or #1112
- Enforce typing. This is a much larger item compared to the others
There are more things that could be considered "modern python" but I think the above are the big ones.
Minor decision
Should a package manager be suggested? And if so, what one? My personal bias is that of uv.
You could have all expected dependencies living in pyproject.toml and uv.lcok files with dependency groups for testing, instead of the split requirements file you have now.
Related Issues
#956 #1090 Async? This will make async issues easier to resolve. But not explicitly a target of this issue.