Comments (11)
Might be a good idea to add the "maintainer wanted" topic to the repo - https://github.com/topics/maintainer-wanted
from pyuv.
@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.
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.
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.
@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.
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.
@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.
@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.
master please.
from pyuv.
PR ready: #275
from pyuv.
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)
- Test errors on OSX HOT 1
- pip installation failure on Windows 10 HOT 1
- preexec_fn on Process.spawn HOT 1
- tcp readed data has other bytes than expected HOT 4
- error AttributeError: 'pyuv._cpyuv.Signal' object has no attribute 'unref' HOT 1
- AttributeError: 'pyuv._cpyuv.Prepare' object has no attribute 'unref' HOT 1
- Tasks scheduled via loop.queue_work() HOT 2
- how to bind port both ipv4 and ipv6 HOT 4
- pyuv UDP multi-NIC, Send A-IP? and Recv B-IP? HOT 6
- Pip install breaking in MacOS HOT 8
- Documentation points to old libuv link
- install error on Mac with Homebrew python 3.8.3 HOT 2
- try_write on Pipe gives 'resource temporarily unavailable'
- No wheels for py >= 3.7 HOT 2
- pyuv doesn't compile with Python 3.10 HOT 3
- An error in Poll handles example HOT 3
- Push the new versions to PyPI HOT 5
- src/handle.c:17:21: error: lvalue required as left operand of assignment HOT 1
- LoopRunTest.test_stop fails with libuv 1.45.0+
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyuv.