Thank you for your interest! Contributions of all kinds are welcome.
To understand how the library is structured as well the technical details before diving in, you can first read the developer documentation, and/or you can also read the docstrings of the modules and classes that you are working on.
Use this checklist to stay on track for your first code PR:
- Clone this repository: see Set up developer environment section.
- Check out the coding style: see Code style section.
- Run tests: run
make test-typesandmake fmtbefore you make a PR. - Open a PR on GitHub.
I know, we all use Claude/Codex/OpenClaw and co. to help us write code faster. I am no exception. Just make sure that you review the generated code carefully before you make your PR.
Important
It is not difficult to detect an AI-generated PR that was not reviewed at all, and I will have to reject such PRs immediately because it shows you did not take time checking what the AI wrote 🙂.
Please keep pull requests focused - only one feature or fix per PR! That would make review faster.
Open an issue on GitHub with:
- A short description of the problem or feature request.
- Steps to reproduce (for bugs).
- Your Python version, OS, the torch version, and, if applicable, the CUDA driver version.
This project uses uv instead of pip for managing dependencies and virtual environments. For an installation guide, please check out Astral's official documentation.
- Python >= 3.10
- uv
# 1. Clone the repository
git clone https://github.com/MechaCritter/Python-Visual-Similarity.git
cd Python-Visual-Similarity
# 2. Create a virtual environment and install all dependencies
uv venv .venv
uv pip install -e .
# 3. Set up pre-commit hooks
uv pip install pre-commit
pre-commit install
# 4. Check out your feature/bugfix branch
git switch -c my-branch- Use snake_case for variables and functions, PascalCase for classes.
- Use
reSTdocstrings and remember to annotate parameters and return values. An example:
def add(a: int, b: int) -> int:
"""Add two integers.
:param a: The first integer.
:param b: The second integer.
:return: The sum of a and b.
"""
return a + b- Open an issue on GitHub.
- Email: vunhathuy234@gmail.com
- LinkedIn: Nhat Huy Vu