Skip to content

refactor: necessary refactoring of pyproject.toml#1232

Draft
thePromger wants to merge 2 commits intosparckles:mainfrom
thePromger:chng-toml
Draft

refactor: necessary refactoring of pyproject.toml#1232
thePromger wants to merge 2 commits intosparckles:mainfrom
thePromger:chng-toml

Conversation

@thePromger
Copy link
Copy Markdown
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:

@vercel
Copy link
Copy Markdown

vercel bot commented Aug 7, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
robyn Ready Ready Preview, Comment Mar 28, 2026 7:50pm

@recurseml
Copy link
Copy Markdown

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
Copy Markdown
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.

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq bot commented Aug 7, 2025

Merging this PR will not alter performance

✅ 189 untouched benchmarks


Comparing thePromger:chng-toml (5f2bd0b) with main (3e04c65)

Open in CodSpeed

@thePromger
Copy link
Copy Markdown
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
Copy Markdown
Member

sansyrox commented Aug 8, 2025

@thePromger , update them here :D

pyproject.toml Outdated
# 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
Copy Markdown
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
Copy Markdown
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

pyproject.toml Outdated
Comment on lines +28 to +31
"inquirerpy >= 0.3.4",
"multiprocess >= 0.70.14",
"orjson >= 3.11.0",
"rustimport >= 1.3.4",
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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.

@sansyrox sansyrox force-pushed the main branch 3 times, most recently from 5fb08e0 to 0472e42 Compare February 15, 2026 06:39
* 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
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 28, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 630e91ed-4e66-4004-87d6-9eada70b72a8

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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