Mycroft AI
  • Documentation
  • About Mycroft AI
    • Why use Mycroft AI?
    • Glossary of terms
    • Contributing
    • FAQ
  • Using Mycroft AI
    • Get Mycroft
      • Mark II
        • Mark II Dev Kit
      • Mark 1
      • Picroft
      • Linux
      • Mac OS and Windows with VirtualBox
      • Docker
      • Android
    • Pairing Your Device
    • Basic Commands
    • Installing New Skills
    • Customizations
      • Configuration Manager
      • mycroft.conf
      • Languages
        • Français (French)
        • Deutsch (German)
      • Using a Custom Wake Word
      • Speech-To-Text
      • Text-To-Speech
    • Troubleshooting
      • General Troubleshooting
      • Audio Troubleshooting
      • Wake Word Troubleshooting
      • Log Files
      • Support Skill
      • Getting more support
  • Skill Development
    • Voice User Interface Design Guidelines
      • What can a Skill do?
      • Design Process
      • Voice Assistant Personas
      • Interactions
        • Intents
        • Statements and Prompts
        • Confirmations
      • Conversations
      • Error Handling
      • Example Interaction Script
      • Prototyping
      • Design to Development
    • Development Setup
      • Python Resources
      • Your First Skill
    • Skill Structure
      • Lifecycle Methods
      • Logging
      • Skill Settings
      • Dependencies
        • Manifest.yml
        • Requirements files
      • Filesystem access
      • Skill API
    • Integration Tests
      • Test Steps
      • Scenario Outlines
      • Test Runner
      • Reviewing the Report
      • Adding Custom Steps
      • Old Test System
    • User interaction
      • Intents
        • Padatious Intents
        • Adapt Intents
      • Statements
      • Prompts
      • Parsing Utterances
      • Confirmations
      • Conversational Context
      • Converse
    • Displaying information
      • GUI Framework
      • Show Simple Content
      • Mycroft-GUI on a PC
      • Mark 1 Display
    • Advanced Skill Types
      • Fallback Skill
      • Common Play Framework
      • Common Query Framework
      • Common IoT Framework
    • Mycroft Skills Manager
      • Troubleshooting
    • Marketplace Submission
      • Skills Acceptance Process
        • Information Review Template
        • Code Review Template
        • Functional Review Template
        • Combined Template
      • Skill README.md
    • FAQ
  • Mycroft Technologies
    • Technology Overview
    • Roadmap
    • Mycroft Core
      • MessageBus
      • Message Types
      • Services
        • Enclosure
        • Voice Service
        • Audio Service
        • Skills Service
      • Plugins
        • Audioservice Plugins
        • STT Plugins
        • TTS Plugins
        • Wake Word Plugins
      • Testing
      • Legacy Repo
    • Adapt
      • Adapt Examples
      • Adapt Tutorial
    • Lingua Franca
    • Mimic TTS
      • Mimic 3
      • Mimic 2
      • Mimic 1
      • Mimic Recording Studio
    • Mycroft GUI
      • Remote STT and TTS
    • Mycroft Skills Kit
    • Mycroft Skills Manager
    • Padatious
    • Precise
    • Platforms
Powered by GitBook
On this page
  • requirements.txt
  • Examples of requirements.txt
  • requirements.sh
  • Examples of requirements.sh

Was this helpful?

  1. Skill Development
  2. Skill Structure
  3. Dependencies

Requirements files

A Skill's `requirements.txt` and `requirements.sh` files provide an alternative method to define the dependencies of a Mycroft Skill.

PreviousManifest.ymlNextFilesystem access

Last updated 5 years ago

Was this helpful?

The older method of defining requirements is still available, and is present in the majority of Skills available in the Marketplace. This uses a requirements.txt and/or requirements.sh file.

requirements.txt

The requirements.txt file can only be used to define Python package dependencies. It uses the to list Python packages from to install. Each line in the file represents a separate package to install and must match the title provided by PyPI.

The following example will install the latest available versions of the and packages.

requests
gensim

If specific versions of a package are required, we can use comparison operators to indicate which version.

  • requests==2.22.0 The package must must be version 2.22.0.

  • requests>=2.22.0 The package must be version 2.22.0 or higher.

  • requests<=2.22.0 The package must be version 2.22.0 or lower.

It is strongly recommended to only use these operators when required. If submitting a Skill to the Marketplace, you will be asked to provide reasoning as to why a specific version of a package is necessary.

Examples of requirements.txt

requirements.sh

The requirements.sh file may contain a shell script that is run during installation of the Skill. Shell scripting is beyond the scope of these documents, however there are many tutorials available online.

Examples of requirements.sh

Prior to the manifest.yml file, this was the only method available to install system packages. If you are only installing packages, using the file instead is recommended.

The contents of this file will be checked carefully if a Skill is submitted for inclusion in the

standard Python PIP format
PyPI
requests
gensim
Weather Skill
Wiki Skill
manifest.yml
Skills Marketplace
Zork (adventure game)