Skip to content

Modernize packaging + drop support for 3.7 and 3.8 #487

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

Open
wants to merge 6 commits into
base: dev
Choose a base branch
from

Conversation

cdce8p
Copy link
Contributor

@cdce8p cdce8p commented Jun 16, 2025

  • Move metadata from setup.py to pyproject.toml
  • Drop support for outdated Python versions: 3.7 and 3.8
  • Remove REQUIRED_PYTHON_VER from pyhap.const. It's only stored in the project metadata now.
  • Update workflow files + add recent Python releases to test matrix (up to 3.13)
  • Adjust tests for recent changes in pytest-asyncio and resolve test warnings
  • Update formatting with black 25.1.0
  • Replace async_timeout with asyncio.timeout on Python 3.11+

Metadata diff

 ...
-License: Apache-2.0
+License-Expression: Apache-2.0
+Author: Ivan Kalchev
-Home-page: https://github.com/ikalchev/HAP-python
-Project-URL: Source, https://github.com/ikalchev/HAP-python/tree/master
+Project-URL: Source, https://github.com/ikalchev/HAP-python
 Project-URL: Bug Reports, https://github.com/ikalchev/HAP-python/issues
 Project-URL: Documentation, http://hap-python.readthedocs.io/en/latest/
 ...
-Classifier: License :: OSI Approved :: Apache Software License
 ...
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
+Classifier: Programming Language :: Python :: 3.13
 ...
-Requires-Python: >=3.7
+Requires-Python: >=3.9
 ...
 License-File: LICENSE
+License-File: AUTHORS
-Requires-Dist: async_timeout
+Requires-Dist: async_timeout; python_version < "3.11"
 ...

@cdce8p
Copy link
Contributor Author

cdce8p commented Jun 16, 2025

This should unblock most of the CI jobs. Only the coverage job is still failing. @bdraco Would you mind taking a look at this?

@bdraco
Copy link
Contributor

bdraco commented Jun 16, 2025

Sorry, I don't have merge rights on this repo.

@cdce8p
Copy link
Contributor Author

cdce8p commented Jun 16, 2025

Sorry, I don't have merge rights on this repo.

Just remember that you approved one of my PRs but checking looking back at #484 it was indeed merged by Ivan. Sorry for the confusion.

@ikalchev
Copy link
Owner

Hi all, will review and merge soon

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.

3 participants