kodi-addon-checker


Namekodi-addon-checker JSON
Version 0.0.35 PyPI version JSON
download
home_pagehttps://github.com/xbmc/addon-check
SummaryCheck kodi addons or whole kodi repositories for errors and best practices.
upload_time2024-09-28 09:42:59
maintainerNone
docs_urlNone
authorTeam Kodi
requires_python>=3.5
licenseNone
keywords kodi add-on add-on_checker
VCS
bugtrack_url
requirements packaging pillow polib requests radon urllib3 xmlschema
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![Build and test addon-checker](https://github.com/xbmc/addon-check/actions/workflows/test_and_lint_matrix.yml/badge.svg)](https://github.com/xbmc/addon-check/actions/workflows/test_and_lint_matrix.yml)
[![PyPI version](https://badge.fury.io/py/kodi-addon-checker.svg)](https://badge.fury.io/py/kodi-addon-checker)

# 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](https://kodi.wiki/view/Add-on_structure#icon.png)

- 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](https://kodi.wiki/view/Addon.xml#version_attribute_2)

- 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](https://kodi.wiki/view/Add-on_rules)

## Installation


* You will need Python3.

Then you can directly install it from pip package:

```bash
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`

* 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
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/xbmc/addon-check",
    "name": "kodi-addon-checker",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.5",
    "maintainer_email": null,
    "keywords": "kodi add-on add-on_checker",
    "author": "Team Kodi",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/b6/d9/7ed820ea98177840d23041cd4a58410584abd0814dec8fdc9297ea158d0d/kodi-addon-checker-0.0.35.tar.gz",
    "platform": null,
    "description": "[![Build and test addon-checker](https://github.com/xbmc/addon-check/actions/workflows/test_and_lint_matrix.yml/badge.svg)](https://github.com/xbmc/addon-check/actions/workflows/test_and_lint_matrix.yml)\n[![PyPI version](https://badge.fury.io/py/kodi-addon-checker.svg)](https://badge.fury.io/py/kodi-addon-checker)\n\n# Kodi Addon checker\n\nThis tool checks the Kodi repo for best practices and produces a report containing found problems and warnings.\n\nIt can also be used locally for detecting problems in your addons.\n\n## Features\n\n- Checks if artwork is available and if the size is as [defined](https://kodi.wiki/view/Add-on_structure#icon.png)\n\n- Checks if all artworks(images/fanart/screenshot) are valid.\n\n- Checks if addon.xml and license file exists for an addon.\n\n- Checks if the version in addon.xml is valid (for repository generator)\n\n- Checks if all xml files are valid.\n\n- Check if all the json files are valid.\n\n- Checks if the addon id in addon.xml matches with the folder name.\n\n- Checks if the addon uses the old strings.xml translation format.\n\n- Check if the addon uses the old language folders (English vs resource.language.en_gb).\n\n- Checks for various blacklisted strings.\n\n- Check for blacklisted filetypes.\n\n- Check for new dependencies present in addon.xml files.\n\n- Check the complexity of the entrypoint files for addon.\n\n- Check if addon already exists in any of lower repositories\n\n- 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\n\n- Check if addon is compatible with python3 or not\n\n- Check specific [version attribute](https://kodi.wiki/view/Addon.xml#version_attribute_2)\n\n- Validate addon.xml against schemas\n\n- Check if files in addon are marked as executable or not.\n\n- Check for unused script.module addons\n\n- Check presence of extensions in addon dependencies.\n\n- Check for valid forum, source and website value in addon.xml\n\n- Check if all PO files are valid\n\nAll of the validation and checks are done according to the kodi [addon rules](https://kodi.wiki/view/Add-on_rules)\n\n## Installation\n\n\n* You will need Python3.\n\nThen you can directly install it from pip package:\n\n```bash\npip install kodi-addon-checker\n```\n\n#### For Development\n\n* Clone the repository\n```\ngit clone https://github.com/xbmc/addon-check\n```\n\n* `cd <path-to-cloned-repo>`\n* Install the requirements:\n```\npip install -r requirements.txt\n```\n\n## Usage\n\n* If you are in add-on directory:\n    - Execute `kodi-addon-checker`\n\n* If you want to run it from any other directory\n    - Execute\n    ```\n    kodi-addon-checker <path-to-addon>\n    ```\n\nYou can use the tool with the following options:\n```\n\n--version                   version of the tool\n--branch                    name of the branch the tool is to run on\n--PR                        only when the tool is running on a pull request\n--allow-folder-id-mismatch  allow the addon's folder name and id to mismatch\n--reporter                  enable a reporter, this option can be used multiple times\n--enable-debug-log          enable debug logging to kodi-addon-checker.log\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Check kodi addons or whole kodi repositories for errors and best practices.",
    "version": "0.0.35",
    "project_urls": {
        "Download": "https://github.com/xbmc/addon-check/archive/master.zip",
        "Homepage": "https://github.com/xbmc/addon-check"
    },
    "split_keywords": [
        "kodi",
        "add-on",
        "add-on_checker"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b87a9879de4104d9a38f30387d393fc58b86a9661d7d8f4381dc4875154e85a5",
                "md5": "0fda3c710324422c8832927c4cec53dc",
                "sha256": "385eb070851de380e4a8d0d4dd1a3a0f8389de486f790964a5b3d5aced8bedfd"
            },
            "downloads": -1,
            "filename": "kodi_addon_checker-0.0.35-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0fda3c710324422c8832927c4cec53dc",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.5",
            "size": 73494,
            "upload_time": "2024-09-28T09:42:57",
            "upload_time_iso_8601": "2024-09-28T09:42:57.760208Z",
            "url": "https://files.pythonhosted.org/packages/b8/7a/9879de4104d9a38f30387d393fc58b86a9661d7d8f4381dc4875154e85a5/kodi_addon_checker-0.0.35-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b6d97ed820ea98177840d23041cd4a58410584abd0814dec8fdc9297ea158d0d",
                "md5": "cd90a311e271a6fd1d050025d87594b0",
                "sha256": "2aacc87f091aaef7570d82e8cee9a71fa7d89cccc4dc5c41ea31611c0c076bd2"
            },
            "downloads": -1,
            "filename": "kodi-addon-checker-0.0.35.tar.gz",
            "has_sig": false,
            "md5_digest": "cd90a311e271a6fd1d050025d87594b0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.5",
            "size": 47670,
            "upload_time": "2024-09-28T09:42:59",
            "upload_time_iso_8601": "2024-09-28T09:42:59.419401Z",
            "url": "https://files.pythonhosted.org/packages/b6/d9/7ed820ea98177840d23041cd4a58410584abd0814dec8fdc9297ea158d0d/kodi-addon-checker-0.0.35.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-28 09:42:59",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "xbmc",
    "github_project": "addon-check",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "packaging",
            "specs": []
        },
        {
            "name": "pillow",
            "specs": []
        },
        {
            "name": "polib",
            "specs": []
        },
        {
            "name": "requests",
            "specs": [
                [
                    ">=",
                    "2.25.0"
                ]
            ]
        },
        {
            "name": "radon",
            "specs": []
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    ">=",
                    "1.26.0"
                ]
            ]
        },
        {
            "name": "xmlschema",
            "specs": []
        }
    ],
    "lcname": "kodi-addon-checker"
}
        
Elapsed time: 0.34448s