Skip to content

sourisakchok/magicmirror

 
 

Repository files navigation

PayPal License Travis CI Docker Pulls PyPI version MagicMirror Package Manager

Author Contact
Brandon Marlowe [email protected]

MMPM, the MagicMirror Package Manager is a self updating command line and graphical interface designed to simplify the installation, removal, and maintenance of MagicMirror packages.

The MagicMirror Package Manager is featured as an alternative installation method on the MagicMirror Documentation.

Features

  • Installation, removal, updating, and upgrading of packages
  • Search for and show package details
  • Adding external packages (think of it like PPAs for Ubuntu)
  • Tab-Autocompletion for the CLI
  • Quick MagicMirror config editing access
  • Installing MagicMirror
  • Hide/Show MagicMirror modules
  • Start/Stop/Restart MagicMirror (works with npm, pm2, and docker-compose)
  • RaspberryPi 3 screen rotation

Quick Installation Guide

sudo apt install libffi-dev nginx-full -y
python3 -m pip install --upgrade --no-cache-dir mmpm
mmpm --guided-setup
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc
source ~/.bashrc

Possible Installation Error

If you happen to see the following after installing and running a mmpm command:

Traceback (most recent call last):
  File "setup.py", line 2, in <module>
    from setuptools import setup, find_packages
  File "/usr/local/lib/python3.7/site-packages/setuptools/__init__.py", line 12, in <module>
    from setuptools.extension import Extension
  File "/usr/local/lib/python3.7/site-packages/setuptools/extension.py", line 7, in <module>
    from setuptools.dist import _get_unpatched
  File "/usr/local/lib/python3.7/site-packages/setuptools/dist.py", line 16, in <module>
    import pkg_resources
  File "/usr/local/lib/python3.7/site-packages/pkg_resources.py", line 1479, in <module>
    register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'

Run the following command to shore up your pip version:

python -m ensurepip --upgrade # you may need to call python3 instead of python

Look to the Wiki

Make sure you've followed all the instructions for installation, configuring environment variables, and the hide/show modules feature setup.

Note: the Environment Variables setup is extremely important.

Creating Issues

Consult the Wiki before posting any issues, and use one of the provided templates (if possible) when filing an issue.

For any bugs encountered, examine the log files by running mmpm log. If creating a GitHub issue is needed, use one of the issue templates, and please attach the log files, your config.js, and provide what steps can be take to reproduce the bug. You can create a ZIP archive of the MMPM log files files through the Control Center of the GUI, or by running mmpm log --zip through the CLI. If for some reason you cannot access mmpm log --zip, you can find the files in ~/.config/mmpm/log and /var/log/nginx. All log files for MMPM in /var/log/nginx will be prefixed with either mmpm-access or mmpm-error.

GUI Preview

Control Center:

GUI Control Center

Config Editor:

GUI Config Editor

Active Processes:

GUI Active Processes

MMPM/MagicMirror Marketplace:

GUI MarketPlace

MMPM/MagicMirror Locally Installed Packages:

GUI LocalPackages

Potential Problems

This project is entirely dependent on the structure of the MagicMirror 3rd Party Modules page. The HTML is parsed, and the appropriate text of each module is extracted. If for some reason any of the information is not displayed correctly, it is most likely due to someone changing the structure of the page. Ideally, in the future, a database will be constructed, and things will be handeled in a more formal, predictable way.

About

MagicMirror Package Manager

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 75.8%
  • TypeScript 17.5%
  • HTML 5.3%
  • Other 1.4%