Skip to content

Latest commit

 

History

History
74 lines (49 loc) · 2.73 KB

File metadata and controls

74 lines (49 loc) · 2.73 KB

Contributing to NPU Proxy

Thank you for your interest in NPU Proxy! This is a personal project, and I appreciate any contributions.

Project Status

This is a personal/hobby project. I check for issues and pull requests occasionally, so please be patient with response times.

How to Contribute

Found a Bug?

  1. Check if the issue already exists in GitHub Issues
  2. If not, open a new issue with:
    • Your environment (OS, Python version, OpenVINO version)
    • Steps to reproduce
    • Expected vs actual behavior

Want to Add a Feature?

  1. Open an issue first to discuss the idea
  2. Fork the repository
  3. Create a feature branch
  4. Write tests for your changes
  5. Submit a pull request

Forking Encouraged

If you need changes faster than I can review them, or want to take the project in a different direction, please fork! That's what open source is for.

Development Setup

# Clone your fork
git clone https://github.com/YOUR_USERNAME/npu-proxy.git
cd npu-proxy

# Create virtual environment
python -m venv .venv
.venv\Scripts\activate  # Windows
# or: source .venv/bin/activate  # Linux/macOS

# Install runtime and development/test dependencies
pip install -r requirements.txt -r requirements-dev.txt

# Run the fast test suite
python -m pytest -m "not slow and not e2e"

The fast test suite is the default contributor check; it currently has 648 passing tests. Tests marked slow or e2e require real NPU/model hardware. Two OpenVINO SWIG DeprecationWarnings are expected and harmless.

There is no configured lint or formatter command in this repository. Follow existing style and run the fast tests before opening a pull request.

To build the Windows executable, create/use the virtual environment above, then run:

.\scripts\build_windows.ps1

Code Style

  • Follow existing code patterns
  • Add type hints to new functions
  • Include docstrings (Google style)
  • Run tests before submitting PRs
  • If behavior changes, update the release-truth docs in README.md, SPEC.md, and the relevant files under docs/ and packaging/

Agent Skills

This repo ships Agent Skills in .agents/skills/ — packaged procedural knowledge that AI coding agents (Claude Code, Cursor, GitHub Copilot, Gemini CLI, etc.) discover automatically on clone. They encode this codebase's fragile invariants (device routing, model conversion, embeddings, API compatibility, operations, releasing). If you change one of those subsystems, update the matching skill in the same PR. See .agents/skills/README.md.

License

By contributing, you agree that your contributions will be licensed under the MIT License.