Important Attn: Addon Devs - Python 3 compatible addons
#1
Exclamation 
Sadly, sometimes things do not work out as planned...

We have been asking addon developers to make sure their addon is python 3 compatible and allowed those addons in any repo branch (gotham/helix/isengard/etc..).
One thing we hadn't figured out yet was, how can Kodi 19 Matrix identify whether an addons is python 3 compatible or not.
This is important, as in Kodi Matrix we need to disable all previously install python 2 addons and only list python 3 addons in the addon manager.

Since we can not find a better solution we would like to ask all addon developers to:
  1. bump the xbmc.python dependency to 3.0.0 in your addon.xml file
  2. bump the addon version in your addon.xml file
  3. bump the version of the dependencies in your addon.xml file
  4. re-submit your addon the the Matrix branch in our addon repo


We are sorry and apologize for any/all inconvenience this will cause you.
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.
Reply
#2
Does that means moving forward that we'll have to maintain two branches of our addons if we want to submit changes for Kodi 18 and earlier and also submit twice (once to Matrix and once to another pre-Matrix branch)?  If that's true, is there a suggested best practice on order of submission?  I'd hate for someone to have to review the same code twice when all I'm doing is submitting the same addon with a different addon.xml file.
Reply
#3
I propose adding <py3>compliant</py3> tags to the addon.xml...
Image Lunatixz - Kodi / Beta repository
Image PseudoTV - Forum | Website | Youtube | Help?
Reply
#4
I've updated some addons to PY3 that appear to have no active devs.  I would like to have to have a release path to add  PY3 addons with same addon id to the matrix branch as I don't care to try to make a 2/3 compatible version.  IIUC right now there can only be one addon ver in the repo?

scott s.
.
Reply
#5
(2020-02-15, 19:02)pkscout Wrote: Does that means moving forward that we'll have to maintain two branches of our addons if we want to submit changes for Kodi 18 and earlier and also submit twice (once to Matrix and once to another pre-Matrix branch)?

that is correct.

(2020-02-15, 19:02)pkscout Wrote: If that's true, is there a suggested best practice on order of submission?  I'd hate for someone to have to review the same code twice when all I'm doing is submitting the same addon with a different addon.xml file.

 whatever suits you best, really. if you submit both versions at the same time, i'm sure our addon maintainers are smart enough to figure out there's no need to review them both.
or just leave them a message in the pull request ;-)
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.
Reply
#6
(2020-02-15, 19:44)Lunatixz Wrote: I propose adding <py3>compliant</py3> tags to the addon.xml...

you must have been living under a rock? ;-p
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.
Reply
#7
(2020-02-16, 03:37)scott967 Wrote: I've updated some addons to PY3 that appear to have no active devs.  I would like to have to have a release path to add  PY3 addons with same addon id to the matrix branch as I don't care to try to make a 2/3 compatible version.  IIUC right now there can only be one addon ver in the repo?

scott s.
.

just submit those py3 versions to the matrix branch, that'll make sure anyone running kodi 19 will get those.
people using leia or below will get the previous py2 version that's currently in the repo.
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.
Reply
#8
Sorry, just one more question (probably).  Does the Matrix version number always need to be bumped higher than the version in other repos, or can I bump the version number once, submit to both repos, and then keep the version numbers the same?  I'm just trying to figure out the best strategy for version numbering to keep everything somewhat tidy.
Reply
#9
the version number needs to be higher for people to receive the py3 version when they upgrade to matrix.
previously installed addons will only be updated if there's a higher version available in the repo.
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.
Reply
#10
(2020-02-16, 04:12)ronie Wrote:
(2020-02-16, 03:37)scott967 Wrote: I've updated some addons to PY3 that appear to have no active devs.  I would like to have to have a release path to add  PY3 addons with same addon id to the matrix branch as I don't care to try to make a 2/3 compatible version.  IIUC right now there can only be one addon ver in the repo?

scott s.
.

just submit those py3 versions to the matrix branch, that'll make sure anyone running kodi 19 will get those.
people using leia or below will get the previous py2 version that's currently in the repo. 
Thanks.  That could really help.  There are a number of addons that have not been updated in a long time, and just do what they are meant to do.   Being able to get Py3 versions with identical functionality into the matrix repo would allow skins to continue to support the addons without having Yet Another Skin Helper (YASH).  My current examples are service.skin.widgets and script.extended.info (and underlying script.module.kodi65) both of which I have running fine in Matrix (comparing to their py2 versions).

