Skip to content

Conversation

thePromger
Copy link
Contributor

@thePromger thePromger commented Aug 7, 2025

  • Adds requires-python tag/attributes which helps users+build_tool/pip to find minimum version supported

  • Changes version constraint from exact to lowest version supported to be used

  • Adding uv.lock file to be used in CI/CD or for development by some other maintainers

PR Checklist

Please ensure that:

  • The PR contains a descriptive title
  • The PR contains a descriptive summary of the changes
  • You build and test your changes before submitting a PR.
  • You have added relevant documentation
  • You have added relevant tests. We prefer integration tests wherever possible

Pre-Commit Instructions:

* Adds requires-python tag/attributes which helps users+build_tool/pip to find minimum version supported
* Changes version constraint from exact to lowest version supported to be used
Copy link

vercel bot commented Aug 7, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
robyn ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 8, 2025 5:36pm

Copy link

recurseml bot commented Aug 7, 2025

✨ No files to analyze in this PR.

Need help? Join our Discord for support!
https://discord.gg/qEjHQk64Z9

@thePromger
Copy link
Contributor Author

@sansyrox
i might need to update some dependencies, should i update them in this PR itself or create new one?
To update project/dev/test dependencies.

Copy link

codspeed-hq bot commented Aug 7, 2025

CodSpeed Performance Report

Merging #1232 will degrade performances by 25.45%

Comparing thePromger:chng-toml (6733c28) with main (d29608d)

🎉 Hooray! pytest-codspeed just leveled up to 4.0.0!

A heads-up, this is a breaking change and it might affect your current performance baseline a bit. But here's the exciting part - it's packed with new, cool features and promises improved result stability 🥳!
Curious about what's new? Visit our releases page to delve into all the awesome details about this new version.

Summary

❌ 2 regressions
✅ 148 untouched benchmarks

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Benchmarks breakdown

Benchmark BASE HEAD Change
test_exception_handling[/sync/get/no_dec-get] 4.7 ms 5.6 ms -16.18%
test_basic_get[/sync/dict-sync dict get-sync-dict] 4.7 ms 6.3 ms -25.45%

@thePromger
Copy link
Contributor Author

Did these change, because i saw in many big projects that they dont put upper bound limit for deps instead they just define lower bound limit supported, later i am able to understand the reason little bit.
If we dont pin the exact version, so pip can download the dep according to host's os+python requirements which have many advantages than pinning exact version.

@thePromger thePromger marked this pull request as draft August 7, 2025 18:57
@sansyrox
Copy link
Member

sansyrox commented Aug 8, 2025

@thePromger , update them here :D

# conditional
"uvloop~=0.21.0; sys_platform != 'win32' and platform_python_implementation == 'CPython' and platform_machine != 'armv7l'",
"watchdog == 4.0.1",
"uvloop >= 0.21.0; sys_platform != 'win32' and platform_python_implementation == 'CPython' and platform_machine != 'armv7l'",
Copy link
Member

Choose a reason for hiding this comment

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

let's pin uvloop

Copy link
Contributor Author

Choose a reason for hiding this comment

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

can i know the reason behing it?
bcoz if we dont pin so pip will automatically do install correct version according to host pc requirements

Comment on lines +28 to +31
"inquirerpy >= 0.3.4",
"multiprocess >= 0.70.14",
"orjson >= 3.11.0",
"rustimport >= 1.3.4",
Copy link
Member

Choose a reason for hiding this comment

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

let's pin the latest working versions

Copy link
Contributor Author

@thePromger thePromger Aug 8, 2025

Choose a reason for hiding this comment

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

bro
i dont think that we should pin them, i saw fastapi, django, pandas, polars all are have specified requirement constraint as <= not like ==.
if we pin (==) then we need to update it regularly and if we just specify minimum version supported/required then if some breaking changes come to the dependency being in used, then only we need to fix that by finding work around or just limit to previous versions before the version which has breaking changes

@thePromger
Copy link
Contributor Author

@sansyrox
do read more about it, why codspeed performance dropped?
https://github.com/CodSpeedHQ/pytest-codspeed/releases

CodSpeed Performance Report

Merging #1232 will degrade performances by 25.45%

what i am able to understand that this 25% performance drop is due to because we unpin the exact version, which allows pip to use latest version supported by host requirements
and from pytest-codspeed==3.0.0 something they introduced new way of measuring/benchmark method known as wall time
and from that version its set by default and to use that new method, we need to do some setup/changes like using their own runners and some other requirements too

let me test some senarious in robyn's CI inside this PR itself

@thePromger
Copy link
Contributor Author

@sansyrox
locally both codspeed-mode={instrumentation,walltime} both are working fine today, but i don't know what is the issue in CI
note: yesterday, i think when used walltime (it took high cpu usage + every test takes very much longer time) in codespaces(i received the notification from them) and when defined mode as instrumentation it worked smoothly without any lags/delays.

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