You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/CONTRIBUTING.md
+29-13Lines changed: 29 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,28 +25,44 @@ or the Feature you have in mind.
25
25
26
26
We are very happy to receive Pull Requests considering:
27
27
28
-
* Style Guide. Follow the rules of [PEP8](http://legacy.python.org/dev/peps/pep-0008/) and make sure `tox -e lint` passes on your changes.
28
+
* Style Guide. Follow the rules of [PEP8](http://legacy.python.org/dev/peps/pep-0008/) and make sure `ruff format` and `ruff check --fix` passes on your changes.
29
29
* Tests. Make sure your code is covered by an automated test case. Make sure all tests pass.
30
30
31
31
## Development
32
32
33
-
radish can be installed as [editable install](https://setuptools.pypa.io/en/latest/userguide/development_mode.html).
33
+
Install the development dependencies with [uv](https://docs.astral.sh/uv/getting-started/installation/) this will create a virtual environment for you and install all dependencies there.
34
+
Make sure to install with `--all-extras` so that all optional dependencies are installed as well.
34
35
35
36
```bash
36
-
pip install -r requirements-dev.txt
37
-
pip install -e .
37
+
uv sync --all-extras
38
38
```
39
39
40
-
### tox: linting, testing, docs & more
40
+
### Linting & Formatting
41
41
42
-
radish uses [`tox`](https://tox.readthedocs.io/en/latest/) to automate development tasks,
43
-
like linting, testing, building the docs and creating the changelog.
42
+
Radish uses [ruff](https://docs.astral.sh/ruff/) for linting and formatting the code base.
44
43
45
-
The radish tox setup provides the following automated tasks:
44
+
```bash
45
+
uv run ruff check --fix
46
+
uv run format .
47
+
```
48
+
49
+
### Testing
50
+
51
+
To run the tests you can use pytest.
52
+
53
+
```bash
54
+
uv run pytest
55
+
```
46
56
47
-
*`lint`: formats and lints the code base using [`ruff`](https://docs.astral.sh/ruff/)
48
-
*`py<ver>`: runs tests with the Python Version from `<ver>`.
57
+
If you want to run the tests for a specific Python version you can use `uv` to do so:
49
58
50
-
Before commiting your changes, it's a good practice to run `tox`.
51
-
So that it'll run all the preconfigured tasks.
52
-
If they all pass - you are good to go for a Pull Request! :tada:
59
+
Make sure you have installed the development dependencies with that specific Python version first.
60
+
61
+
```bash
62
+
uv python install 3.10
63
+
```
64
+
Then you can run the tests like this (`--all-extras` since some tests require optional dependencies) (`--isolated` to avoid interference with the current environment):
65
+
66
+
```bash
67
+
uv run --isolated --python=3.11 --all-extras pytest
0 commit comments