Skip to content

Conversation

@VishnuSanal
Copy link
Contributor

@VishnuSanal VishnuSanal commented Oct 29, 2024

Description

This PR fixes #

Summary

This PR does fix robyn builds failing for python v3.13

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:

notes to self:

  • build succeeds when building with PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 maturin develop
  • else, fails with the following error:
error: failed to run custom build command for `pyo3-ffi v0.20.3`

Caused by:
  process didn't exit successfully: `/home/vishnu/PycharmProjects/Robyn/target/debug/build/pyo3-ffi-0e37b8b8c00293fc/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=PYO3_CROSS
  cargo:rerun-if-env-changed=PYO3_CROSS_LIB_DIR
  cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_VERSION
  cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_IMPLEMENTATION
  cargo:rerun-if-env-changed=PYO3_PRINT_CONFIG
  cargo:rerun-if-env-changed=PYO3_USE_ABI3_FORWARD_COMPATIBILITY

  --- stderr
  error: the configured Python interpreter version (3.13) is newer than PyO3's maximum supported version (3.12)
  = help: please check if an updated version of PyO3 is available. Current version: 0.20.3
  = help: set PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to suppress this check and build anyway using the stable ABI
warning: build failed, waiting for other jobs to finish...

references:

@vercel
Copy link

vercel bot commented Oct 29, 2024

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 Jun 8, 2025 6:54pm

@dave42w
Copy link
Contributor

dave42w commented Oct 29, 2024

This is good to see! Thanks.

I wonder if more of the dependencies could be updated? For example jinja2 is now on 3.1.4 and we have 3.0.1

'watchdog == 4.0.1', now 5.0.3
'orjson == 3.9.15' now 3.10.10

All these still support at least python 3.9 (all but orjson still support 3.8)

fixes `poetry install` on Python v3.13

`pytest-codspeed` depends on `cffi` (`v1.15.1` -> `v1.17.0`)
`uvloop` (`0.19.0` -> `0.21.0`)
@VishnuSanal
Copy link
Contributor Author

  • else, fails with the following error:
error: failed to run custom build command for `pyo3-ffi v0.20.3`

Caused by:
  process didn't exit successfully: `/home/vishnu/PycharmProjects/Robyn/target/debug/build/pyo3-ffi-0e37b8b8c00293fc/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=PYO3_CROSS
  cargo:rerun-if-env-changed=PYO3_CROSS_LIB_DIR
  cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_VERSION
  cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_IMPLEMENTATION
  cargo:rerun-if-env-changed=PYO3_PRINT_CONFIG
  cargo:rerun-if-env-changed=PYO3_USE_ABI3_FORWARD_COMPATIBILITY

  --- stderr
  error: the configured Python interpreter version (3.13) is newer than PyO3's maximum supported version (3.12)
  = help: please check if an updated version of PyO3 is available. Current version: 0.20.3
  = help: set PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 to suppress this check and build anyway using the stable ABI
warning: build failed, waiting for other jobs to finish...

to fix this, we can update pyo3 to v0.24 which adds support for Python v3.13. but, for that we should also update pyo3-asyncio & pythonize to v0.24. unfortunately, pyo3-asyncio is unmaintained & we cannot do that. there's pyo3-async-runtimes which supports v0.24. I tried that too, but that comes with a lot of syntax & compilation errors.

Some errors have detailed explanations: E0277, E0308, E0412, E0432, E0433, E0599, E0614.
For more information about an error, try `rustc --explain E0277`.
warning: `robyn` (lib) generated 24 warnings
error: could not compile `robyn` (lib) due to 81 previous errors; 24 warnings emitted

since we have #957 down the road, should I move towards migrating to pyo3-async-runtimes? @sansyrox what do you think?

@sansyrox
Copy link
Member

should I move towards migrating to pyo3-async-runtimes?

let's do this for now

@VishnuSanal
Copy link
Contributor Author

VishnuSanal commented May 15, 2025

note to self: should also do the migrations from PyO3 v0.20.* to v0.21.* https://pyo3.rs/v0.21.0/migration.html

update: please see #1168

@codspeed-hq
Copy link

codspeed-hq bot commented Jun 7, 2025

CodSpeed Performance Report

Merging #1006 will not alter performance

Comparing VishnuSanal:fix-py-3-13 (b66841d) with main (608fefd)

Summary

✅ 138 untouched benchmarks

@VishnuSanal
Copy link
Contributor Author

@sansyrox PTAL here

@VishnuSanal VishnuSanal changed the title fix: [WIP] robyn builds failing for python v3.13 fix: robyn builds failing for python v3.13 Jun 8, 2025
@sansyrox sansyrox marked this pull request as ready for review June 8, 2025 17:22
@sansyrox
Copy link
Member

sansyrox commented Jun 8, 2025

@VishnuSanal ,

Add support for python3.13(languages supported) in pyproject.toml

Copy link
Member

@sansyrox sansyrox left a comment

Choose a reason for hiding this comment

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

LGTM! Great work @VishnuSanal

@sansyrox sansyrox merged commit f90cdcd into sparckles:main Jun 9, 2025
54 of 55 checks passed
@VishnuSanal VishnuSanal deleted the fix-py-3-13 branch June 9, 2025 05:46
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.

3 participants