Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Use uv for Python Environment Management to Improve Install Speed #333

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

Yvictor
Copy link

@Yvictor Yvictor commented Oct 11, 2024

Description:

This PR proposes switching the Python environment manager to uv to improve installation speed and overall developer experience. uv provides faster package installations and simplifies the environment setup process, reducing time spent on configuration.

Changes Introduced:

  • Environment Manager Update: Replaced the existing Python environment manager with uv.
  • Improved Installation Speed: Leveraging uv for faster installation times, particularly when managing numerous dependencies.
  • Simplified Environment Setup: Easier and more efficient setup for developers.

Rationale:

  • Performance: uv offers better performance in dependency resolution and package installation, reducing overhead.
  • Consistency: Provides a consistent development environment across machines, minimizing dependency conflicts.
  • Developer Efficiency: Quicker environment setup improves productivity for contributors.

Tests Performed:

  • Tested installation on macOS using uv.
  • Confirmed that all dependencies are installed and the project runs correctly.

Future Considerations:

  • Documentation updates to explain the use of uv for new contributors.

@AlexCheema
Copy link
Contributor

Very cool! I will add a $200 retrospective bounty as this is great.

Two things:

  • Can you add uv as a prerequisite in the README?
  • Is it possible to keep the exo command that we had previously? i.e. being able to run exo instead of uv run exo

@Yvictor
Copy link
Author

Yvictor commented Oct 12, 2024

Thank you for the kind words and the bounty offer!

I've addressed the two points you raised:

  1. Added uv as a prerequisite: The README has been updated to reflect uv as a required tool for environment setup.
  2. Adjusted to keep the exo command: I've changed the process to use uv tool install . instead of uv run exo, ensuring the exo command remains available, preserving the original behavior.

Please let me know if you'd like any further adjustments or improvements!

@AlexCheema
Copy link
Contributor

We have quite a few big PR's pending that will get merged in the next few weeks and this will cause a lot of conflicts so will merge this once they are merged.

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.

2 participants