Important Attn: Addon Devs - Python 3 compatible addons
#31
When I take a look at https://github.com/xbmc/repo-scripts/pulls, I see that some add-ons add +matrix to the version number and other add-ons add .1 to the version number. So, I'm wondering what the difference is and what the best practice is for a Py2/3 compatible add-on.
What version scheme should be used for Py2/3 compatible video plugins, script modules, etc...
Reply
#32
yup, it's an issue we're trying to solve for upstream/pypi python modules. things like beautifulsoup4, requests, dateutil, urllib3, etc...
those python libraries have their own version numbers and we'd like to respect those.

for instance, python requests is currently at version 2.23.0.
but we can't have script.module.requests 2.23.0 in both our leia repo and our matrix repo,
as the version in matrix needs to be higher than the leia version.

so the idea is to use:
leia - script.module.requests 2.23.0
matrix - script.module.requests 2.23.0+matrix.1
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
#33
(2020-03-18, 10:49)mediaminister Wrote: There is still great confusion for me regarding this change which makes it impossible for me to customize add-ons for use with Kodi 19 Matrix.

What's the best practice regarding version numbers for Py2/3 compatible add-ons that should work flawlessly for existing users using Kodi 18 who will eventually upgrade to Kodi 19?

I don't know about best practice, but here's what I did with Artist Slideshow.
  • Leia version: 3.2.1
  • Matrix version: 3.2.101

As I do maintenance updates, the last digit can be updated 99 times before I run into a duplication problem.  So the next minor update would be:
  • Leia version: 3.2.2
  • Matrix version: 3.2.102

And if I do a minor or major update, the maintenance number resets. So:
  • Leia version: 3.3.0 (minor update) or 4.0.0 (major update)
  • Matrix version: 3.3.100 (minor update) or 4.0.100 (major update)

Since the code base is the same, this lets me maintain basically the same versioning but makes sure the Matrix version is always newer.
Reply
#34
@ronie Can you add the info from this thread to the https://kodi.wiki/view/Submitting_Add-ons wiki page?

It would be nice to have this thread documented in a more compact way. Smile
Reply
#35
I need advice, how to organize a repository to automatically update all my add-ons when update Kodi from 18 to 19 without reinstalling all add-ons and dependencies?
I made two separate repositories: Kodi 14-18 and Kodi 19.
When I update from Kodi 18 to Kodi 19, all add-ons are disabled. When I try to update the main add-on, appears error "The dependency on xbmc.python version 2.19.0 could not be satisfied". It's because that the all dependencies are disabled, they are from Kodi 18 and they don't updates when I'm update main addon. So I have to manually update all the dependencies, then the main add-on.

Here is repository descriptions and repository structure.
My addons: Gismeteo
Reply
#36
I was wondering why do i need to bump the dependencies? Also bump it to what? +matrix.1? Or to whatever the author decided on the version in the python 3 branch?
Reply
#37
(2020-04-04, 08:02)Skipmode A1 Wrote: I was wondering why do i need to bump the dependencies?

If you mean library dependencies, the version attribute specified the minimal required version number and is actually optional.

BTW, I have updated my kodi-addon-submitter script that allows to automate addon submission using CI/CD pipelines like Travis CI or GitHub Actions. Now it supports parallel submissions of Python 2/3 addons to Matrix and lower branches. It means that if you submit a Python 2/3 compatible addon, for example, to Krypton branch, the script will automatically update addon.xml with proper version numbers  and create an additional pull request to Matrix branch.
Reply

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