WPF or other GUI with PythonNet & Clingo
Hi folks! This is my first post. In short, I'd like to know whether it is a good idea to use PythonNet within a MVVM framework to glue the models (that rely on a Python package) to the user interface's view models and views (that rely on C# and WPF controls). If it is a good idea, I'd welcome advice (e.g. working with PythonNet within a Visual Studio C# project). If it is not a good idea, I'd welcome alternatives (e.g. Python GUIs with desktop functionality like docking). Here are the details. I'm creating a graphical, desktop, turn-based game/simulation based on the logic programming system, Clingo<https://potassco.org/>, which is accessible from Python (via import clingo<https://pypi.org/project/clingo/>). While other language bindings exist for Clingo (including a nascent C# one<https://github.com/NEKERAFA/clingo-cs>), the Python binding appears to be the most complete and most popular. However, I've only created GUI's using C# frameworks (WPF & Xamarin.Forms). Since I'd like this application to include docking, data grid, rich-text editor, tooltips, and other Windows desktop staples, I'm inclined to use WPF. I may have access to DevExpress' WPF controls<https://www.devexpress.com/products/net/controls/wpf/> and technical support, the latter of which might require me to use C# (not sure). What do you think? Thank you, -david
Hi David, That's definitely possible. I am doing something similar with the tool that I am developing (see www.simba.io). However, please note that if you base your UI on WPF: - Your app will be only compatible with Windows - The size of the Python module might be quite large Microsoft did not put a lot of effort on WPF recently, If you are familiar with XAML/C#, you can also look at .Net MAUI, the Windows APP Sdk (Project Reunion) or AvaloniaUI. I hope this helps. Regards, Emmanuel. On Tue, May 3, 2022 at 11:39 AM David Epstein <davidlepstein@outlook.com> wrote:
Hi folks!
This is my first post. In short, I'd like to know whether it is a good idea to use PythonNet within a MVVM framework to glue the models (that rely on a Python package) to the user interface's view models and views (that rely on C# and WPF controls). If it is a good idea, I'd welcome advice (e.g. working with PythonNet within a Visual Studio C# project). If it is *not* a good idea, I'd welcome alternatives (e.g. Python GUIs with desktop functionality like docking).
Here are the details. I'm creating a graphical, desktop, turn-based game/simulation based on the logic programming system, Clingo <https://potassco.org/>, which is accessible from Python (via import clingo <https://pypi.org/project/clingo/>). While other language bindings exist for Clingo (including a nascent C# one <https://github.com/NEKERAFA/clingo-cs>), the Python binding appears to be the most complete and most popular.
However, I've only created GUI's using C# frameworks (WPF & Xamarin.Forms). Since I'd like this application to include docking, data grid, rich-text editor, tooltips, and other Windows desktop staples, I'm inclined to use WPF. I may have access to DevExpress' WPF controls <https://www.devexpress.com/products/net/controls/wpf/> and technical support, the latter of which might require me to use C# (not sure).
What do you think?
Thank you, -david _______________________________________________ PythonNet mailing list -- pythonnet@python.org To unsubscribe send an email to pythonnet-leave@python.org https://mail.python.org/mailman3/lists/pythonnet.python.org/ Member address: manu@upsim.tech
Thanks Emmanuel. Two quick questions: 1. What IDE do you recommend for working with Python.NET embedded in C#--Visual Studio? 2. 3. Have you found any complete embedding example apps? I've only found the Python.NET tests, which each show how to perform one specific thing, but not how to structure a full app. ________________________________ From: Emmanuel Rutovic <manu@aesim.tech> Sent: Tuesday, May 3, 2022 8:32 PM To: A list for users and developers of Python.NET <pythonnet@python.org> Subject: [Python.NET] Re: WPF or other GUI with PythonNet & Clingo Hi David, That's definitely possible. I am doing something similar with the tool that I am developing (see www.simba.io<http://www.simba.io>). However, please note that if you base your UI on WPF: - Your app will be only compatible with Windows - The size of the Python module might be quite large Microsoft did not put a lot of effort on WPF recently, If you are familiar with XAML/C#, you can also look at .Net MAUI, the Windows APP Sdk (Project Reunion) or AvaloniaUI. I hope this helps. Regards, Emmanuel. On Tue, May 3, 2022 at 11:39 AM David Epstein <davidlepstein@outlook.com<mailto:davidlepstein@outlook.com>> wrote: Hi folks! This is my first post. In short, I'd like to know whether it is a good idea to use PythonNet within a MVVM framework to glue the models (that rely on a Python package) to the user interface's view models and views (that rely on C# and WPF controls). If it is a good idea, I'd welcome advice (e.g. working with PythonNet within a Visual Studio C# project). If it is not a good idea, I'd welcome alternatives (e.g. Python GUIs with desktop functionality like docking). Here are the details. I'm creating a graphical, desktop, turn-based game/simulation based on the logic programming system, Clingo<https://potassco.org/>, which is accessible from Python (via import clingo<https://pypi.org/project/clingo/>). While other language bindings exist for Clingo (including a nascent C# one<https://github.com/NEKERAFA/clingo-cs>), the Python binding appears to be the most complete and most popular. However, I've only created GUI's using C# frameworks (WPF & Xamarin.Forms). Since I'd like this application to include docking, data grid, rich-text editor, tooltips, and other Windows desktop staples, I'm inclined to use WPF. I may have access to DevExpress' WPF controls<https://www.devexpress.com/products/net/controls/wpf/> and technical support, the latter of which might require me to use C# (not sure). What do you think? Thank you, -david _______________________________________________ PythonNet mailing list -- pythonnet@python.org<mailto:pythonnet@python.org> To unsubscribe send an email to pythonnet-leave@python.org<mailto:pythonnet-leave@python.org> https://mail.python.org/mailman3/lists/pythonnet.python.org/ Member address: manu@upsim.tech
Hi David, 1. I am personally switching between VS Code (Python) and VS 2022 (C#/WPF). 2. Unfortunately, no. Hope this helps, Manu. On Tue, May 3, 2022 at 2:30 PM David Epstein <davidlepstein@outlook.com> wrote:
Thanks Emmanuel. Two quick questions:
1. What IDE do you recommend for working with Python.NET embedded in C#--Visual Studio? 2. 3. Have you found any complete embedding example apps? I've only found the Python.NET tests, which each show how to perform one specific thing, but not how to structure a full app.
------------------------------ *From:* Emmanuel Rutovic <manu@aesim.tech> *Sent:* Tuesday, May 3, 2022 8:32 PM *To:* A list for users and developers of Python.NET <pythonnet@python.org> *Subject:* [Python.NET] Re: WPF or other GUI with PythonNet & Clingo
Hi David,
That's definitely possible. I am doing something similar with the tool that I am developing (see www.simba.io). However, please note that if you base your UI on WPF: - Your app will be only compatible with Windows - The size of the Python module might be quite large
Microsoft did not put a lot of effort on WPF recently, If you are familiar with XAML/C#, you can also look at .Net MAUI, the Windows APP Sdk (Project Reunion) or AvaloniaUI.
I hope this helps.
Regards, Emmanuel.
On Tue, May 3, 2022 at 11:39 AM David Epstein <davidlepstein@outlook.com> wrote:
Hi folks!
This is my first post. In short, I'd like to know whether it is a good idea to use PythonNet within a MVVM framework to glue the models (that rely on a Python package) to the user interface's view models and views (that rely on C# and WPF controls). If it is a good idea, I'd welcome advice (e.g. working with PythonNet within a Visual Studio C# project). If it is *not* a good idea, I'd welcome alternatives (e.g. Python GUIs with desktop functionality like docking).
Here are the details. I'm creating a graphical, desktop, turn-based game/simulation based on the logic programming system, Clingo <https://potassco.org/>, which is accessible from Python (via import clingo <https://pypi.org/project/clingo/>). While other language bindings exist for Clingo (including a nascent C# one <https://github.com/NEKERAFA/clingo-cs>), the Python binding appears to be the most complete and most popular.
However, I've only created GUI's using C# frameworks (WPF & Xamarin.Forms). Since I'd like this application to include docking, data grid, rich-text editor, tooltips, and other Windows desktop staples, I'm inclined to use WPF. I may have access to DevExpress' WPF controls <https://www.devexpress.com/products/net/controls/wpf/> and technical support, the latter of which might require me to use C# (not sure).
What do you think?
Thank you, -david _______________________________________________ PythonNet mailing list -- pythonnet@python.org To unsubscribe send an email to pythonnet-leave@python.org https://mail.python.org/mailman3/lists/pythonnet.python.org/ Member address: manu@upsim.tech
_______________________________________________ PythonNet mailing list -- pythonnet@python.org To unsubscribe send an email to pythonnet-leave@python.org https://mail.python.org/mailman3/lists/pythonnet.python.org/ Member address: manu@upsim.tech
participants (2)
-
David Epstein
-
Emmanuel Rutovic