11# Development
22
3- [ poetry] is a required package to develop.
3+ Install and [ git] and [ uv]
4+
5+ Clone:
46
57``` console
68$ git clone https://github.com/tmux-python/libtmux.git
@@ -10,15 +12,20 @@ $ git clone https://github.com/tmux-python/libtmux.git
1012$ cd libtmux
1113```
1214
15+ Install packages:
16+
1317``` console
14- $ poetry install -E " docs test coverage lint "
18+ $ uv sync --all-extras --dev
1519```
1620
21+ [ installation documentation ] : https://docs.astral.sh/uv/getting-started/installation/
22+ [ git ] : https://git-scm.com/
23+
1724Makefile commands prefixed with ` watch_ ` will watch files and rerun.
1825
1926## Tests
2027
21- ` poetry run py.test`
28+ ` uv run py.test`
2229
2330Helpers: ` make test `
2431Rerun 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.
6067
6168```` {tab} Command
6269
63- poetry :
70+ uv :
6471
6572```console
66- $ poetry run ruff
73+ $ uv run ruff
6774```
6875
6976If you setup manually:
@@ -94,10 +101,10 @@ requires [`entr(1)`].
94101
95102```` {tab} Fix files
96103
97- poetry :
104+ uv :
98105
99106```console
100- $ poetry run ruff check . --fix
107+ $ uv run ruff check . --fix
101108```
102109
103110If you setup manually:
@@ -114,10 +121,10 @@ $ ruff check . --fix
114121
115122```` {tab} Command
116123
117- poetry :
124+ uv :
118125
119126```console
120- $ poetry run ruff format .
127+ $ uv run ruff format .
121128```
122129
123130If you setup manually:
@@ -142,10 +149,10 @@ $ make ruff_format
142149
143150```` {tab} Command
144151
145- poetry :
152+ uv :
146153
147154```console
148- $ poetry run mypy .
155+ $ uv run mypy .
149156```
150157
151158If you setup manually:
@@ -213,12 +220,12 @@ $ git tag v0.9.1
213220After ` git push ` and ` git push --tags ` , CI will automatically build and deploy
214221to PyPI.
215222
216- ### Releasing with Poetry (manual)
223+ ### Releasing via GitHub Actions (manual)
217224
218225This isn't used yet since package maintainers may want setup.py in the source.
219226See https://github.com/tmux-python/tmuxp/issues/625 .
220227
221- As of 0.10, [ poetry ] handles virtualenv creation, package requirements, versioning,
228+ As of 0.10, [ uv ] handles virtualenv creation, package requirements, versioning,
222229building, and publishing. Therefore there is no setup.py or requirements files.
223230
224231Update ` __version__ ` in ` __about__.py ` and ` pyproject.toml ` ::
@@ -227,11 +234,9 @@ Update `__version__` in `__about__.py` and `pyproject.toml`::
227234 git tag v0.1.1
228235 git push
229236 git push --tags
230- poetry build
231- poetry deploy
232237
233238[ twine ] : https://twine.readthedocs.io/
234- [ poetry ] : https://python-poetry.org/
239+ [ uv ] : https://github.com/astral-sh/uv
235240[ entr(1) ] : http://eradman.com/entrproject/
236241[ `entr(1)` ] : http://eradman.com/entrproject/
237242[ ruff format ] : https://docs.astral.sh/ruff/formatter/
0 commit comments