A side benefit may be to make it easier to move to the new settings.xml format and language files/folders names.

scott s.
.
Reply
#11
just scan the xml file for the python dependency so that it matches python 3.x, a simple bash script could make that possible that unpacks the zip file checks the xml and if it matches it else discards it
Reply
#12
(2020-02-16, 04:10)ronie Wrote:
(2020-02-15, 19:02)pkscout Wrote: Does that means moving forward that we'll have to maintain two branches of our addons if we want to submit changes for Kodi 18 and earlier and also submit twice (once to Matrix and once to another pre-Matrix branch)?

that is correct.
(2020-02-15, 19:02)pkscout Wrote: If that's true, is there a suggested best practice on order of submission?  I'd hate for someone to have to review the same code twice when all I'm doing is submitting the same addon with a different addon.xml file.

 whatever suits you best, really. if you submit both versions at the same time, i'm sure our addon maintainers are smart enough to figure out there's no need to review them both.
or just leave them a message in the pull request ;-) 
I just wanted to leave a little feedback that my first run at this hasn't gone well.  I submitted an addon of mine for update in the Leia branch, and it got approved and merged.  I then took the exact same code, changed the python requirement and bumped the version number and submitted it to Matrix.  I also included a note that there were no code changes from the Leia PR (and included the PR number).  The code got reviewed again, and I got notes for changes (turns out the requested changes were already there, but that's not the point).  So the code got reviewed twice and I got different review results from the exact same code.
Reply
#13
^ @Roman_V_M
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.
Reply
#14
(2020-02-21, 22:09)pkscout Wrote:
(2020-02-16, 04:10)ronie Wrote:
(2020-02-15, 19:02)pkscout Wrote: Does that means moving forward that we'll have to maintain two branches of our addons if we want to submit changes for Kodi 18 and earlier and also submit twice (once to Matrix and once to another pre-Matrix branch)?

that is correct.
(2020-02-15, 19:02)pkscout Wrote: If that's true, is there a suggested best practice on order of submission?  I'd hate for someone to have to review the same code twice when all I'm doing is submitting the same addon with a different addon.xml file.

 whatever suits you best, really. if you submit both versions at the same time, i'm sure our addon maintainers are smart enough to figure out there's no need to review them both.
or just leave them a message in the pull request ;-) 
I just wanted to leave a little feedback that my first run at this hasn't gone well.  I submitted an addon of mine for update in the Leia branch, and it got approved and merged.  I then took the exact same code, changed the python requirement and bumped the version number and submitted it to Matrix.  I also included a note that there were no code changes from the Leia PR (and included the PR number).  The code got reviewed again, and I got notes for changes (turns out the requested changes were already there, but that's not the point).  So the code got reviewed twice and I got different review results from the exact same code.
Yeah, sometimes add-on reviews turn out to be a bit mechanical. It's hard to remember every submission so it might happen that we review it twice. It's a burden to those who maintain and develop but also for those who review.

A nice example is the last submissions of @adnxpanic. He just links to the diff against lower branches in the PR description: https://github.com/xbmc/repo-plugins/pull/2713 . That really helped making it clear.

Maybe we can figure out a way of automating all this via github actions, so that both versions (in different branches) are automatically submitted to the correct branches. I've been working on these:

https://github.com/xbmc/action-kodi-addon-submitter

https://github.com/xbmc/action-kodi-addon-checker

But they were created before having to submit to different branches. Any ideas are appreciated though
Reply
#15
(2020-02-15, 02:10)ronie Wrote: We are sorry and apologize for any/all inconvenience this will cause you.

Submitting twice and maintaining two separate branches to get a single add-on in Kodi repo is very hard to unaccept for me!

There must be a better solution, we put a lot of effort in making add-ons compatible with both Python 2 and Python 3! Our master branch is fully compatible with Kodi 18 and Kodi 19.
So, please reconsider this change, a single addon.xml that i both compatible with Kodi 18 and Kodi 19 must be possible!
Reply

Logout Mark Read Team Forum Stats Members Help
Attn: Addon Devs - Python 3 compatible addons0