forked from bead-project/bead
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Goal
Make bead installable via uv tool install bead to support modern Python development workflows using uv.
Dependencies
- Depends on: Publish bead to PyPI for pipx installation #1 (PyPI publication) - uv tool installs from PyPI
Background
uv is a modern, fast Python package and project manager written in Rust. Its uv tool command provides isolated tool installations similar to pipx, but with better performance and integration with uv's ecosystem.
Current Status
✅ Already compatible - No changes needed to the package itself:
- Has CLI entry point defined in pyproject.toml
- Pure Python package (noarch)
- Standard pyproject.toml configuration
- All dependencies available on PyPI
Required Steps
1. Verify PyPI Publication
- Ensure Publish bead to PyPI for pipx installation #1 is completed and
beadis available on PyPI - Verify package metadata is complete and correct
2. Test Installation
Once on PyPI, test the installation:
# Install bead as an isolated tool
uv tool install bead
# Verify it works
bead --version
bead --help3. Document uv Installation Method
Update README.md to include uv installation:
## Installation
### Using uv (recommended for uv users)
```bash
uv tool install beadUsing pipx (recommended for isolation)
pipx install beadUsing pip
pip install bead
### 4. Test Advanced Features
- [ ] Test with specific Python versions: `uv tool install --python 3.12 bead`
- [ ] Test upgrade workflow: `uv tool upgrade bead`
- [ ] Test with version constraints: `uv tool install 'bead>=0.8.0'`
- [ ] Verify all CLI commands work correctly in uv's isolated environment
### 5. Optional: Add uv Configuration
Consider adding `.python-version` file or `tool.uv` configuration if needed:
```toml
# pyproject.toml
[tool.uv]
dev-dependencies = [
"pytest>=7.0",
"flake8>=5.0",
# ... other dev deps
]
Benefits of uv tool support
- Fast installation: uv is significantly faster than pip/pipx
- Automatic isolation: Tools installed in isolated environments
- Better dependency resolution: More reliable solver
- Python version management: Can specify Python version per tool
- Modern workflow: Increasingly adopted by Python community
- Single tool: Users can use uv for both project and tool management
Testing Checklist
-
uv tool install beadworks -
beadcommand is available in PATH - All bead subcommands function correctly
-
uv tool upgrade beadworks for updates -
uv tool uninstall beadremoves cleanly - No conflicts with system Python or other tools
Expected Behavior
After uv tool install bead:
beadcommand available globally- Isolated from system and project dependencies
- Automatically uses compatible Python version
- Can be upgraded/uninstalled via uv tool
Notes
- No package changes required - uv tool uses standard PyPI packages
- Works alongside pipx and pip installations
- Users choose their preferred tool (uv, pipx, or pip)
References
Metadata
Metadata
Assignees
Labels
No labels