Skip to content

Conversation

@aaron-skydio
Copy link
Member

@aaron-skydio aaron-skydio commented May 17, 2024

This lets us to an actual full solve for each python version, instead of
the ad-hoc patching we've been doing, which is much more scalable,
especially as parts of the ecosystem start dropping py3.8 and we're
trying to maintain py3.8 through 3.13 and beyond (at least for now?).
Afaik pip-tools isn't capable of doing a solve for python versions other
than what's installed, and uv is nicer anyway. uv also has this new
lockfile
thing they're pushing for, but it's uv-specific so I'd rather not lock us or
users into that.

Last I tried this, uv didn't support solving for python versions other
than the running interpreter; now they do (except that dependencies that
don't have wheels need to get built with an actual Python interpreter).

I previously had a GitHub action to build requirements for all Python
versions; it was super fast (<1m) and kinda convenient, it'd just make a
PR. I think I like just having the requirements test do it now though,
now that it's possible to do that way.

Topic: sf-uv

@aaron-skydio
Copy link
Member Author

aaron-skydio commented May 17, 2024

Reviews in this chain:
#392 [SymForce] Use uv for requirements
 └#432 [SymForce] Upgrade requirements
  └#431 [SymForce] Python 3.13 tests/wheels

@aaron-skydio
Copy link
Member Author

aaron-skydio commented May 17, 2024

# head base diff date summary
0 e044fe84 04ccac19 diff May 16 23:52 PM 3 files changed, 121 insertions(+), 110 deletions(-)
1 5392e258 04ccac19 diff Dec 17 21:22 PM 14 files changed, 1555 insertions(+), 71 deletions(-)
2 e4744e49 04ccac19 diff Dec 17 23:53 PM 1 file changed, 3 insertions(+), 3 deletions(-)
3 1ca9a56b 04ccac19 diff Dec 18 0:04 AM 1 file changed, 3 insertions(+), 3 deletions(-)
4 1207aa33 da8ea1a8 diff Mar 7 0:11 AM 11 files changed, 1069 insertions(+), 600 deletions(-)
5 3c2cea15 da8ea1a8 diff Mar 7 0:14 AM 1 file changed, 3 insertions(+), 3 deletions(-)
6 81f8e08c ce4c37bc diff Mar 17 0:04 AM 10 files changed, 362 insertions(+), 991 deletions(-)
7 b73d4bd9 ce4c37bc diff Mar 17 0:10 AM 1 file changed, 3 insertions(+), 3 deletions(-)
8 1a9d031d ce4c37bc diff Mar 17 1:05 AM 4 files changed, 4 insertions(+), 4 deletions(-)
9 cbec7418 ce4c37bc diff Mar 17 13:12 PM 1 file changed, 7 insertions(+), 1 deletion(-)
10 b3b318fb ce4c37bc diff Mar 17 15:16 PM 1 file changed, 2 insertions(+)
11 9305080e ce4c37bc diff Mar 17 23:26 PM 1 file changed, 12 insertions(+), 2 deletions(-)
12 dbf5e9a0 ce4c37bc diff Mar 18 18:23 PM 7 files changed, 22 insertions(+), 16 deletions(-)
13 9b0152ee ce4c37bc diff Mar 18 19:12 PM 3 files changed, 51 insertions(+), 38 deletions(-)
14 db5b3c60 ce4c37bc diff Mar 18 19:43 PM 1 file changed, 4 insertions(+), 4 deletions(-)

@aaron-skydio aaron-skydio force-pushed the aaron/revup/main/sf-uv branch from e044fe8 to 5392e25 Compare December 18, 2024 05:22
@aaron-skydio aaron-skydio mentioned this pull request Dec 18, 2024
@aaron-skydio aaron-skydio force-pushed the aaron/revup/main/sf-uv branch 2 times, most recently from e4744e4 to 1ca9a56 Compare December 18, 2024 08:04
@aaron-skydio aaron-skydio force-pushed the aaron/revup/main/sf-uv branch 2 times, most recently from 1207aa3 to 3c2cea1 Compare March 7, 2025 08:14
@aaron-skydio aaron-skydio force-pushed the aaron/revup/main/sf-uv branch 2 times, most recently from 81f8e08 to b73d4bd Compare March 17, 2025 07:10
@aaron-skydio aaron-skydio force-pushed the aaron/revup/main/sf-uv branch from b73d4bd to 1a9d031 Compare March 17, 2025 08:05
@aaron-skydio aaron-skydio force-pushed the aaron/revup/main/sf-uv branch 4 times, most recently from b3b318f to 9305080 Compare March 18, 2025 06:26
This lets us to an actual full solve for each python version, instead of
the ad-hoc patching we've been doing, which is much more scalable,
especially as parts of the ecosystem start dropping py3.8 and we're
trying to maintain py3.8 through 3.13 and beyond (at least for now?).
Afaik pip-tools isn't capable of doing a solve for python versions other
than what's installed, and uv is nicer anyway. uv also has this new
[lockfile](https://docs.astral.sh/uv/concepts/projects/layout/#the-lockfile)
thing they're pushing for, but it's uv-specific so I'd rather not lock us or
users into that.

Last I tried this, uv didn't support solving for python versions other
than the running interpreter; now they do (except that dependencies that
don't have wheels need to get built with an actual Python interpreter).

I previously had a GitHub action to build requirements for all Python
versions; it was super fast (<1m) and kinda convenient, it'd just make a
PR.  I think I like just having the requirements test do it now though,
now that it's possible to do that way.

Topic: sf-uv
@aaron-skydio aaron-skydio force-pushed the aaron/revup/main/sf-uv branch 3 times, most recently from 9b0152e to db5b3c6 Compare March 19, 2025 02:43
@aaron-skydio aaron-skydio deleted the aaron/revup/main/sf-uv branch July 7, 2025 22:19
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