If you're seeing your #NEST simulator builds fail recently, it's because of a new #Cython release:

https://github.com/nest/nest-simulator/issues/3495

Workaround: fix `cython<3.1.0` for the moment (until new NEST releases with the fix are made)

#ComputationalNeuroscience #ComputationalModelling #Neuroscience #AcademicChatter

Latest Cython release breaks NEST build · Issue #3495 · nest/nest-simulator

Cython 3.1.0 was released on 2025-05-08. It deprecates the "long" data type in favour of "int" (see https://cython.readthedocs.io/en/latest/src/changes.html). This results in the following error du...

GitHub

En route to @pycon after a brief stopover in NYC for part of Never Graduate week!

I’ll be talking about debugging in #cython (both at runtime and for memory management) on Saturday just after lunch.

https://us.pycon.org/2025/schedule/presentation/56/

Looking forward to seeing everyone at the conference!

#pycon25 #pyconus

Hot off the presses!

https://hg.sr.ht/~dalke/hidden_shuffle

hidden_shuffle, an implementation of the Hidden Shuffle method for sequential random sampling.

Given a population of size N, randomly choose k elements (0<k<=N), and iterate over the elements in increasing index order.

Implemented in C. Use 'make' to create a command-line executable. Use "pip install ." (or your installer of choice) #cython wrapped #Python extension.

I'm happy to announce a new version of our #pycraf #Python package:

https://github.com/bwinkel/pycraf

The only change is that it now runs with numpy v2. Doesn't sound like much, but it was some effort, as pycraf uses a lot of #Cython (i.e., compiled code) under the hood.

I was extremely happy when I realized that with numpy 2 one doesn't need to pin certain versions for ABI compatibility anymore. If you don't know what that means, don't worry - it's developer/package maintainer stuff. Apparently, even if you build the binary packages with numpy v2, it should still run under numpy v1. Magic. Will safe me hours of maintenance time, which can be better spent on new features.

GitHub - bwinkel/pycraf: pycraf is a package that provides functions and procedures for various tasks in spectrum-management compatibility studies.

pycraf is a package that provides functions and procedures for various tasks in spectrum-management compatibility studies. - bwinkel/pycraf

GitHub

@isaaclyman
That's pretty much how #Python optimizing compilers like #cython, #mypyc, #numba, and #TaichiLang work, and iiuc is the idea behind #MOJOlang.

As for leaky abstractions, I'd mitigate that by moving the lower-level algorithms into a separate module and limit the optimization pass to that module. Higher-level modules, like CLI entry points or API server route handlers, shouldn't need the extra optimization.

@nen while still on Python, have you tried scientific computation speed up things like #Numba ? Also, I once saw a #Cython talk and I was almost convinced to give it a go (but I'm too lazy) :D

Just published #mashumaro 3.15 with the #JSONSchema plugin system! 🎉 I guess the next thing will be plugins for serialization and deserialization. Who knows, maybe this will be my ticket to strict validation and speeding up with #cython. On a side note, I believe I’m among the last developers to discontinue support for #python 3.8.

https://github.com/Fatal1ty/mashumaro/releases/tag/v3.15

Release v3.15 · Fatal1ty/mashumaro

Changes Improved Union and basic types deserialization (#256), highlighted changes: Expected int | float or float | int value can now be passed through without coercion and losing precision Expec...

GitHub

Как реализовать быструю реентерабельную блокировку на Python и почему она работает

В стандартной библиотеке языка Python имеется базовый примитив синхронизации — реентерабельная блокировка. Она позволяет одному и тому же потоку, несколько раз захватить блокировку. Стандартная реализация может использовать для блокировки мьютекс или семафор, и их захват всегда приводит к вызову функции из ядра ОС. Используя GIL (Global Interpreter Lock - Глобальная блокировка интерпретатора) и особенности реализации Threading.Lock.release можно создать более быстрый вариант. Давайте попробуем разобраться

https://habr.com/ru/articles/855728/

#python #cython #locks

Как реализовать быструю реентерабельную блокировку на Python и почему она работает

В стандартной библиотеке языка Python имеется базовый примитив синхронизации — реентерабельная блокировка. Она позволяет одному и тому же потоку, несколько раз захватить блокировку....

Хабр

My Q4 goal (or whatever, end of year) is to make at least one open source contribution to a major library (preferably for #Python)

I think #hacktoberfest is less of a thing?

So far I’ve noticed that on the major Python libraries, (core CPython, #numpy) they don’t really do “good first issue” tags anymore.

Also want to read everything I can about free threading. Maybe improve some of the #cython docs based on my past work.

(Very happy to be corrected on these assertions if I’m wrong)

Do you love Cython? Are you passionate about open source? Consider volunteering with pyOpenSci! We’re looking for a volunteer reviewer with Cython expertise and an interest in network diffusion processes to help review the CyNetDiff Python package.

🫶 New to reviewing? We offer mentorship!

💻 Learn more about CyNetDiff: https://github.com/eliotwrobson/CyNetDiff
💜 Apply today: https://bit.ly/pyOSReviewer

#OpenSource #OpenScience #Python #pyOpenSci #Volunteer #Cython #NetworkDiffusion

GitHub - eliotwrobson/CyNetDiff: A performance-focused library implementing algorithms for simulating network diffusion processes, written in Cython.

A performance-focused library implementing algorithms for simulating network diffusion processes, written in Cython. - eliotwrobson/CyNetDiff

GitHub