Skip to content

Fix #433: Migrate to UV #438

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

Merged
merged 7 commits into from
Jul 24, 2025
Merged

Conversation

senthurayyappan
Copy link
Member

  • Modifes all workflow files to use UV instead of poetry
  • Edits all makefile commands to use uv instead of poetry
  • Removes poetry.lock
  • Adds uv.lock
  • Updates all instructions to use UV

@senthurayyappan senthurayyappan changed the title Addresses #433: Migrate to UV Fix #433: Migrate to UV Jun 23, 2025
@@ -21,7 +21,7 @@ We offer two ways to install opensourceleg:

#### Prerequisites Explained

- **Python 3.9 or newer**: The library requires modern Python features. [Download Python here](https://www.python.org/downloads/)
- **Python 3.10 or newer**: The library requires modern Python features. [Download Python here](https://www.python.org/downloads/)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does OSL not support Python 3.9 anymore? It seems like uv supports Python 3.8+

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is due to a conflict with the newer flexsea library, which had some dependency issues with py3.9!

(base) holycow@0-0 opensourceleg % uv sync
  × No solution found when resolving dependencies for split (python_full_version == '3.9.*'):
  ╰─▶ Because flexsea<=6.0.5 depends on numpy>=1.19.dev0,<1.20.dev0 and only the following versions of flexsea are available:
          flexsea==5.0.0
          flexsea==5.0.1
          flexsea==5.0.2
          flexsea==5.0.3
          flexsea==5.0.4
          flexsea==5.0.5
          flexsea==5.0.6
          flexsea==5.0.7
          flexsea==6.0.0
          flexsea==6.0.1
          flexsea==6.0.2
          flexsea==6.0.3
          flexsea==6.0.4
          flexsea==6.0.5
          flexsea==10.0.0
          flexsea==10.1.2
          flexsea==10.1.3
          flexsea==10.1.4
          flexsea==10.1.5
          flexsea==10.1.6
          flexsea==10.1.7
          flexsea==10.1.8
          flexsea==10.1.9
          flexsea==10.5.0
          flexsea==10.5.1
          flexsea==10.5.2
          flexsea==10.5.3
          flexsea==11.0.0
          flexsea==11.0.1
          flexsea==11.0.2
          flexsea==11.0.3
          flexsea==11.0.4
          flexsea==11.0.5
          flexsea==11.0.6
          flexsea==11.0.7
          flexsea==11.0.8
          flexsea==11.0.9
          flexsea==12.0.0
          flexsea==12.0.1
          flexsea==12.0.2
          flexsea==12.0.3
          flexsea==12.0.4
      we can conclude that flexsea<10.0.0 depends on numpy>=1.19.dev0,<1.20.dev0. (1)

      Because the requested Python version (>=3.9, <4.0) does not satisfy Python>=3.11,<4.0 and all of:
          flexsea>=10.0.0,<=10.1.3
          flexsea>=11.0.0
      depend on Python>=3.11.0,<4.0.0, we can conclude that all of:
          flexsea>=10.0.0,<=10.1.3
          flexsea>=11.0.0
       cannot be used.
      And because we know from (1) that flexsea<10.0.0 depends on numpy>=1.19.dev0,<1.20.dev0, we can conclude that all of:
          flexsea<10.1.4
          flexsea>10.5.3
      depend on numpy>=1.19.dev0,<1.20.dev0. (2)

      Because the requested Python version (>=3.9, <4.0) does not satisfy Python>=3.10,<4.0 and flexsea>=10.1.4,<=10.5.3 depends on Python>=3.10,<4.0, we can conclude that
      flexsea>=10.1.4,<=10.5.3 cannot be used.
      And because we know from (2) that all of:
          flexsea<10.1.4
          flexsea>10.5.3
      depend on numpy>=1.19.dev0,<1.20.dev0, we can conclude that all versions of flexsea depend on numpy>=1.19.dev0,<1.20.dev0.
      And because opensourceleg[dephy] depends on flexsea, we can conclude that opensourceleg[dephy] depends on numpy>=1.19.dev0,<1.20.dev0.
      And because your project depends on numpy>=1.24.3,<2 and your project requires opensourceleg[dephy], we can conclude that your project's requirements are
      unsatisfiable.

      hint: The `requires-python` value (>=3.9, <4.0) includes Python versions that are not supported by your dependencies (e.g., all of:
          flexsea>=10.0.0,<=10.1.3
          flexsea>=11.0.0
       only supports >=3.11.0, <4.0.0). Consider using a more restrictive `requires-python` value (like >=3.11.0, <4.0.0).
(base) holycow@0-0 opensourceleg % 

And it seems too troublesome to support different versions of Flexsea.

@senthurayyappan senthurayyappan merged commit a4eeaa1 into neurobionics:main Jul 24, 2025
5 of 6 checks passed
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