Skip to content

Modernize tooling: add ruff, uv, and CI#169

Open
shohamd4 wants to merge 2 commits into
progovoy:masterfrom
shohamd4:add-uv-ci
Open

Modernize tooling: add ruff, uv, and CI#169
shohamd4 wants to merge 2 commits into
progovoy:masterfrom
shohamd4:add-uv-ci

Conversation

@shohamd4
Copy link
Copy Markdown
Contributor

@shohamd4 shohamd4 commented Mar 25, 2026

Summary

Modernizes vmn's development tooling and CI infrastructure.

Changes

  • Linting/Formatting: Replace black/flake8 with ruff
  • Project Config: Migrate to pyproject.toml (PEP 621)
  • CI: Add GitHub Actions workflow (lint + test jobs)
  • Build Workflow: Update to use uv
  • Docker: Update test images to use uv
  • Scripts: Update prep_env.sh with uv (pip fallback)
  • Docs: Update CLAUDE.md and README.md with new setup instructions
  • Cleanup: Remove requirements.txt files (deps now in pyproject.toml)

Breaking Changes

⚠️ Python 3.8+ required (was 3.6+). Python 3.6 and 3.7 are EOL.

CI Notes

Skipped tests in CI:

  • test_perf_show.py - requires specific performance environment
  • backward_compatability_* tests - require Docker to build old vmn versions (some versions no longer on PyPI)

Files Changed

Category Files
CI .github/workflows/ci.yml (new), build-and-upload-vmn.yml
Config pyproject.toml (new), setup.py, Makefile
Docker tests/vmn_tester_*.dockerfile, tests/build_*.sh
Docs CLAUDE.md, README.md
Scripts prep_env.sh
Removed tests/requirements.txt, tests/test_requirements.txt

🤖 Generated with Claude Code

@shohamd4 shohamd4 force-pushed the add-uv-ci branch 4 times, most recently from 82eafcd to 5bb5500 Compare March 25, 2026 18:31
@shohamd4 shohamd4 force-pushed the add-uv-ci branch 6 times, most recently from a2e0992 to 8b59fd6 Compare March 25, 2026 19:05
@shohamd4 shohamd4 changed the title Add CI with uv, migrate to pyproject.toml Modernize tooling: add ruff, uv, and CI Mar 25, 2026
- Replace black/flake8 with ruff for linting and formatting
- Migrate project config to pyproject.toml (PEP 621)
- Add GitHub Actions CI workflow (lint + test)
- Update build-and-upload workflow to use uv
- Add uv.lock for reproducible builds
- Remove requirements.txt files (deps now in pyproject.toml)
- Update Makefile with ruff targets
- Update prep_env.sh to use uv
- Update docs with uv/ruff setup instructions

CI skips Docker-dependent backward compatibility tests
(old vmn versions no longer available on PyPI)
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.

1 participant