Attendees: Mark Visser (Unity), Benoit Hudson & Felix Bourbonnais (ImgSpc), 
Victor Milovanov, Mohamed Koubaa (ANSYS Inc), Amos Li

Agenda

1. (Mark) Suggest we use a "needs discussion" label on issues and PRs for next 
time. Then we can just go through them on the call.
2. (Mark) Can we get a status update on joining the .NET Foundation? Github 
issue: Joining the .NET Foundation 
<https://github.com/pythonnet/pythonnet/issues/956>
3. (Benoit) Python can't reliably re-initialize; new proposal for Unity's 
domain reload <https://github.com/pythonnet/pythonnet/issues/957>
4. (Benoit) What's the policy with the GIL? Main thread appears to be grabbing 
the lock and not releasing it.
5. (Mohamed) Can I get clarification on IWrapper vs. reflection for PR #808?

Notes

Welcome to new contributor Mohamed Koubaa (ANSYS), who is investigating moving 
his company's platform from IronPython to CPython.

1 & 2) need input from Benedikt, Mark will follow up with Benedikt.

4) 
Benoit: GIL - Should we expect the GIL to be held after initialization? 
Victor: I wouldn't expect it to be held. [PyGIL] attribute is informational.

3)
Benoit: Python can't reliably re-initialize.
last fall's work - force PyFinalize to be called
unfortunately doesn't work for native extensions - can't reliably reinitialize 
proposal
instead of calling PyFinalize, delete all links from Python to C#
Felix prototyped a solution that tracks all links during proxy generation and 
cuts all links during domain shutdown to prevent dereference of dead pointers
result is just AttributeError instead of crash
Amos proposed a different solution which seems to be targeting memory leaks
Victor: what about memory leaks?
C# side deletes all of its memory
If C# holds a reference to Python, it will still exist when C# shuts down - no 
problem
Amos: has a branch that solves one of the problems
Benoit & Felix will investigate his branch and see where it intersects with 
their solution
the reason we're using pythonnet is to enable PySide/PyQt and numpy among others

5) Mohamed: Working on a small change to implement the wrapper function for 
console output via __repr__ https://github.com/pythonnet/pythonnet/pull/808
inheritance over reflection, IWrapper vs. method with a signature Pythonnet can 
reflect
what are the pros and cons? should we go with a convention?
Victor: you can take the reflection approach, but need to cache the delegates
more of an implementation detail, not actually necessary

(note: any errors in the above are mine, feel free to correct any gross 
misrepresentations I've inadvertently made!)

Action Items

Mark
follow up with Benedikt about Python foundation and using issues to track 
discussion items
Benoit & Felix
investigate why GIL is held indefinitely
test out Amos's branch and connect over gitter to discuss what parts of the 
problem each approach is solving

Thank you all for attending! The next call will be held at 3pm EST on Tuesday, 
October 8th, 2019, see you then. Please e-mail me if you're not on the attendee 
list and I will add you.

Mark Visser
Tooling Dev Manager
Unity Technologies - www.unity3d.com <http://www.unity3d.com/>




_________________________________________________
Python.NET mailing list - PythonDotNet@python.org
https://mail.python.org/mailman/listinfo/pythondotnet

Reply via email to