Investigate replacements for Python.net on Windows
- Dominant language
- Python
- Stars
- 5.4k
- Forks
- 827
- Avg merge
- 15h 39m
- Merged PRs (30d)
- 40
Description
### What is the problem or limitation you are having?
5 months after the release of Python 3.14, we [don't have a Python.net release that supports that version](https://github.com/pythonnet/pythonnet/issues/2610). This is an annual concern; Python.net releases always lag Python releases by up to months.
Python.net is used because it gives access to Winforms; however the Winforms API has a number of notable gaps - adding icons to Tables has proven complicated (#4164); multi-column Trees and DetailLists are equally complicated.
It's not clear if Winforms is the right API with which to build a modern Windows GUI library.
### Describe the solution you'd like
We need to find either:
1. A viable way to resource/assist with Python.net so that support for new Python releases doesn't lag
2. A path to making the Win32 backend viable (including, but not limited to, finding sources of information on how to build widgets, and how to simplify the developer experience). We have historically published a [win32](https://pypi.org/project/toga-win32) backend - we may need to resurrect it.
3. A path to using some other GUI layer, such as WinUI3 layer (#2574).
At this stage, an investigation of options is required.
### Describe alternatives you've considered
Stick with Winforms and Python.net. For all the flaws, it works...
### Additional context
#884 was a past manifestation of this problem. At the time, we decided to keep with Python.net; but the distribution lag and the edge cases in widget development haven't improved with time.
Contributor guide
Research direction
Start by reviewing the Python.net release gap described here and the linked issues #2610, #4164, #2574, and #884. Compare assisting Python.net, resurrecting the Win32 backend, and using WinUI3, including the information needed to build widgets and simplify development. Done means documenting a viable path and its trade-offs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100