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
-[poethepoet](https://github.com/nat-n/poethepoet) for running development tasks as defined in pyproject.toml
59
59
- Can be installed to your host environment via `pip install poethepoet` then executed as simple `poe`
60
-
- or run from the poetry venv as `poetry run poe`
60
+
- or run from the uv environment as `uv run poe`
61
+
62
+
### Getting Started
63
+
64
+
This project uses a uv workspace with two packages:
65
+
-`betterproto2` - The main library
66
+
-`betterproto2_compiler` - The protoc plugin
67
+
68
+
```bash
69
+
# Install dependencies and sync the workspace
70
+
uv sync
71
+
72
+
# Build all packages
73
+
uv build --all-packages
74
+
75
+
# Set up test outputs (required before running tests)
76
+
# Note: This requires grpcio-tools to be installed
77
+
cd betterproto2_compiler && uv run poe generate
78
+
cd ../betterproto2 && uv run poe get-local-compiled-tests
79
+
cd ..
80
+
81
+
# Run tests (after setting up test outputs)
82
+
uv run poe test
83
+
84
+
# Format code using ruff directly
85
+
uv run ruff format betterproto2/src betterproto2/tests betterproto2_compiler/src betterproto2_compiler/tests
86
+
87
+
# Check code using ruff directly
88
+
uv run ruff check betterproto2/src betterproto2/tests betterproto2_compiler/src betterproto2_compiler/tests
89
+
```
90
+
91
+
### Notes
92
+
93
+
- The `generate` task requires `grpcio-tools` to be available. If you encounter import errors when running tests, you may need to install additional dependencies or use pre-generated test outputs.
94
+
- The workspace-level poe tasks (format, check) reference directories that don't exist at the workspace root, so use the direct ruff commands shown above.
95
+
- Individual packages have their own specific tasks - check `uv run poe --help` from within each package directory for more options.
0 commit comments