[Python.NET] Working group notes for November 5, 2020

2020-11-19 Thread Mark Visser
Attendees: Victor, Benedikt, Mark, Amos, Benoit, Felix

Agenda
Review last week's action items:
Felix & Benoit to add tests to master in preparation for the soft reload fix PR 
- will be ignored for now (or expected to fail - ideal if that's possible)
Victor to review these to understand the need for isolated testing environment 
for each test
discuss soft init/reload/shutdown modes: what are the use cases for each? are 
they all necessary? need to document if so. (Benoit/Felix)


Notes:
PR for soft reload tests is failing, hasn't run on travis
coverage reported is not accurate
let's not worry too much about the coverage numbers and try to provide good 
tests for new features

build times have gotten slower over time due to testing all shutdown modes
do we need to run full tests for all modes?
some of this is likely redundant
let's remove unnecessary tests from travis
additional run for every mode
github actions?
we should keep at least one version of python testing all shutdown modes
drop everything except 3.7 from testing shutdown since that's the version we 
support in Unity?
still want to catch regressions caused by new Python versions (e.g. API changes)
long term we should look at moving from travis to github actions
Unity shutdown/domain reload is using reload mode. do we need other two modes? 
(soft / none)
we never use reloading when embedding C# in Python - just kill 
workers/instances and restart
can we remove soft & none modes? 
what are the use cases for the other two modes?
reload mode requires implementing a customer serializer
for CLR objects
Feilx is working on making the custom serializer optional so it still works 
without it
with this update reload won't fail without a serializer
does this make soft mode redundant?
there are a lot of places where there are three code paths depending on the 
shutdown mode - can we simplify
soft mode has no such requirement
none - used for shutting down Python and not restarting it - makes no attempt 
to save state
soft - does not maintain connections between CLR and Python objects, but saves 
state of Python interpreter
reload - also maintains connections between CLR and Python objects
all three modes are useful as they facilitate testing different parts of the 
system
e.g. if something fails on only one of the modes, it's useful data
currently all tests are run with all modes in all versions
Travis problems
jobs take forever to start
job status not reporting
at least partly connected to new free tier limitations
https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing 


we will need to move things off travis-ci.org by the end of the year
travis is shutting down free travis access due to abuse
move to travis-ci.com, still potential for free use but will be potentially 
limited
longer term move to github actions needs to be evaluated
Benedikt's SDK-style build system branch working well, except for some 
unexpected crashes
using poetry instead of setuptools - much simpler than current
PRs to come

Action items:
Felix will reduce the test combinations for soft shutdown on appveyor and 
travis to reduce build times and make a PR
Felix will look at extracting domain reload tests to reduce/simplify build 
times and report back
Benedikt will fix 32-bit issues

The meeting notes google doc is here 
.
 Feel free to correct or add additional information.
The next meeting will be held on Thursday, December 3 at 12pm EST (click for 
your time zone) .

Mark Visser
Senior Dev Manager, M&E
Unity Technologies - www.unity3d.com 






___
PythonNet mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/pythonnet.python.org/
Member address: [email protected]


[Python.NET] Re: Working group notes for November 5, 2020

2020-11-19 Thread Emmanuel Rutovic
 Hi,

Thanks for the notes and for your work with Pythonnet. Do you need any help
with the compatibility with .Net Core / .Net 5 ? I have a little bit of
time that I can spend on this but I don’t know where to start. Who should I
contact ?

Thanks!
Manu.

*Emmanuel Rutovic*
Founder, AESIM.tech
+1 (438) 926-6458


On Nov 19, 2020 at 1:02:54 PM, Mark Visser  wrote:

> Attendees: Victor, Benedikt, Mark, Amos, Benoit, Felix
> Agenda
>
>- Review last week's action items:
>- Felix & Benoit to add tests to master in preparation for the soft
>   reload fix PR - will be ignored for now (or expected to fail - ideal if
>   that's possible)
>   - Victor to review these to understand the need for isolated
>   testing environment for each test
>   - discuss soft init/reload/shutdown modes: what are the use cases
>for each? are they all necessary? need to document if so. (Benoit/Felix)
>-
>
>
> Notes:
>
>- PR for soft reload tests is failing, hasn't run on travis
>- coverage reported is not accurate
>   - let's not worry too much about the coverage numbers and try to
>   provide good tests for new features
>   -
>   - build times have gotten slower over time due to testing all
>shutdown modes
>- do we need to run full tests for all modes?
>   - some of this is likely redundant
>   - let's remove unnecessary tests from travis
>   - additional run for every mode
>  - github actions?
>   - we should keep at least one version of python testing all
>   shutdown modes
>   - drop everything except 3.7 from testing shutdown since that's the
>   version we support in Unity?
>   - still want to catch regressions caused by new Python versions
>   (e.g. API changes)
>   - long term we should look at moving from travis to github actions
>   - Unity shutdown/domain reload is using reload mode. do we need
>other two modes? (soft / none)
>- we never use reloading when embedding C# in Python - just kill
>   workers/instances and restart
>   - can we remove soft & none modes?
>   - what are the use cases for the other two modes?
>   - reload mode requires implementing a customer serializer
>   - for CLR objects
>  - Feilx is working on making the custom serializer optional so
>  it still works without it
>  - with this update reload won't fail without a serializer
>  - does this make soft mode redundant?
>  - there are a lot of places where there are three code paths
>   depending on the shutdown mode - can we simplify
>   - soft mode has no such requirement
>   - none - used for shutting down Python and not restarting it -
>   makes no attempt to save state
>   - soft - does not maintain connections between CLR and Python
>   objects, but saves state of Python interpreter
>   - reload - also maintains connections between CLR and Python objects
>   - all three modes are useful as they facilitate testing different
>   parts of the system
>   - e.g. if something fails on only one of the modes, it's useful data
>  - currently all tests are run with all modes in all versions
>   - Travis problems
>- jobs take forever to start
>   - job status not reporting
>   - at least partly connected to new free tier limitations
>   - https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing
>   - we will need to move things off travis-ci.org by the end of the
>   year
>   - travis is shutting down free travis access due to abuse
>   - move to travis-ci.com, still potential for free use but will be
>   potentially limited
>   - longer term move to github actions needs to be evaluated
>   - Benedikt's SDK-style build system branch working well, except for
>some unexpected crashes
>- using poetry instead of setuptools - much simpler than current
>   - PRs to come
>
>
> Action items:
>
>- Felix will reduce the test combinations for soft shutdown on
>appveyor and travis to reduce build times and make a PR
>- Felix will look at extracting domain reload tests to reduce/simplify
>build times and report back
>- Benedikt will fix 32-bit issues
>
>
> The meeting notes google doc is here
> .
> Feel free to correct or add additional information.
> The next meeting will be held on Thursday, December 3 at 12pm EST (click
> for your time zone) .
>
> Mark Visser
> *Senior Dev Manager, M&E*
> *Unity Technologies* - www.unity3d.com
>
>
>
>
>
>
>
___
PythonNet mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/pythonnet.python.org/
Member address: [email protected]


[Python.NET] Re: Working group notes for November 5, 2020

2020-11-19 Thread Victor “LOST” Milovanov
Hi Manu, Please, take a look at https://github.com/pythonnet/pythonnet/issues/857 Benedikt is currently working on it. I’ll send you his email separately. Regards,Victor From: Emmanuel RutovicSent: Thursday, November 19, 2020 6:01 PMTo: A list for users and developers of Python.NETSubject: [Python.NET] Re: Working group notes for November 5, 2020 Hi, Thanks for the notes and for your work with Pythonnet. Do you need any help with the compatibility with .Net Core / .Net 5 ? I have a little bit of time that I can spend on this but I don’t know where to start. Who should I contact ?  Thanks!Manu. Emmanuel RutovicFounder, AESIM.tech+1 (438) 926-6458 On Nov 19, 2020 at 1:02:54 PM, Mark Visser  wrote:Attendees: Victor, Benedikt, Mark, Amos, Benoit, Felix Agenda·  Review last week's action items:o Felix & Benoit to add tests to master in preparation for the soft reload fix PR - will be ignored for now (or expected to fail - ideal if that's possible)o Victor to review these to understand the need for isolated testing environment for each test·  discuss soft init/reload/shutdown modes: what are the use cases for each? are they all necessary? need to document if so. (Benoit/Felix)·    Notes:·  PR for soft reload tests is failing, hasn't run on traviso coverage reported is not accurateo let's not worry too much about the coverage numbers and try to provide good tests for new featureso  ·  build times have gotten slower over time due to testing all shutdown modeso do we need to run full tests for all modes?o some of this is likely redundanto let's remove unnecessary tests from travis§ additional run for every modeo github actions?o we should keep at least one version of python testing all shutdown modeso drop everything except 3.7 from testing shutdown since that's the version we support in Unity?o still want to catch regressions caused by new Python versions (e.g. API changes)o long term we should look at moving from travis to github actions·  Unity shutdown/domain reload is using reload mode. do we need other two modes? (soft / none)o we never use reloading when embedding C# in Python - just kill workers/instances and restarto can we remove soft & none modes? o what are the use cases for the other two modes?o reload mode requires implementing a customer serializer§ for CLR objects§ Feilx is working on making the custom serializer optional so it still works without it§ with this update reload won't fail without a serializer§ does this make soft mode redundant?o there are a lot of places where there are three code paths depending on the shutdown mode - can we simplifyo soft mode has no such requiremento none - used for shutting down Python and not restarting it - makes no attempt to save stateo soft - does not maintain connections between CLR and Python objects, but saves state of Python interpretero reload - also maintains connections between CLR and Python objectso all three modes are useful as they facilitate testing different parts of the system§ e.g. if something fails on only one of the modes, it's useful datao currently all tests are run with all modes in all versions·  Travis problemso jobs take forever to starto job status not reportingo at least partly connected to new free tier limitationso https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing
o we will need to move things off travis-ci.org by the end of the yearo travis is shutting down free travis access due to abuseo move to travis-ci.com, still potential for free use but will be potentially limitedo longer term move to github actions needs to be evaluated·  Benedikt's SDK-style build system branch working well, except for some unexpected crasheso using poetry instead of setuptools - much simpler than currento PRs to come Action items:·  Felix will reduce the test combinations for soft shutdown on appveyor and travis to reduce build times and make a PR·  Felix will look at extracting domain reload tests to reduce/simplify build times and report back·  Benedikt will fix 32-bit issuesThe meeting notes google doc is here. Feel free to correct or add additional information.The next meeting will be held on Thursday, December 3 at 12pm EST (click for your time zone). Mark VisserSenior Dev Manager, M&EUnity Technologies - www.unity3d.com  ___
PythonNet mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/pythonnet.python.org/
Member address: [email protected]