Skip to content

Conversation

@acul71
Copy link
Contributor

@acul71 acul71 commented Jan 8, 2026

Summary

This PR fixes the documentation to reflect the migration to PEP 735 [dependency-groups] standard. The old pip install -e ".[dev]" syntax no longer works and has been replaced with pip install --group dev -e ..

Changes

  • ✅ Update all installation examples to use pip install --group dev syntax
  • ✅ Add setup script (scripts/setup_dev.sh) for easier development setup
  • ✅ Fix missing pip upgrade step in macOS CFLAGS/LDFLAGS example
  • ✅ Add missing pre-commit install step in Windows section
  • ✅ Add consistent pip version requirement comments across all sections
  • ✅ Update documentation to reflect migration from optional-dependencies to dependency-groups

Testing

  • ✅ Verified all pip install commands use correct syntax
  • ✅ Tested setup script works correctly
  • ✅ Verified make pr now works after correct installation

Related Issue

Fixes #1122

- Update all installation examples to use 'pip install --group dev' syntax
- Add setup script (scripts/setup_dev.sh) for easier development setup
- Fix missing pip upgrade step in macOS CFLAGS/LDFLAGS example
- Add missing pre-commit install step in Windows section
- Add consistent pip version requirement comments across all sections
- Update documentation to reflect migration from optional-dependencies to dependency-groups

This fixes the issue where 'make pr' fails due to incorrect dependency installation
syntax after the migration to PEP 735 [dependency-groups] standard.
@acul71
Copy link
Contributor Author

acul71 commented Jan 8, 2026

Tested only in (arch) linux, still have to test in windows and macos <-- This I need help

@sumanjeet0012
Copy link
Contributor

@acul71

I have tested this on macOS by creating multiple virtual environments and validating the setup using the following approaches.

  1. Using venv and the development setup script
cd py-libp2p
python3 -m venv ./venv
. venv/bin/activate
./scripts/setup_dev.sh
  1. Using pip with PEP 735–compatible dependency groups
pip install --upgrade pip 
pip install --group dev -e .
  1. Using uv
uv pip install --group dev -e .

After completing the setup with each method, I ran the make pr command, and everything worked as expected.

- Add Option 2 (uv) for Linux, macOS, and Windows sections
- Include uv installation instructions (curl, Homebrew, pip, winget)
- Show complete setup workflow using uv (same as CI)
- Reorganize pip setup as Option 3
- Remove redundant notes about uv since it's now a dedicated option

The setup script already prefers uv when available, so this makes the
documentation consistent with the tooling.
@acul71
Copy link
Contributor Author

acul71 commented Jan 9, 2026

Hi @seetadev and @pacrob
I've tested with linux (arch linux and Ubuntu 24.04.3 LTS) and it works
Thanks to @sumanjeet0012 that tested with Macos everything works also there.
About Windows:
I've tested with windows 10 dev install works.
I've tried ping-demo and it works.
Didn't test make pr 'cause I've tried to install wsl but windows 10 VM now won't boot anymore

Maybe this can be merged like this, without any further tests for windows

@seetadev seetadev merged commit f1b54e6 into main Jan 9, 2026
38 checks passed
@seetadev
Copy link
Contributor

seetadev commented Jan 9, 2026

Thanks a lot, both! 🙌

@acul71 — Excellent work driving this PR and the PEP 735 migration. The updated install instructions, setup script, uv support, and cross-platform notes significantly improve the dev experience. Really appreciate the thorough testing across Linux and Windows, and the clear context you shared.

@sumanjeet0012 — Thanks for stepping in with detailed macOS testing across venv, pip dependency groups, and uv, and for validating make pr. That extra coverage gave us strong confidence to merge.

Great collaboration and a solid docs upgrade all around. 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Documentation: Update installation instructions for PEP 735 dependency-groups

4 participants