Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
py
-
Pygolo 0.2.0: write Python extensions in Go!
Here the release notes.
- Extending Python with Go, and vice versa
-
Pygolo 0.1.0 is here!
This would be a fantastic new advanced topic, we have some already. Let me know how it goes, feel free to post your experience.
Folks, I'm so glad to announce this first release of Pygolo. It took me 7 months to get here and I hope you'll enjoy the results.
-
Just `PyTuple_Pack` or also `PyTuple_New` and `PyTuple_SetItem`?
See https://gitlab.com/pygolo/py/-/issues/16 for the full rationale and https://gitlab.com/pygolo/py/-/merge_requests/56 for the code change.
-
Release 0.1.0
For more details, see the release on Gitlab.
problems
-
No-GIL mode coming for Python
> Does that stay true once the GIL turns back on?
In the current nogil implementation, AFAICS, it seems the GIL can't be turned back on so there is no answer yet.
Theoretically, you could have a one-off operation which fixes all objects when the GIL is turned on. However, there's no way to get all objects in Python. gc.get_objects() only returns tracked objects, and there is no way to list untracked objects.
It seems, three fields are exposed on every CPython object in the stable ABI, any change which affects their offsets will break the stable ABI. https://github.com/capi-workgroup/problems/issues/4#issuecom...
> I'm not following why this affects ABI compatibility, sorry.
True, PyType_FromSpec can set tp_alloc to a wrapper function which papers over the difference in what the "allocfunc" should initialise the memory to.
Re performance - merging the change is the only way people will actually start targeting nogil.
-
Just `PyTuple_Pack` or also `PyTuple_New` and `PyTuple_SetItem`?
PyTuple_New creates a tuple of the given length, each element must be initialized with PyTuple_SetItem. Therefore the tuple remains half-baked until all the elements are initialized, which is not good (see https://github.com/capi-workgroup/problems/issues/56).
What are some alternatives?
explore - Community-curated topic and collection pages on GitHub
extrainterpreters - Utilities for using Python's PEP 554 subinterpreters
pygolo
cloudpickle - Extended pickling support for Python objects