@@ -7,27 +7,37 @@ https://www.launchableinc.com/docs/getting-started/.
77
88## Preparation
99
10- We recommend Pipenv
10+ We recommend uv for dependency management:
1111
1212``` shell
13- pip install pipenv==2021.5.29
14- pipenv install --dev
13+ # Install uv
14+ curl -LsSf https://astral.sh/uv/install.sh | sh
15+
16+ # Install dependencies
17+ uv sync --dev
1518```
1619
1720In order to automatically format files with autopep8, this repository contains a
1821configuration for [ pre-commit] ( https://pre-commit.com ) . Install the hook with
19- ` pipenv run pre-commit install` .
22+ ` uv run pre-commit install` .
2023
2124## Load development environment
2225
2326``` shell
24- pipenv shell
27+ # Activate virtual environment
28+ source .venv/bin/activate
29+ # or use uv run for individual commands
30+ uv run < command>
2531```
2632
2733## Run tests cli
2834
2935``` shell
30- pipenv run test
36+ # Using poethepoet (recommended)
37+ uv run poe test
38+
39+ # Direct command
40+ uv run python -m unittest
3141```
3242
3343## Run tests exe_deploy.jar
@@ -36,12 +46,58 @@ pipenv run test
3646bazel test ...
3747```
3848
49+ ## Available Development Tasks
50+
51+ This project uses [ poethepoet] ( https://poethepoet.natn.io/ ) for task management. Available tasks:
52+
53+ ``` shell
54+ # Show all available tasks
55+ uv run poe --help
56+
57+ # Run tests
58+ uv run poe test
59+
60+ # Run tests with XML output
61+ uv run poe test-xml
62+
63+ # Run linting
64+ uv run poe lint
65+
66+ # Run type checking
67+ uv run poe type
68+
69+ # Format code
70+ uv run poe format
71+
72+ # Build package
73+ uv run poe build
74+
75+ # Install package locally
76+ uv run poe install
77+ ```
78+
3979## Add dependency
4080
4181``` shell
42- pipenv install --dev some-what-module
82+ # Add runtime dependency
83+ uv add some-package
84+
85+ # Add development dependency
86+ uv add --dev some-dev-package
4387```
4488
89+ ## Updating Python Version
90+
91+ When updating the Python version requirement, update the following files:
92+
93+ 1 . ** ` .python-version ` ** - Used by pyenv, uv, and local development
94+ 2 . ** ` pyproject.toml ` ** - Update ` requires-python = ">=X.Y" `
95+ 3 . ** ` setup.cfg ` ** - Update ` python_requires = >=X.Y `
96+ 4 . ** ` .github/workflows/python-package.yml ` ** - Update ` python-version: ["X.Y"] `
97+ 5 . ** ` .github/workflows/python-publish.yml ` ** - Update ` uv python install X.Y `
98+ 6 . ** ` README.md ` ** - Update prerequisite section
99+ 7 . ** ` CLAUDE.md ` ** - Update development notes
100+
45101# How to release
46102
47103Create new release on Github, then Github Actions automatically uploads the
@@ -59,7 +115,7 @@ You can install the `launchable` command from either source or [pypi](https://py
59115
60116## Prerequisite
61117
62- - \> = Python 3.6
118+ - \> = Python 3.13
63119- \> = Java 8
64120
65121## Install from source
0 commit comments