Giter VIP home page Giter VIP logo

Comments (11)

oliver-sanders avatar oliver-sanders commented on August 17, 2024 1

Might be a good idea to add the "maintainer wanted" topic to the repo - https://github.com/topics/maintainer-wanted

from pyuv.

polkovnikov avatar polkovnikov commented on August 17, 2024 1

@bjornfor Please do this PR instead of me, just replace this line with Py_SET_REFCNT(self, refcnt);.

This change was enough for me to make this project compilable.

You may even do this without any credit to me. But as you wish.

from pyuv.

oliver-sanders avatar oliver-sanders commented on August 17, 2024

BTW, Thanks for great Python package!

Thanks from me too.

Also would be nice if you release prebuilt binary wheels on PyPi for all Python versions

See #270. This could be fixed with a new release.

Starting from Python 3.10 your library doesn't compile

See also this comment on the Conda Forge feedstock:

conda-forge/pyuv-feedstock#12 (comment)

Unfortunately the original author no longer has the time to work on this project. Would you be able to propose this change in a PR?

from pyuv.

saghul avatar saghul commented on August 17, 2024

Unfortunately the original author no longer has the time to work on this project. Would you be able to propose this change in a PR?

Happy to give the commit bit to someone who has the time to drive it forward.

from pyuv.

bjornfor avatar bjornfor commented on August 17, 2024

@polkovnikov: Can you turn your proposed fix into a PR please? (If not, let me know and I can probably make some copy-pasta PR and give you credit in the commit message.)

Why I'm here: my tmux uses powerline which uses pyuv -- I either have to remove powerline or fix pyuv.

from pyuv.

bjornfor avatar bjornfor commented on August 17, 2024

FYI, I added the change and started rebuilding pyuv against python3.7/3.8/3.9/3.10 but got build error undefined symbol: Py_SET_REFCNT for python<3.9. Python documentation confirms this observation.

from pyuv.

polkovnikov avatar polkovnikov commented on August 17, 2024

@bjornfor Current (unfixed) code should work for Python < 3.9, but new code with Py_SET_REFCNT should work for Python >= 3.9.

Near python.h file there is file patchlevel.h which has:

#define PY_MAJOR_VERSION        3
#define PY_MINOR_VERSION        9

so you can replace line with:

#if PY_MAJOR_VERSION * 100 + PY_MINOR_VERSION >= 309
    Py_SET_REFCNT(self, refcnt);
#else
    Py_REFCNT(self) = refcnt;
#endif

You may even implement a helper inline function that does fixed code above. But right now this code is used only in 1 line of whole project, so might be that helper is not needed, although should look nice if implemented.

from pyuv.

bjornfor avatar bjornfor commented on August 17, 2024

@polkovnikov: Thanks! (I actually came up with something similar on my own.)

Now the only remaining question is which branch should I make the PR against, @saghul ? v1.x or master?

It seems v1.x has two commits missing from master, not sure why. The last release seems to have been made from master branch (although the tag is reachable from both branches).

from pyuv.

saghul avatar saghul commented on August 17, 2024

master please.

from pyuv.

bjornfor avatar bjornfor commented on August 17, 2024

PR ready: #275

from pyuv.

bjornfor avatar bjornfor commented on August 17, 2024

This can be closed now. (I thought my "Fixes ..." comment in the commit message would auto-close, but it didn't.)

from pyuv.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.