blob: 51191f92ce25bd39e30076288a0f442372658564 [file] [view]
# Quick Start for Contributors
## Make and Makefile
We rely on `Makefile` to automate jobs, including setting up environments, testing and releasing.
First you need to have the `make` command available:
```shell
# ubuntu/wsl
sudo apt-get update
sudo apt-get -y install make
```
or
```shell
# windows powershell
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # Optional: Needed to run a remote script the first time
irm get.scoop.sh | iex
scoop install make
```
## Poetry
We have migrated from basic pip to [Poetry](https://python-poetry.org/) to manage dependencies and package our project.
Once you have `make` ready, run `make env`, this will automatically install the right Poetry release, and create
(plus manage) a `.venv` virtual environment for us based on the currently activated Python 3 version. Enjoy coding!
Note: Make sure you have `python3` aliased to `python` available on Windows computers instead of pointing to the Microsoft app store.
### Switching between Multiple Python Versions
Do not develop/test on Python < 3.10, since Python 3.8/3.9 have reached end of life
If you would like to test on multiple Python versions, run the following to switch and recreate virtual environment:
#### Without Python Version Tools
```bash
poetry env use python3.x
poetry install
```
#### With Python Version Tools
```shell
pyenv shell 3.13.0
poetry env use $(pyenv which python)
poetry install
```
Or try: `virtualenvs.prefer-active-python`, which is an experimental poetry feature that can be set to `true` so that it will
automatically follow environment.
# Next
Refer to the [Plugin Development Guide](How-to-develop-plugin.md) to learn how to build a new plugin for a library.
## Claude Code Skills
This project includes Claude Code configuration for AI-assisted development. See [Claude Code Skills](Claude-Code-Skills.md) for available skills (`/new-plugin`, `/plugin-test`) and what `CLAUDE.md` covers.