ovos-skills-manager


Nameovos-skills-manager JSON
Version 0.0.13 PyPI version JSON
download
home_pagehttps://github.com/OpenVoiceOS/ovos_skill_manager
SummaryOpen Voice OS skill manager
upload_time2023-10-11 20:14:42
maintainer
docs_urlNone
authorJarbasAI
requires_python
licenseApache-2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # OVOS skills manager

Install skills from any appstore!

The [mycroft-skills-manager](https://github.com/MycroftAI/mycroft-skills-manager) alternative that is [not vendor locked](https://github.com/MycroftAI/mycroft-skills-manager/pull/75), this means you must use it responsibly! 

Do not install random skills, different appstores have different policies!

Keep in mind any skill you install can [modify mycroft-core at runtime](https://github.com/JarbasSkills/skill-monkey-patcher), and very likely has 
root access if you are running on a raspberry pi


## Supported stores

- [OVOS]() - this one is really a proof of concept for now, stay tuned!
- [Mycroft Marketplace]() - the official mycroft skills store, all skills are 
  reviewed by humans!
- [Pling]() - the official plasma bigscreen skills store, skills are accepted 
  by default and only removed if flagged as malicious
- [Andlo's skill list](https://github.com/andlo/mycroft-skills-list-gitbook/tree/master/skills) - not a real appstore, this is a web scrapped 
  automatically generated list of 900+ skills from all over github, there 
  is no review at all, it will catch [malicious skills](https://github.com/JarbasAl/skill-XPLOIT-hijack-speech)
  
## Install


```bash
pip install ovos-skills-manager
```

## Usage

osm provides a few command line utilities, explained below

#### Install

Install a mycroft skill! Either pass a search query or a github url

```bash
(.venv) user@hostname:~$ osm install --help
Usage: osm install [OPTIONS]

Options:
  --skill TEXT                    skill to install
  --branch TEXT                   select skill github branch to use
  --folder TEXT                   path where skill will be installed, default
                                  /opt/mycroft/skills

  --search                        search appstores, otherwise assume it's a
                                  github url

  --appstore [ovos|mycroft|pling|andlo|default|all]
                                  search a specific appstore, default search
                                  appstores enabled in config file

  --method [all|name|url|category|author|tag|description]
                                  match this metadata field when searching
  --fuzzy / --exact               exact or fuzzy matching, default fuzzy
  --thresh INTEGER RANGE          fuzzy matching threshold from 0 (everything
                                  is a match) to 100 (exact match),  default
                                  80

  --no-ignore-case                ignore upper/lower case, default ignore
  --help                          Show this message and exit.

```

#### Enable

Enable a new skills store
```bash
(.venv) user@hostname:~$ osm enable --help
Usage: osm enable [OPTIONS]

Options:
  --appstore [ovos|mycroft|pling|andlo|all]
                                  enable a specific appstore
  --help                          Show this message and exit.

```

#### Disable

Disable a skills store
```bash
(.venv) user@hostname:~$ osm disable --help
Usage: osm disable [OPTIONS]

Options:
  --appstore [ovos|mycroft|pling|andlo|all]
                                  disable a specific appstore
  --help                          Show this message and exit.
```

#### Sync

Sync skill list for a skills store

Suggestion: set a cronjob for this
```bash
(.venv) user@hostname:~$ osm sync --help
Usage: osm sync [OPTIONS]

Options:
  --appstore [ovos|mycroft|pling|andlo|default|all]
                                  sync a specific appstore, default syncs
                                  appstores enabled in config file

  --rebuild                       rebuild skill database, if not set only sync
                                  data for new skills

  --merge                         merge skill data, if not set replaces skill
                                  entries

  --github                        augment skill data from github, by default
                                  only saves data provided directly by the
                                  appstore

  --help                          Show this message and exit.
```

#### Priority

Change priority of a skills store, this will affect order of results and 
have impact in the OSM-skill (coming soon) 
```bash
(.venv) user@hostname:~$ osm priority --help
Usage: osm priority [OPTIONS]

Options:
  --appstore [ovos|mycroft|pling|andlo]
                                  change priority of a specific appstore
  --priority INTEGER RANGE        appstore priority, from 0 (highest) to 100
                                  (lowest)

  --help                          Show this message and exit.
```

#### Print config

print current configuration of osm, config file can be found at `~/.config/OpenVoiceOS/OVOS-SkillsManager.json`
```bash
(.venv) user@hostname:~$ osm print --help
Usage: osm print [OPTIONS]

Options:
  --appstore [ovos|mycroft|pling|andlo|all|default]
                                  print config of a specific appstore
  --help                          Show this message and exit.

```

#### Search

Search skills and print results, searching can be done according any number 
of criteria, this is useful for discovery
```bash
(.venv) user@hostname:~$ osm search --help
Usage: osm search [OPTIONS]

Options:
  --query TEXT                    Search a skill with this query
  --method [all|name|url|category|author|tag|description]
                                  match this metadata field when searching
  --appstore [ovos|mycroft|pling|andlo|default|all]
                                  search a specific appstore, by default
                                  searches appstores enabled in config file

  --fuzzy / --exact               exact or fuzzy matching
  --thresh INTEGER RANGE          fuzzy matching threshold from 0 (everything
                                  is a match) to 100 (exact match)

  --no-ignore-case                ignore upper/lower case
  --help                          Show this message and exit.

```



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/OpenVoiceOS/ovos_skill_manager",
    "name": "ovos-skills-manager",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "JarbasAI",
    "author_email": "jarbasai@mailfence.com",
    "download_url": "https://files.pythonhosted.org/packages/c7/7f/0750f22aa828d72ad48ca295f59557109a96b0133b0cbeda56d74a66ca6e/ovos-skills-manager-0.0.13.tar.gz",
    "platform": null,
    "description": "# OVOS skills manager\n\nInstall skills from any appstore!\n\nThe [mycroft-skills-manager](https://github.com/MycroftAI/mycroft-skills-manager) alternative that is [not vendor locked](https://github.com/MycroftAI/mycroft-skills-manager/pull/75), this means you must use it responsibly! \n\nDo not install random skills, different appstores have different policies!\n\nKeep in mind any skill you install can [modify mycroft-core at runtime](https://github.com/JarbasSkills/skill-monkey-patcher), and very likely has \nroot access if you are running on a raspberry pi\n\n\n## Supported stores\n\n- [OVOS]() - this one is really a proof of concept for now, stay tuned!\n- [Mycroft Marketplace]() - the official mycroft skills store, all skills are \n  reviewed by humans!\n- [Pling]() - the official plasma bigscreen skills store, skills are accepted \n  by default and only removed if flagged as malicious\n- [Andlo's skill list](https://github.com/andlo/mycroft-skills-list-gitbook/tree/master/skills) - not a real appstore, this is a web scrapped \n  automatically generated list of 900+ skills from all over github, there \n  is no review at all, it will catch [malicious skills](https://github.com/JarbasAl/skill-XPLOIT-hijack-speech)\n  \n## Install\n\n\n```bash\npip install ovos-skills-manager\n```\n\n## Usage\n\nosm provides a few command line utilities, explained below\n\n#### Install\n\nInstall a mycroft skill! Either pass a search query or a github url\n\n```bash\n(.venv) user@hostname:~$ osm install --help\nUsage: osm install [OPTIONS]\n\nOptions:\n  --skill TEXT                    skill to install\n  --branch TEXT                   select skill github branch to use\n  --folder TEXT                   path where skill will be installed, default\n                                  /opt/mycroft/skills\n\n  --search                        search appstores, otherwise assume it's a\n                                  github url\n\n  --appstore [ovos|mycroft|pling|andlo|default|all]\n                                  search a specific appstore, default search\n                                  appstores enabled in config file\n\n  --method [all|name|url|category|author|tag|description]\n                                  match this metadata field when searching\n  --fuzzy / --exact               exact or fuzzy matching, default fuzzy\n  --thresh INTEGER RANGE          fuzzy matching threshold from 0 (everything\n                                  is a match) to 100 (exact match),  default\n                                  80\n\n  --no-ignore-case                ignore upper/lower case, default ignore\n  --help                          Show this message and exit.\n\n```\n\n#### Enable\n\nEnable a new skills store\n```bash\n(.venv) user@hostname:~$ osm enable --help\nUsage: osm enable [OPTIONS]\n\nOptions:\n  --appstore [ovos|mycroft|pling|andlo|all]\n                                  enable a specific appstore\n  --help                          Show this message and exit.\n\n```\n\n#### Disable\n\nDisable a skills store\n```bash\n(.venv) user@hostname:~$ osm disable --help\nUsage: osm disable [OPTIONS]\n\nOptions:\n  --appstore [ovos|mycroft|pling|andlo|all]\n                                  disable a specific appstore\n  --help                          Show this message and exit.\n```\n\n#### Sync\n\nSync skill list for a skills store\n\nSuggestion: set a cronjob for this\n```bash\n(.venv) user@hostname:~$ osm sync --help\nUsage: osm sync [OPTIONS]\n\nOptions:\n  --appstore [ovos|mycroft|pling|andlo|default|all]\n                                  sync a specific appstore, default syncs\n                                  appstores enabled in config file\n\n  --rebuild                       rebuild skill database, if not set only sync\n                                  data for new skills\n\n  --merge                         merge skill data, if not set replaces skill\n                                  entries\n\n  --github                        augment skill data from github, by default\n                                  only saves data provided directly by the\n                                  appstore\n\n  --help                          Show this message and exit.\n```\n\n#### Priority\n\nChange priority of a skills store, this will affect order of results and \nhave impact in the OSM-skill (coming soon) \n```bash\n(.venv) user@hostname:~$ osm priority --help\nUsage: osm priority [OPTIONS]\n\nOptions:\n  --appstore [ovos|mycroft|pling|andlo]\n                                  change priority of a specific appstore\n  --priority INTEGER RANGE        appstore priority, from 0 (highest) to 100\n                                  (lowest)\n\n  --help                          Show this message and exit.\n```\n\n#### Print config\n\nprint current configuration of osm, config file can be found at `~/.config/OpenVoiceOS/OVOS-SkillsManager.json`\n```bash\n(.venv) user@hostname:~$ osm print --help\nUsage: osm print [OPTIONS]\n\nOptions:\n  --appstore [ovos|mycroft|pling|andlo|all|default]\n                                  print config of a specific appstore\n  --help                          Show this message and exit.\n\n```\n\n#### Search\n\nSearch skills and print results, searching can be done according any number \nof criteria, this is useful for discovery\n```bash\n(.venv) user@hostname:~$ osm search --help\nUsage: osm search [OPTIONS]\n\nOptions:\n  --query TEXT                    Search a skill with this query\n  --method [all|name|url|category|author|tag|description]\n                                  match this metadata field when searching\n  --appstore [ovos|mycroft|pling|andlo|default|all]\n                                  search a specific appstore, by default\n                                  searches appstores enabled in config file\n\n  --fuzzy / --exact               exact or fuzzy matching\n  --thresh INTEGER RANGE          fuzzy matching threshold from 0 (everything\n                                  is a match) to 100 (exact match)\n\n  --no-ignore-case                ignore upper/lower case\n  --help                          Show this message and exit.\n\n```\n\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Open Voice OS skill manager",
    "version": "0.0.13",
    "project_urls": {
        "Homepage": "https://github.com/OpenVoiceOS/ovos_skill_manager"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9ae726238626361e4a64417b6123c47ddf5111035e9690d970a33d3f28f1e5f9",
                "md5": "c12137fddca6941c8214616ffeb5e8f3",
                "sha256": "0b3c2d9ad9af9fbdde1af201aae40b80750abd4885e16b810744fb20bc3062cf"
            },
            "downloads": -1,
            "filename": "ovos_skills_manager-0.0.13-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c12137fddca6941c8214616ffeb5e8f3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 389251,
            "upload_time": "2023-10-11T20:14:41",
            "upload_time_iso_8601": "2023-10-11T20:14:41.147483Z",
            "url": "https://files.pythonhosted.org/packages/9a/e7/26238626361e4a64417b6123c47ddf5111035e9690d970a33d3f28f1e5f9/ovos_skills_manager-0.0.13-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c77f0750f22aa828d72ad48ca295f59557109a96b0133b0cbeda56d74a66ca6e",
                "md5": "ea793f1eaa66d0c1c274b3fb2849a24e",
                "sha256": "82b79850bdb8896a45e85ac3869e995d51efae9aed306051cc73ea7c74f1c253"
            },
            "downloads": -1,
            "filename": "ovos-skills-manager-0.0.13.tar.gz",
            "has_sig": false,
            "md5_digest": "ea793f1eaa66d0c1c274b3fb2849a24e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 369112,
            "upload_time": "2023-10-11T20:14:42",
            "upload_time_iso_8601": "2023-10-11T20:14:42.661464Z",
            "url": "https://files.pythonhosted.org/packages/c7/7f/0750f22aa828d72ad48ca295f59557109a96b0133b0cbeda56d74a66ca6e/ovos-skills-manager-0.0.13.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-11 20:14:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "OpenVoiceOS",
    "github_project": "ovos_skill_manager",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "ovos-skills-manager"
}
        
Elapsed time: 0.17716s