1
1
# Development
2
2
3
- [ poetry] is a required package to develop.
3
+ Install and [ git] and [ uv]
4
+
5
+ Clone:
4
6
5
7
``` console
6
8
$ git clone https://github.com/tmux-python/libtmux.git
@@ -10,15 +12,20 @@ $ git clone https://github.com/tmux-python/libtmux.git
10
12
$ cd libtmux
11
13
```
12
14
15
+ Install packages:
16
+
13
17
``` console
14
- $ poetry install -E " docs test coverage lint "
18
+ $ uv sync --all-extras --dev
15
19
```
16
20
21
+ [ installation documentation ] : https://docs.astral.sh/uv/getting-started/installation/
22
+ [ git ] : https://git-scm.com/
23
+
17
24
Makefile commands prefixed with ` watch_ ` will watch files and rerun.
18
25
19
26
## Tests
20
27
21
- ` poetry run py.test`
28
+ ` uv run py.test`
22
29
23
30
Helpers: ` make test `
24
31
Rerun tests on file change: ` make watch_test ` (requires [ entr(1)] )
@@ -63,7 +70,7 @@ The project uses [ruff] to handle formatting, sorting imports and linting.
63
70
poetry:
64
71
65
72
```console
66
- $ poetry run ruff
73
+ $ uv run ruff
67
74
```
68
75
69
76
If you setup manually:
@@ -97,7 +104,7 @@ requires [`entr(1)`].
97
104
poetry:
98
105
99
106
```console
100
- $ poetry run ruff check . --fix
107
+ $ uv run ruff check . --fix
101
108
```
102
109
103
110
If you setup manually:
@@ -117,7 +124,7 @@ $ ruff check . --fix
117
124
poetry:
118
125
119
126
```console
120
- $ poetry run ruff format .
127
+ $ uv run ruff format .
121
128
```
122
129
123
130
If you setup manually:
@@ -145,7 +152,7 @@ $ make ruff_format
145
152
poetry:
146
153
147
154
```console
148
- $ poetry run mypy .
155
+ $ uv run mypy .
149
156
```
150
157
151
158
If you setup manually:
@@ -218,7 +225,7 @@ to PyPI.
218
225
This isn't used yet since package maintainers may want setup.py in the source.
219
226
See https://github.com/tmux-python/tmuxp/issues/625 .
220
227
221
- As of 0.10, [ poetry ] handles virtualenv creation, package requirements, versioning,
228
+ As of 0.10, [ uv ] handles virtualenv creation, package requirements, versioning,
222
229
building, and publishing. Therefore there is no setup.py or requirements files.
223
230
224
231
Update ` __version__ ` in ` __about__.py ` and ` pyproject.toml ` ::
@@ -227,11 +234,9 @@ Update `__version__` in `__about__.py` and `pyproject.toml`::
227
234
git tag v0.1.1
228
235
git push
229
236
git push --tags
230
- poetry build
231
- poetry deploy
232
237
233
238
[ twine ] : https://twine.readthedocs.io/
234
- [ poetry ] : https://python-poetry.org/
239
+ [ uv ] : https://github.com/astral-sh/uv
235
240
[ entr(1) ] : http://eradman.com/entrproject/
236
241
[ `entr(1)` ] : http://eradman.com/entrproject/
237
242
[ ruff format ] : https://docs.astral.sh/ruff/formatter/
0 commit comments