Kodi Addon checker
This tool checks the Kodi repo for best practices and produces a report containing found problems and warnings.
It can also be used locally for detecting problems in your addons.
Features
-
Checks if artwork is available and if the size is as defined
-
Checks if all artworks(images/fanart/screenshot) are valid.
-
Checks if addon.xml and license file exists for an addon.
-
Checks if the version in addon.xml is valid (for repository generator)
-
Checks if all xml files are valid.
-
Check if all the json files are valid.
-
Checks if the addon id in addon.xml matches with the folder name.
-
Checks if the addon uses the old strings.xml translation format.
-
Check if the addon uses the old language folders (English vs resource.language.en_gb).
-
Checks for various blacklisted strings.
-
Check for blacklisted filetypes.
-
Check for new dependencies present in addon.xml files.
-
Check the complexity of the entrypoint files for addon.
-
Check if addon already exists in any of lower repositories
-
Check if addon already exists in any of the upper repositories (with non-compatible python abi) with a lower version, thus preventing a user kodi migration
-
Check if addon is compatible with python3 or not
-
Check specific version attribute
-
Validate addon.xml against schemas
-
Check if files in addon are marked as executable or not.
-
Check for unused script.module addons
-
Check presence of extensions in addon dependencies.
-
Check for valid forum, source and website value in addon.xml
-
Check if all PO files are valid
All of the validation and checks are done according to the kodi addon rules
Installation
- You will need Python3.
Then you can directly install it from pip package:
pip install kodi-addon-checker
For Development
- Clone the repository
git clone https://github.com/xbmc/addon-check
cd <path-to-cloned-repo>- Install the requirements:
pip install -r requirements.txt
Usage
-
If you are in add-on directory:
- Execute
kodi-addon-checker
- Execute
-
If you want to run it from any other directory
- Execute
kodi-addon-checker <path-to-addon>
You can use the tool with the following options:
--version version of the tool
--branch name of the branch the tool is to run on
--PR only when the tool is running on a pull request
--allow-folder-id-mismatch allow the addon's folder name and id to mismatch
--reporter enable a reporter, this option can be used multiple times
--enable-debug-log enable debug logging to kodi-addon-checker.log
--skip-dependency-checks do not check if addon dependencies are available in the official Kodi addon repository
Release files for kodi-addon-checker 0.0.36
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kodi_addon_checker-0.0.36.tar.gz | 47.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kodi_addon_checker-0.0.36-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 120.8 kB
Release files / kodi_addon_checker-0.0.36.tar.gz
| Download URL | kodi_addon_checker-0.0.36.tar.gz |
|---|---|
| Size | 47.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
67b61dcca224c6573c5e4423245cdaf4a22d74aa1f2d8b9a7ebbedac2e982d60
|
|
BLAKE2b-256 checksum How to use checksums |
8e6ee56df6f993d29e927f967846eec18db23e125373baae4924bd80bcad8cae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|
Release files / kodi_addon_checker-0.0.36-py3-none-any.whl
| Download URL | kodi_addon_checker-0.0.36-py3-none-any.whl |
|---|---|
| Size | 73.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bb524725f145bab9cd46ac59b10ca136717ef0c664b00f1d50fc296f431f9e8b
|
|
BLAKE2b-256 checksum How to use checksums |
51d4e340b5ea12254b29d9ce0623cdbb0a8184cc48442a235910112220e11970
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|