7.09.2025 состоялся релизPithon 3.14!
На фоне хайпа про NoGIL всё позабыли про другие фичи. Особенно про Multiple Interpreters, который обещает изоляцию процессов но с эффективностью потоков! На сколько действительно это будет эффективно мы узнаем позже, потому что сейчас это лишь первый релиз с ограничениями и недоработками.
Но что там про NoGIL? Теперь этот режим не экспериментальный, а официально поддерживаемый, но опциональный.
Чтобы запустить без GIL нужна специальная сборка. И перед стартом нужно объявить переменную PYTHON_GIL=0
Для вас я собрал готовый репозиторий где достаточно запустить скрпит, который всё сделает:
▫️ соберет релизный Python 3.14 в новый Docker-образ
▫️ запустит тесты в контейнере (GIL, NoGIL, MultiInterpreter)
▫️ распечатает результаты
Тест очень простой, усложняйте сами)
Вот какие результаты у меня:
=== Running ThreadPoolExecutor GIL ON
TOTAL TIME: 45.48 seconds
=== Running ThreadPoolExecutor GIL OFF
TOTAL TIME: 6.14 seconds
=== Running basic Thread GIL ON
TOTAL TIME: 45.54 seconds
=== Running basic Thread GIL OFF
TOTAL TIME: 4.74 seconds
=== Running with Multi Interpreter
TOTAL TIME: 18.30 seconds
Если сравнивать GIL и NoGIL, то на мои 32 ядра прирост х7-x10 (почему не х32? 🤷). При этом нам обещают что скорости будут расти с новыми релизами.
Режим без GIL похож (визуально) на async, тоже параллельно, тоже не по порядку. Но это не IO! и от того некоторый диссонанс в голове 😵💫, нас учили не так!
Интересно, что чистый Thread работает быстрей чем ThreadPoolExecutor без GIL.
Ну и где-то плачет один адепт мульти-интерпретаторов😭 Теперь нужно искать где они могут пригодиться с такой-то скоростью. Скорее всего своя область применения найдется.
Отдельно я затестил память и вот что вышло на 32 потока:
ThreadPoolExecutor GIL ON
305.228 MB
ThreadPoolExecutor GIL OFF
500.176 MB
basic Thread GIL ON
90.668 MB
basic Thread GIL OFF
472.444 MB
with Multi Interpreter
1267.788 MB
Пока не знаю как к этому относиться)
В целом - радует направление развития!
#release
https://wxpython.org/what.php
#wxPython is a #GUI toolkit for the Python programming language. It allows Python programmers to create programs with a robust, highly functional graphical user interface, simply and easily. It is implemented as a Python extension module (native code) that wraps the popular wxWidgets cross platform GUI library, which is written in C++.
https://www.eduonix.com/blog/software-development/learn-the-basics-of-gui-programming-in-python/
Learn the basics of #GUI Programming in Python
#tkinter
https://wiki.python.org/moin/GuiProgramming
#GUI Programming in Python
Python has a huge number of GUI frameworks (or toolkits) available for it, from #TkInter (traditionally bundled with Python, using Tk) to a number of other cross-platform solutions, as well as bindings to platform-specific (also known as "native") technologies.
GUI Programming in Python is a similar page whose content could arguably complement this page with some editing.
https://wiki.python.org/moin/GUI%20Programming%20in%20Python
This page provides some brief descriptive information on a number of #GUI toolkits available for Python. For a full list of of toolkits with more in-depth information, see #GuiProgramming.
GuiProgramming is a similar page whose content complements this page.
🆕 Новый сильный GUI-агент: UI-Ins от TongyiLab и RUC
Это модель, которая уверенно работает с мобильными интерфейсами и лучше понимает намерения пользователя.
Она рассматривает команду как цепочку рассуждений, а не как одно действие, поэтому справляется со сложными задачами стабильнее.
Результаты
UI-Ins показал 74.1% успешных действий в AndroidWorld. Для сравнения: Gemini 2.5 Computer Use - 69.7%. То есть модель чаще правильно выполняет задачи в реальных интерфейсах.
Модель:
- пытается понять цель, а не только текст команды
- строит несколько вариантов рассуждений
- выбирает подходящую стратегию перед действием
- адаптируется, если состояние приложения меняется
Идет в двух версиях: 7B и 32B.
Если вы работаете над агентами, которые должны нажимать кнопки, заполнять формы, открывать приложения и следовать шагам в интерфейсе - UI-Ins стоит добавить в список моделей для тестов.
🤖 UI-Ins-7B: https://modelscope.cn/models/Tongyi-MiA/UI-Ins-7B
UI-Ins-32B: https://modelscope.cn/models/Tongyi-MiA/UI-Ins-32B
📄arXiv: https://modelscope.cn/papers/2510.20286
@ai_machinelearning_big_data
#AI#Agents#GUI#MobileAgents#AndroidWorld#LLM
http://wxglade.sourceforge.net/
Description
#wxGlade is a #GUI#designer written in Python with the popular GUI toolkit #wxPython, that helps you create wxWidgets/wxPython user interfaces. At the moment it can generate Python, C++, Perl, Lisp and XRC (wxWidgets' XML resources) code.
As you can guess by the name, its model is Glade, the famous GTK+/GNOME GUI builder, with which wxGlade shares the philosophy and the look & feel (but not a line of code).
It is not (and will never be) a full featured IDE, but simply a "designer": the generated code does nothing apart from displaying the created widgets. If you are looking for a complete IDE, maybe Eric Python IDE, PyCharm, Code::Blocks or one of the many other IDE is the right tool.
News
#visual_basic_.net #dism#gui#sysadmin#windows
DISMTools is a free, open-source graphical tool that simplifies managing Windows images and installations using DISM commands. It offers project-based workflows, online/offline modes, AppX handling, ISO creation, and repairs without reinstalling Windows, working on Windows 8.1+ with great speed. You benefit by easily customizing, fixing, and optimizing systems or creating automated setups, saving time over complex command lines and avoiding paid tools.
https://github.com/CodingWonders/DISMTools
https://pybee.org/news/buzz/2017-google-summer-of-code-final-report-dayanne-fernandes/
After almost 4 months of work on Google Summer of Code 2017, finally I'm completing my proposal. Every widget migration and every commit/PR/issue/discussion with my mentors about Cricket , Toga and rubicon-objc were detailed on the Issue 58.
"Eating your own dog food"
The best way to show that a product is reliable to the customers is use it. So, the way to show that #Toga is an effective tool to build a #GUI is to build a complete application using it.
#Cricket is a graphical tool that helps you run your #test suites. Its current version is implemented using #Tkinter as the main GUI framework. So, why not test Toga inside of another product from #BeeWare? That's what I have acomplished during my GSoC work.
https://wiki.python.org/moin/PyQt
#PyQt is one of the two most popular Python bindings for the #Qt cross-platform #GUI/#XML/#SQL#C++ framework (another binding is #PySide).