Skip to content

chore: modernize development infrastructure and build configuration - #63

Closed
sfo2001 wants to merge 3 commits into
michaelarnauts:masterfrom
sfo2001:upstream/pr3-modernize-infrastructure
Closed

chore: modernize development infrastructure and build configuration#63
sfo2001 wants to merge 3 commits into
michaelarnauts:masterfrom
sfo2001:upstream/pr3-modernize-infrastructure

Conversation

@sfo2001

@sfo2001 sfo2001 commented Jun 23, 2025

Copy link
Copy Markdown
  • Add PEP 621 [project] section to pyproject.toml for dual Poetry/standard packaging support
  • Enhance CI/CD workflow with improved Python 3.10-3.13 testing matrix and caching
  • Add comprehensive development tooling: pytest-asyncio, pytest-cov, mypy, pylint-protobuf
  • Improve pylint configuration with protobuf support and better rule management
  • Add pytest configuration with asyncio mode and coverage reporting
  • Update Makefile with coverage reporting and enhanced pylint integration

sfo2001 and others added 2 commits June 23, 2025 20:58
The discovery process failed due to the default Python broadcast address not working in all cases, causing UDP packets to not leave the interface and resulting in no units being found in the local network. This fix ensures the correct broadcast address is used.
…ast-new

fix(discovery): resolve Windows broadcast discovery failure with ProactorEventLoop
@sfo2001
sfo2001 force-pushed the upstream/pr3-modernize-infrastructure branch 3 times, most recently from a456acf to 4f15e93 Compare June 23, 2025 20:58
This commit modernizes the project's development infrastructure while maintaining
backward compatibility. Rebased on top of PR1 (netifaces dependency fix).

Key improvements:
- Add PEP 621 [project] section to pyproject.toml for dual Poetry/standard packaging support
- Enhance CI/CD workflow with improved Python 3.10-3.13 testing matrix and caching
- Make tests optional in CI when tests directory doesn't exist (tests added in future PR)
- Add comprehensive development tooling: pytest-asyncio, pytest-cov, mypy, pylint-protobuf
- Improve pylint configuration with protobuf support and netifaces C extension handling
- Add pytest configuration with asyncio mode and coverage reporting
- Update Makefile with coverage reporting and enhanced pylint integration
- Fix code quality issues: specific exception handling and black formatting
- Update poetry.lock to include all dependencies (netifaces + new dev tools)

All quality checks pass with 10.00/10 pylint score and proper black formatting.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@sfo2001
sfo2001 force-pushed the upstream/pr3-modernize-infrastructure branch from 4f15e93 to 1bee1dc Compare June 23, 2025 21:06

Copy link
Copy Markdown
Owner

Thanks for the effort here — some of this (CI/packaging modernization) is genuinely useful.

I'm closing it because it bundles too many unrelated changes, and a few of them I can't take as-is:

  • It mixes CI/packaging changes with an actual source-code change to discovery.py (the same netifaces-based broadcast rework as fix(discovery): resolve Windows broadcast discovery failure with ProactorEventLoop #62). netifaces is unmaintained and I don't want it as a runtime dependency, and the change ships without tests.
  • It adds a full pytest/coverage/Codecov harness but no actual tests, and the CI is written to skip the test step when none are present.
  • It introduces a divergent dual build config — keeping [tool.poetry] while adding a parallel PEP 621 [project] table with mismatched dependency versions (e.g. grpcio-tools >=1.67.1 vs ^1.73.0).

If you'd like to resubmit, please split it up: a focused CI/packaging PR is welcome on its own, kept separate from any source or dependency changes. Thanks for understanding.


Generated by Claude Code

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