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)] )
@@ -60,10 +67,10 @@ The project uses [ruff] to handle formatting, sorting imports and linting.
60
67
61
68
```` {tab} Command
62
69
63
- poetry :
70
+ uv :
64
71
65
72
```console
66
- $ poetry run ruff
73
+ $ uv run ruff
67
74
```
68
75
69
76
If you setup manually:
@@ -94,10 +101,10 @@ requires [`entr(1)`].
94
101
95
102
```` {tab} Fix files
96
103
97
- poetry :
104
+ uv :
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:
@@ -114,10 +121,10 @@ $ ruff check . --fix
114
121
115
122
```` {tab} Command
116
123
117
- poetry :
124
+ uv :
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:
@@ -142,10 +149,10 @@ $ make ruff_format
142
149
143
150
```` {tab} Command
144
151
145
- poetry :
152
+ uv :
146
153
147
154
```console
148
- $ poetry run mypy .
155
+ $ uv run mypy .
149
156
```
150
157
151
158
If you setup manually:
@@ -213,12 +220,12 @@ $ git tag v0.9.1
213
220
After ` git push ` and ` git push --tags ` , CI will automatically build and deploy
214
221
to PyPI.
215
222
216
- ### Releasing with Poetry (manual)
223
+ ### Releasing via GitHub Actions (manual)
217
224
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