| 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.
npm
, pm2
, and docker-compose
)sh
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
If you happen to see the following after installing and running a mmpm
command:
sh
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:
sh
python -m ensurepip --upgrade # you may need to call python3 instead of python
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.
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
.
Control Center:
Config Editor:
Active Processes:
MMPM/MagicMirror Marketplace:
MMPM/MagicMirror Locally Installed Packages:
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.
Bumps http-cache-semantics from 4.1.0 to 4.1.1.
2449650
Update mocha560b2d8
Don't use regex to trim whitespaceb1bdb92
Remove linting package zooc20dc7e
Cache 308Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Describe the Bug In the web Interface of MMPM there is a message "Unable to retrieve active modules" and I can't edit config files in the web interface - they all are shown empty.
To Reproduce
1. I installed Magic Mirror and MMPM in Docker using docker compose from this template: https://gitlab.com/khassel/magicmirror/-/blob/master/run/serveronly_mmpm.yml, set own volume and ports.
2. in the ~/.config/mmpm/mmpm-env.json
I tried many values for MMPM_MAGICMIRROR_URI
: http://172.23.0.2:8080
(ip from docker container), http://mm:8080
(container name), http://myserver:10080
(my server with docker containers and outter port) and restarted both containers - nothing helped.
Expected behavior I wanted to manage plugins of Magic Mirror
Operating System, Python3 Version, and Web Browser\
- output from cat /etc/os-release
couldn't login into container shell.
- output from python3 --version
couldn't login into container shell.
- Web Browser (firefox, chrome, safari, chromium, etc) Brave: [Version 1.47.186 Chromium: 109.0.5414.119 (Official Build) (64-bit)]
MMPM Environment Settings
- output from mmpm env
couldn't login into container shell. So I attached a mmpm-env.json
MMPM Log Files
- Attach the file produced Download MMPM log files
within the Control Center of the GUI or from the mmpm log --zip
Downloading MMPM log files doesn't work as well - hitting the button does nothing. But I attached a non empty file from ~/.config/mmpm/log
folder.
MagicMirror Config
- your MagicMirror config.js
see attachment.
mmpm.zip
Describe the Bug
Is this an issue with the CLI or GUI?
Is this something that should be put in the Wiki?
A clear and concise description of what the bug is. I've been trying to install for a while now and I don't know what's wrong! I am able to get into the GUI but I'm met with 'Unable to retrieve active modules' every time. I have installed the new version, made sure my ipwhitelist is an empty array, downloaded the module, etc etc.
Sorry for being a pest but I could really use a hand! This module is just so cool!
thank you for any help
To Reproduce Steps to reproduce the behavior: 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' 4. See error
Expected behavior A clear and concise description of what you expected to happen.
Screenshots If applicable, add screenshots to help explain your problem.
Operating System, Python3 Version, and Web Browser\ (Please complete the following information)
output from cat /etc/os-release
output from python3 --version
Web Browser (firefox, chrome, safari, chromium, etc)
MMPM Environment Settings
mmpm env
MMPM Log Files
Download MMPM log files
within the Control Center of the GUI or from the mmpm log --zip
MagicMirror Config
config.js
mmpm-logs-2023-1-28.zipDescribe the Bug
Is this an issue with the CLI or GUI?
Is this something that should be put in the Wiki?
A clear and concise description of what the bug is.
To Reproduce Steps to reproduce the behavior: 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' 4. See error
Expected behavior A clear and concise description of what you expected to happen.
Screenshots If applicable, add screenshots to help explain your problem.
Operating System, Python3 Version, and Web Browser\ (Please complete the following information)
output from cat /etc/os-release
output from python3 --version
Web Browser (firefox, chrome, safari, chromium, etc)
MMPM Environment Settings
mmpm env
MMPM Log Files
Download MMPM log files
within the Control Center of the GUI or from the mmpm log --zip
MagicMirror Config
config.js
Hey, This might be a "me" issue, I have got the control centre working, I can show hide modules. But anything which involves the pi eg restart, config editor, marketplace etc don't work or show a blank screen?
Might I have missed something within the setup?
Any help on a install step I might have missed would be great! Thanks
Bumps minimatch from 3.0.4 to 3.1.2.
699c459
3.1.22f2b5ff
fix: trim pattern25d7c0d
3.1.155dda29
fix: treat nocase:true as always having magic5e1fb8d
3.1.0f8145c5
Add 'allowWindowsEscape' option570e8b1
add publishConfig for v3 publishes5b7cd33
3.0.620b4b56
[fix] revert all breaking syntax changes2ff0388
document, expose, and test 'partial:true' optionDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Bumps @angular/core from 13.3.12 to 14.0.0.
Sourced from @angular/core
's releases.
v14.0.0
14.0.0 (2022-06-02)
Breaking Changes
animations
- The
AnimationDriver.getParentElement
method has become required, so any implementors of this interface are now required to provide an implementation for this method. This breakage is unlikely to affect application developers, asAnimationDriver
is not expected to be implemented in user code.common
- Adds new required class member that any implementors of the LocationStrategy will need to satisfy. Location does not depend on PlatformLocation anymore.
compiler
Keyframes names are now prefixed with the component's "scope name". For example, the following keyframes rule in a component definition, whose "scope name" is host-my-cmp:
@keyframes
foo { ... }will become:
@keyframes
host-my-cmp_foo { ... }Any TypeScript/JavaScript code which relied on the names of keyframes rules will no longer match.
The recommended solutions in this case are to either:
- change the component's view encapsulation to the
None
orShadowDom
- define keyframes rules in global stylesheets (e.g styles.css)
- define keyframes rules programmatically in code.
Keyframes names are now prefixed with the component's "scope name". For example, the following keyframes rule in a component definition, whose "scope name" is host-my-cmp:
@keyframes
foo { ... }will become:
@keyframes
host-my-cmp_foo { ... }Any TypeScript/JavaScript code which relied on the names of keyframes rules will no longer match.
The recommended solutions in this case are to either:
- change the component's view encapsulation to the
None
orShadowDom
- define keyframes rules in global stylesheets (e.g styles.css)
- define keyframes rules programmatically in code.
core
- Support for Node.js v12 has been removed as it will become EOL on 2022-04-30. Please use Node.js v14.15 or later.
- TypeScript versions older than 4.6 are no longer supported.
... (truncated)
Sourced from @angular/core
's changelog.
13.3.12 (2022-11-21)
Breaking Changes
core
- Existing iframe usages may have security-sensitive attributes applied as an attribute or property binding in a template or via host bindings in a directive. Such usages would require an update to ensure compliance with the new stricter rules around iframe bindings.
core
Commit Type Description b1d7b79ff4 fix hardening attribute and property binding rules for elements (#48029) Special Thanks
Andrew Kushnir, Andrew Scott, George Looshch, Joey Perrott and Paul Gschwendtner
14.2.12 (2022-11-21)
Breaking Changes
core
- Existing iframe usages may have security-sensitive attributes applied as an attribute or property binding in a template or via host bindings in a directive. Such usages would require an update to ensure compliance with the new stricter rules around iframe bindings.
core
Commit Type Description 54814c8e9b fix hardening attribute and property binding rules for elements (#48028) Special Thanks
Andrew Kushnir
15.0.0 (2022-11-16)
Blog post "Angular v15 is now available".
Breaking Changes
compiler
Keyframes names are now prefixed with the component's "scope name". For example, the following keyframes rule in a component definition, whose "scope name" is host-my-cmp:
@keyframes
foo { ... }will become:
@keyframes
host-my-cmp_foo { ... }Any TypeScript/JavaScript code which relied on the names of keyframes rules will no longer match.
The recommended solutions in this case are to either:
- change the component's view encapsulation to the
None
orShadowDom
- define keyframes rules in global stylesheets (e.g styles.css)
... (truncated)
bf6b44b
docs(core): mark the standalone APIs as Developer Preview (#46050)536939e
docs(core): improve standalone-related docs and add more usage examples (#46202)c901934
docs: add the Standalone guide link to API docs of component/directive/pipe d...51baa0b
docs(core): improve inject
function docs (#46168)ba9f30c
fix(core): include component name into unknown element/property error message...5dee53b
docs: create a dedicated page for the NG0203 error (#46166)35653ce
fix(core): add more details to the MISSING_INJECTION_CONTEXT error (#46166)724e88e
fix(compiler-cli): preserve forwardRef
for component scopes (#46139)0bc77f4
fix(core): better error message when unknown property is present (#46147)ddce357
fix(core): improve TestBed declarations standalone error message (#45999)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Master of Computer Science -- Open source consumer, proprietary producer, and professional software engineer. C++, Python, security, and all things Linux
GitHub Repositorymagicmirror magicmirror2 python python3 cli raspberry-pi raspberry-pi-3 angular mypy monaco-editor socketio