Update fails ERROR: Could not find a version that satisfies the requirement pymc-repeater (unavailable) (from versions: none) [notice] A new release of pip is available: 26.0.1 -> 26.1.2 [notice] To update, run: /opt/pymc_repeater/venv/bin/python3 -m pip install --upgrade pip ERROR: No matching distribution found for pymc-repeater (unavailable) [pyMC updater] ✗ pip install failed – see progress log for details
Update fails
`ERROR: Could not find a version that satisfies the requirement pymc-repeater (unavailable) (from versions: none)
[notice] A new release of pip is available: 26.0.1 -> 26.1.2
[notice] To update, run: /opt/pymc_repeater/venv/bin/python3 -m pip install --upgrade pip
ERROR: No matching distribution found for pymc-repeater (unavailable)
[pyMC updater] ✗ pip install failed – see progress log for details`
<!-- github-sync-id:4778927290 -->
This was pointed out in discord, you need to manually update
## Manual update required
For this update, you will need to update **manually**. Web OTA **will not work** because the repo has moved.
From the folder where you installed `pyMC_Repeater`, run:
```bash
git remote set-url origin https://github.com/openhop-dev/openhop_repeater.git
git pull
sudo ./manage.sh upgrade
```
If you get a `Permission denied` error during `git pull`, run it with `sudo`:
```bash
sudo git pull
sudo ./manage.sh upgrade
```
### Dev branch users
If you are on the `dev` branch, run:
```bash
git remote set-url origin https://github.com/openhop-dev/openhop_repeater.git
git fetch
git switch dev
git pull
sudo ./manage.sh upgrade
```
<!-- github-comment-id:4846156391 -->
I was stupid and used your main comands to upgrade a dev installation. I am now on 1.1.1 version. I switched to main branch but it is still complaining that there is a 1.1.2dev1 version available. I then tried your dev comands and it resinstalls the 1.1.1 version. If i now try OTA update i get this ERROR: Will not install to the user site because it will lack sys.path precedence to openhop_repeater in /opt/openhop_repeater/venv/lib/python3.13/site-packages [pyMC updater] ✗ pip install failed – see progress log for details
I was stupid and used your main comands to upgrade a dev installation. I am now on 1.1.1 version. I switched to main branch but it is still complaining that there is a 1.1.2dev1 version available. I then tried your dev comands and it resinstalls the 1.1.1 version. If i now try OTA update i get this
`ERROR: Will not install to the user site because it will lack sys.path precedence to openhop_repeater in /opt/openhop_repeater/venv/lib/python3.13/site-packages
[pyMC updater] ✗ pip install failed – see progress log for details`
<!-- github-comment-id:4848096036 -->
If you run this in your cloned folder, it will change to dev and update further.
git remote set-url origin https://github.com/openhop-dev/openhop_repeater.git
git fetch
git switch dev
git pull
sudo ./manage.sh upgrade
otherwise there might be a pip issue on your system.
If you run this in your cloned folder, it will change to dev and update further.
git remote set-url origin https://github.com/openhop-dev/openhop_repeater.git
git fetch
git switch dev
git pull
sudo ./manage.sh upgrade
otherwise there might be a pip issue on your system.
<!-- github-comment-id:4855223683 -->
` git remote set-url origin https://github.com/openhop-dev/openhop_repeater.git
git fetch
git switch dev
git pull
sudo ./manage.sh upgrade
error: cannot open '.git/FETCH_HEAD': Permission denied
Already on 'dev'
Your branch is up to date with 'origin/dev'.
error: cannot open '.git/FETCH_HEAD': Permission denied
Starting upgrade process...
Current version: 1.1.1
=== Upgrade Progress ===
[1/9] Stopping service...
[1.5/9] Migrating legacy paths...
✓ No stale source-tree paths found
[1.6/9] Ensuring required directories...
[2/9] Backing up configuration...
✓ Configuration backed up
[3/9] Updating system dependencies...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'python3-pip' instead of 'pip'
libffi-dev is already the newest version (3.4.8-2).
libusb-1.0-0 is already the newest version (2:1.0.28-1).
sudo is already the newest version (1.9.16p2-3+deb13u2).
jq is already the newest version (1.7.1-6+deb13u2).
python3-pip is already the newest version (25.1.1+dfsg-1+rpt1).
python3-venv is already the newest version (3.13.5-1).
python3-rrdtool is already the newest version (1.7.2-4.2+b5).
wget is already the newest version (1.25.0-2).
swig is already the newest version (4.3.0-1).
build-essential is already the newest version (12.12).
python3-dev is already the newest version (3.13.5-1).
i2c-tools is already the newest version (4.4-2).
The following packages were automatically installed and are no longer required:
alacarte gir1.2-gmenu-3.0 gnome-menus gtk-nop
libgnome-menu-3-0 python3-gi-cairo retry
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 256 not upgraded.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package policykit-1 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
polkitd:armhf pkexec:armhf polkitd pkexec
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
polkitd is already the newest version (126-2).
pkexec is already the newest version (126-2).
The following packages were automatically installed and are no longer required:
alacarte gir1.2-gmenu-3.0 gnome-menus gtk-nop
libgnome-menu-3-0 python3-gi-cairo retry
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 256 not upgraded.
✓ Dependencies updated
[4/9] Installing files...
✓ Files updated
[5/9] Validating and updating configuration...
Merging configuration...
✓ Backup created: /etc/openhop_repeater/config.yaml.backup.20260702_001612
✓ Configuration merged successfully
✓ Legacy pymc_* paths normalized
✓ User settings preserved, new options added
✓ Configuration validated and updated
[5.5/9] Ensuring user groups and udev rules...
✓ User groups updated
[6/9] Fixing permissions...
Polkit 0.106 or greater detected, using rules file
Configuring polkit for service management...
✓ Permissions updated
[7/9] Reloading systemd...
✓ Systemd reloaded
=== Installing Python Dependencies ===
Updating openhop_repeater and dependencies (including openhop_core from PyPI)...
This may take a few minutes...
Upgrading to version: 1.1.1
Note: Using optimized binary wheels for faster installation
Checking for legacy system-pip installation...
✓ Cleaned up system-level packages (if any)
✓ No stale source-tree paths found
Upgrading openhop_repeater into venv (/opt/openhop_repeater/venv)...
Checking for R2 wheels (arm64/aarch64/cp313-cp313)...
Trying install from R2 pre-built wheels...
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Looking in links: https://wheel.pymc.dev/pymc_build_deps/arm64/aarch64/cp313-cp313/index.html
Requirement already satisfied: pycryptodome>=3.23.0 in /usr/local/lib/python3.13/dist-packages (3.23.0)
Requirement already satisfied: PyNaCl>=1.5.0 in /usr/local/lib/python3.13/dist-packages (1.6.2)
Requirement already satisfied: cffi in /usr/local/lib/python3.13/dist-packages (2.0.0)
Requirement already satisfied: pyyaml>=6.0.0 in /usr/local/lib/python3.13/dist-packages (6.0.3)
Requirement already satisfied: pycparser in /usr/local/lib/python3.13/dist-packages (from cffi) (3.0)
✓ R2 wheels installed
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Processing ./.
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: openhop_core[hardware] in /opt/openhop_repeater/venv/lib/python3.13/site-packages (from openhop_repeater==1.1.1) (1.1.1)
Requirement already satisfied: pyyaml>=6.0.0 in /usr/local/lib/python3.13/dist-packages (from openhop_repeater==1.1.1) (6.0.3)
Requirement already satisfied: cherrypy>=18.0.0 in /usr/local/lib/python3.13/dist-packages (from openhop_repeater==1.1.1) (18.10.0)
Requirement already satisfied: paho-mqtt>=1.6.0 in /usr/local/lib/python3.13/dist-packages (from openhop_repeater==1.1.1) (2.1.0)
Requirement already satisfied: cherrypy-cors==1.7.0 in /usr/local/lib/python3.13/dist-packages (from openhop_repeater==1.1.1) (1.7.0)
Requirement already satisfied: psutil>=5.9.0 in /usr/local/lib/python3.13/dist-packages (from openhop_repeater==1.1.1) (7.2.2)
Requirement already satisfied: pyserial>=3.5 in /usr/local/lib/python3.13/dist-packages (from openhop_repeater==1.1.1) (3.5)
Requirement already satisfied: pyjwt>=2.8.0 in /usr/lib/python3/dist-packages (from openhop_repeater==1.1.1) (2.10.1)
Requirement already satisfied: ws4py>=0.6.0 in /opt/openhop_repeater/venv/lib/python3.13/site-packages (from openhop_repeater==1.1.1) (0.6.0)
Requirement already satisfied: httpagentparser>=1.5 in /usr/local/lib/python3.13/dist-packages (from cherrypy-cors==1.7.0->openhop_repeater==1.1.1) (1.9.9)
Requirement already satisfied: cheroot>=8.2.1 in /usr/local/lib/python3.13/dist-packages (from cherrypy>=18.0.0->openhop_repeater==1.1.1) (11.1.2)
Requirement already satisfied: portend>=2.1.1 in /usr/local/lib/python3.13/dist-packages (from cherrypy>=18.0.0->openhop_repeater==1.1.1) (3.2.1)
Requirement already satisfied: more-itertools in /usr/local/lib/python3.13/dist-packages (from cherrypy>=18.0.0->openhop_repeater==1.1.1) (11.0.2)
Requirement already satisfied: zc.lockfile in /usr/local/lib/python3.13/dist-packages (from cherrypy>=18.0.0->openhop_repeater==1.1.1) (4.0)
Requirement already satisfied: jaraco.collections in /usr/local/lib/python3.13/dist-packages (from cherrypy>=18.0.0->openhop_repeater==1.1.1) (5.2.1)
Requirement already satisfied: jaraco.functools in /usr/local/lib/python3.13/dist-packages (from cheroot>=8.2.1->cherrypy>=18.0.0->openhop_repeater==1.1.1) (4.4.0)
Requirement already satisfied: tempora>=1.8 in /usr/local/lib/python3.13/dist-packages (from portend>=2.1.1->cherrypy>=18.0.0->openhop_repeater==1.1.1) (5.8.1)
Requirement already satisfied: python-dateutil in /usr/local/lib/python3.13/dist-packages (from tempora>=1.8->portend>=2.1.1->cherrypy>=18.0.0->openhop_repeater==1.1.1) (2.9.0.post0)
Requirement already satisfied: jaraco.text in /usr/local/lib/python3.13/dist-packages (from jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (4.2.0)
Requirement already satisfied: jaraco.context>=4.1 in /usr/local/lib/python3.13/dist-packages (from jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (6.1.2)
Requirement already satisfied: typer-slim in /usr/local/lib/python3.13/dist-packages (from jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (0.24.0)
Requirement already satisfied: pycryptodome>=3.23.0 in /usr/local/lib/python3.13/dist-packages (from openhop_core[hardware]->openhop_repeater==1.1.1) (3.23.0)
Requirement already satisfied: PyNaCl>=1.5.0 in /usr/local/lib/python3.13/dist-packages (from openhop_core[hardware]->openhop_repeater==1.1.1) (1.6.2)
Requirement already satisfied: python-periphery>=2.4.1 in /usr/local/lib/python3.13/dist-packages (from openhop_core[hardware]->openhop_repeater==1.1.1) (2.4.1)
Requirement already satisfied: spidev>=3.5 in /usr/local/lib/python3.13/dist-packages (from openhop_core[hardware]->openhop_repeater==1.1.1) (3.8)
Requirement already satisfied: pyusb>=1.2.1 in /opt/openhop_repeater/venv/lib/python3.13/site-packages (from openhop_core[hardware]->openhop_repeater==1.1.1) (1.3.1)
Requirement already satisfied: cffi>=2.0.0 in /usr/local/lib/python3.13/dist-packages (from PyNaCl>=1.5.0->openhop_core[hardware]->openhop_repeater==1.1.1) (2.0.0)
Requirement already satisfied: pycparser in /usr/local/lib/python3.13/dist-packages (from cffi>=2.0.0->PyNaCl>=1.5.0->openhop_core[hardware]->openhop_repeater==1.1.1) (3.0)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.13/dist-packages (from python-dateutil->tempora>=1.8->portend>=2.1.1->cherrypy>=18.0.0->openhop_repeater==1.1.1) (1.17.0)
Requirement already satisfied: typer>=0.24.0 in /usr/local/lib/python3.13/dist-packages (from typer-slim->jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (0.24.1)
Requirement already satisfied: click>=8.2.1 in /usr/local/lib/python3.13/dist-packages (from typer>=0.24.0->typer-slim->jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (8.3.2)
Requirement already satisfied: shellingham>=1.3.0 in /usr/local/lib/python3.13/dist-packages (from typer>=0.24.0->typer-slim->jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (1.5.4)
Requirement already satisfied: rich>=12.3.0 in /usr/local/lib/python3.13/dist-packages (from typer>=0.24.0->typer-slim->jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (15.0.0)
Requirement already satisfied: annotated-doc>=0.0.2 in /usr/local/lib/python3.13/dist-packages (from typer>=0.24.0->typer-slim->jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (0.0.4)
Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.13/dist-packages (from rich>=12.3.0->typer>=0.24.0->typer-slim->jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (4.0.0)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.13/dist-packages (from rich>=12.3.0->typer>=0.24.0->typer-slim->jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (2.20.0)
Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.13/dist-packages (from markdown-it-py>=2.2.0->rich>=12.3.0->typer>=0.24.0->typer-slim->jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (0.1.2)
Requirement already satisfied: setuptools in /usr/local/lib/python3.13/dist-packages (from zc.lockfile->cherrypy>=18.0.0->openhop_repeater==1.1.1) (82.0.1)
Building wheels for collected packages: openhop_repeater
Building wheel for openhop_repeater (pyproject.toml) ... done
Created wheel for openhop_repeater: filename=openhop_repeater-1.1.1-py3-none-any.whl size=6446810 sha256=9e671e6a809ca840c7c306ed2e611e260bf0c081783b6f1896eeec38a5fb04ad
Stored in directory: /tmp/pip-ephem-wheel-cache-uly2prcj/wheels/19/68/0a/afcb061726110f443f90659ab12dda9f163865c5ea3d555543
Successfully built openhop_repeater
Installing collected packages: openhop_repeater
Attempting uninstall: openhop_repeater
Found existing installation: openhop_repeater 1.1.1
Uninstalling openhop_repeater-1.1.1:
Successfully uninstalled openhop_repeater-1.1.1
Successfully installed openhop_repeater-1.1.1
✓ Package and dependencies upgraded successfully!
[8/9] Starting service...
✓ Service started
[9/9] Verifying installation...
✓ Service is running
Upgrade completed successfully!
Version: 1.1.1 -> 1.1.1
✓ Service is running
✓ Configuration preserved
=== Upgrade Complete ===`
` git remote set-url origin https://github.com/openhop-dev/openhop_repeater.git
git fetch
git switch dev
git pull
sudo ./manage.sh upgrade
error: cannot open '.git/FETCH_HEAD': Permission denied
Already on 'dev'
Your branch is up to date with 'origin/dev'.
error: cannot open '.git/FETCH_HEAD': Permission denied
Starting upgrade process...
Current version: 1.1.1
=== Upgrade Progress ===
[1/9] Stopping service...
[1.5/9] Migrating legacy paths...
✓ No stale source-tree paths found
[1.6/9] Ensuring required directories...
[2/9] Backing up configuration...
✓ Configuration backed up
[3/9] Updating system dependencies...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'python3-pip' instead of 'pip'
libffi-dev is already the newest version (3.4.8-2).
libusb-1.0-0 is already the newest version (2:1.0.28-1).
sudo is already the newest version (1.9.16p2-3+deb13u2).
jq is already the newest version (1.7.1-6+deb13u2).
python3-pip is already the newest version (25.1.1+dfsg-1+rpt1).
python3-venv is already the newest version (3.13.5-1).
python3-rrdtool is already the newest version (1.7.2-4.2+b5).
wget is already the newest version (1.25.0-2).
swig is already the newest version (4.3.0-1).
build-essential is already the newest version (12.12).
python3-dev is already the newest version (3.13.5-1).
i2c-tools is already the newest version (4.4-2).
The following packages were automatically installed and are no longer required:
alacarte gir1.2-gmenu-3.0 gnome-menus gtk-nop
libgnome-menu-3-0 python3-gi-cairo retry
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 256 not upgraded.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package policykit-1 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
polkitd:armhf pkexec:armhf polkitd pkexec
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
polkitd is already the newest version (126-2).
pkexec is already the newest version (126-2).
The following packages were automatically installed and are no longer required:
alacarte gir1.2-gmenu-3.0 gnome-menus gtk-nop
libgnome-menu-3-0 python3-gi-cairo retry
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 256 not upgraded.
✓ Dependencies updated
[4/9] Installing files...
✓ Files updated
[5/9] Validating and updating configuration...
Merging configuration...
✓ Backup created: /etc/openhop_repeater/config.yaml.backup.20260702_001612
✓ Configuration merged successfully
✓ Legacy pymc_* paths normalized
✓ User settings preserved, new options added
✓ Configuration validated and updated
[5.5/9] Ensuring user groups and udev rules...
✓ User groups updated
[6/9] Fixing permissions...
Polkit 0.106 or greater detected, using rules file
>>> Configuring polkit for service management...
✓ Permissions updated
[7/9] Reloading systemd...
✓ Systemd reloaded
=== Installing Python Dependencies ===
Updating openhop_repeater and dependencies (including openhop_core from PyPI)...
This may take a few minutes...
Upgrading to version: 1.1.1
Note: Using optimized binary wheels for faster installation
>>> Checking for legacy system-pip installation...
✓ Cleaned up system-level packages (if any)
✓ No stale source-tree paths found
Upgrading openhop_repeater into venv (/opt/openhop_repeater/venv)...
Checking for R2 wheels (arm64/aarch64/cp313-cp313)...
Trying install from R2 pre-built wheels...
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Looking in links: https://wheel.pymc.dev/pymc_build_deps/arm64/aarch64/cp313-cp313/index.html
Requirement already satisfied: pycryptodome>=3.23.0 in /usr/local/lib/python3.13/dist-packages (3.23.0)
Requirement already satisfied: PyNaCl>=1.5.0 in /usr/local/lib/python3.13/dist-packages (1.6.2)
Requirement already satisfied: cffi in /usr/local/lib/python3.13/dist-packages (2.0.0)
Requirement already satisfied: pyyaml>=6.0.0 in /usr/local/lib/python3.13/dist-packages (6.0.3)
Requirement already satisfied: pycparser in /usr/local/lib/python3.13/dist-packages (from cffi) (3.0)
✓ R2 wheels installed
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Processing ./.
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: openhop_core[hardware] in /opt/openhop_repeater/venv/lib/python3.13/site-packages (from openhop_repeater==1.1.1) (1.1.1)
Requirement already satisfied: pyyaml>=6.0.0 in /usr/local/lib/python3.13/dist-packages (from openhop_repeater==1.1.1) (6.0.3)
Requirement already satisfied: cherrypy>=18.0.0 in /usr/local/lib/python3.13/dist-packages (from openhop_repeater==1.1.1) (18.10.0)
Requirement already satisfied: paho-mqtt>=1.6.0 in /usr/local/lib/python3.13/dist-packages (from openhop_repeater==1.1.1) (2.1.0)
Requirement already satisfied: cherrypy-cors==1.7.0 in /usr/local/lib/python3.13/dist-packages (from openhop_repeater==1.1.1) (1.7.0)
Requirement already satisfied: psutil>=5.9.0 in /usr/local/lib/python3.13/dist-packages (from openhop_repeater==1.1.1) (7.2.2)
Requirement already satisfied: pyserial>=3.5 in /usr/local/lib/python3.13/dist-packages (from openhop_repeater==1.1.1) (3.5)
Requirement already satisfied: pyjwt>=2.8.0 in /usr/lib/python3/dist-packages (from openhop_repeater==1.1.1) (2.10.1)
Requirement already satisfied: ws4py>=0.6.0 in /opt/openhop_repeater/venv/lib/python3.13/site-packages (from openhop_repeater==1.1.1) (0.6.0)
Requirement already satisfied: httpagentparser>=1.5 in /usr/local/lib/python3.13/dist-packages (from cherrypy-cors==1.7.0->openhop_repeater==1.1.1) (1.9.9)
Requirement already satisfied: cheroot>=8.2.1 in /usr/local/lib/python3.13/dist-packages (from cherrypy>=18.0.0->openhop_repeater==1.1.1) (11.1.2)
Requirement already satisfied: portend>=2.1.1 in /usr/local/lib/python3.13/dist-packages (from cherrypy>=18.0.0->openhop_repeater==1.1.1) (3.2.1)
Requirement already satisfied: more-itertools in /usr/local/lib/python3.13/dist-packages (from cherrypy>=18.0.0->openhop_repeater==1.1.1) (11.0.2)
Requirement already satisfied: zc.lockfile in /usr/local/lib/python3.13/dist-packages (from cherrypy>=18.0.0->openhop_repeater==1.1.1) (4.0)
Requirement already satisfied: jaraco.collections in /usr/local/lib/python3.13/dist-packages (from cherrypy>=18.0.0->openhop_repeater==1.1.1) (5.2.1)
Requirement already satisfied: jaraco.functools in /usr/local/lib/python3.13/dist-packages (from cheroot>=8.2.1->cherrypy>=18.0.0->openhop_repeater==1.1.1) (4.4.0)
Requirement already satisfied: tempora>=1.8 in /usr/local/lib/python3.13/dist-packages (from portend>=2.1.1->cherrypy>=18.0.0->openhop_repeater==1.1.1) (5.8.1)
Requirement already satisfied: python-dateutil in /usr/local/lib/python3.13/dist-packages (from tempora>=1.8->portend>=2.1.1->cherrypy>=18.0.0->openhop_repeater==1.1.1) (2.9.0.post0)
Requirement already satisfied: jaraco.text in /usr/local/lib/python3.13/dist-packages (from jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (4.2.0)
Requirement already satisfied: jaraco.context>=4.1 in /usr/local/lib/python3.13/dist-packages (from jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (6.1.2)
Requirement already satisfied: typer-slim in /usr/local/lib/python3.13/dist-packages (from jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (0.24.0)
Requirement already satisfied: pycryptodome>=3.23.0 in /usr/local/lib/python3.13/dist-packages (from openhop_core[hardware]->openhop_repeater==1.1.1) (3.23.0)
Requirement already satisfied: PyNaCl>=1.5.0 in /usr/local/lib/python3.13/dist-packages (from openhop_core[hardware]->openhop_repeater==1.1.1) (1.6.2)
Requirement already satisfied: python-periphery>=2.4.1 in /usr/local/lib/python3.13/dist-packages (from openhop_core[hardware]->openhop_repeater==1.1.1) (2.4.1)
Requirement already satisfied: spidev>=3.5 in /usr/local/lib/python3.13/dist-packages (from openhop_core[hardware]->openhop_repeater==1.1.1) (3.8)
Requirement already satisfied: pyusb>=1.2.1 in /opt/openhop_repeater/venv/lib/python3.13/site-packages (from openhop_core[hardware]->openhop_repeater==1.1.1) (1.3.1)
Requirement already satisfied: cffi>=2.0.0 in /usr/local/lib/python3.13/dist-packages (from PyNaCl>=1.5.0->openhop_core[hardware]->openhop_repeater==1.1.1) (2.0.0)
Requirement already satisfied: pycparser in /usr/local/lib/python3.13/dist-packages (from cffi>=2.0.0->PyNaCl>=1.5.0->openhop_core[hardware]->openhop_repeater==1.1.1) (3.0)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.13/dist-packages (from python-dateutil->tempora>=1.8->portend>=2.1.1->cherrypy>=18.0.0->openhop_repeater==1.1.1) (1.17.0)
Requirement already satisfied: typer>=0.24.0 in /usr/local/lib/python3.13/dist-packages (from typer-slim->jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (0.24.1)
Requirement already satisfied: click>=8.2.1 in /usr/local/lib/python3.13/dist-packages (from typer>=0.24.0->typer-slim->jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (8.3.2)
Requirement already satisfied: shellingham>=1.3.0 in /usr/local/lib/python3.13/dist-packages (from typer>=0.24.0->typer-slim->jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (1.5.4)
Requirement already satisfied: rich>=12.3.0 in /usr/local/lib/python3.13/dist-packages (from typer>=0.24.0->typer-slim->jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (15.0.0)
Requirement already satisfied: annotated-doc>=0.0.2 in /usr/local/lib/python3.13/dist-packages (from typer>=0.24.0->typer-slim->jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (0.0.4)
Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.13/dist-packages (from rich>=12.3.0->typer>=0.24.0->typer-slim->jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (4.0.0)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.13/dist-packages (from rich>=12.3.0->typer>=0.24.0->typer-slim->jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (2.20.0)
Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.13/dist-packages (from markdown-it-py>=2.2.0->rich>=12.3.0->typer>=0.24.0->typer-slim->jaraco.text->jaraco.collections->cherrypy>=18.0.0->openhop_repeater==1.1.1) (0.1.2)
Requirement already satisfied: setuptools in /usr/local/lib/python3.13/dist-packages (from zc.lockfile->cherrypy>=18.0.0->openhop_repeater==1.1.1) (82.0.1)
Building wheels for collected packages: openhop_repeater
Building wheel for openhop_repeater (pyproject.toml) ... done
Created wheel for openhop_repeater: filename=openhop_repeater-1.1.1-py3-none-any.whl size=6446810 sha256=9e671e6a809ca840c7c306ed2e611e260bf0c081783b6f1896eeec38a5fb04ad
Stored in directory: /tmp/pip-ephem-wheel-cache-uly2prcj/wheels/19/68/0a/afcb061726110f443f90659ab12dda9f163865c5ea3d555543
Successfully built openhop_repeater
Installing collected packages: openhop_repeater
Attempting uninstall: openhop_repeater
Found existing installation: openhop_repeater 1.1.1
Uninstalling openhop_repeater-1.1.1:
Successfully uninstalled openhop_repeater-1.1.1
Successfully installed openhop_repeater-1.1.1
✓ Package and dependencies upgraded successfully!
[8/9] Starting service...
✓ Service started
[9/9] Verifying installation...
✓ Service is running
Upgrade completed successfully!
Version: 1.1.1 -> 1.1.1
✓ Service is running
✓ Configuration preserved
=== Upgrade Complete ===`
<!-- github-comment-id:4860478079 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Update fails
ERROR: Could not find a version that satisfies the requirement pymc-repeater (unavailable) (from versions: none) [notice] A new release of pip is available: 26.0.1 -> 26.1.2 [notice] To update, run: /opt/pymc_repeater/venv/bin/python3 -m pip install --upgrade pip ERROR: No matching distribution found for pymc-repeater (unavailable) [pyMC updater] ✗ pip install failed – see progress log for detailsThis was pointed out in discord, you need to manually update
Manual update required
For this update, you will need to update manually. Web OTA will not work because the repo has moved.
From the folder where you installed
pyMC_Repeater, run:If you get a
Permission deniederror duringgit pull, run it withsudo:Dev branch users
If you are on the
devbranch, run:I was stupid and used your main comands to upgrade a dev installation. I am now on 1.1.1 version. I switched to main branch but it is still complaining that there is a 1.1.2dev1 version available. I then tried your dev comands and it resinstalls the 1.1.1 version. If i now try OTA update i get this
ERROR: Will not install to the user site because it will lack sys.path precedence to openhop_repeater in /opt/openhop_repeater/venv/lib/python3.13/site-packages [pyMC updater] ✗ pip install failed – see progress log for detailsIf you run this in your cloned folder, it will change to dev and update further.
git remote set-url origin https://github.com/openhop-dev/openhop_repeater.git
git fetch
git switch dev
git pull
sudo ./manage.sh upgrade
otherwise there might be a pip issue on your system.
` git remote set-url origin https://github.com/openhop-dev/openhop_repeater.git
git fetch
git switch dev
git pull
sudo ./manage.sh upgrade
error: cannot open '.git/FETCH_HEAD': Permission denied
Already on 'dev'
Your branch is up to date with 'origin/dev'.
error: cannot open '.git/FETCH_HEAD': Permission denied
Starting upgrade process...
Current version: 1.1.1
=== Upgrade Progress ===
[1/9] Stopping service...
[1.5/9] Migrating legacy paths...
✓ No stale source-tree paths found
[1.6/9] Ensuring required directories...
[2/9] Backing up configuration...
✓ Configuration backed up
[3/9] Updating system dependencies...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'python3-pip' instead of 'pip'
libffi-dev is already the newest version (3.4.8-2).
libusb-1.0-0 is already the newest version (2:1.0.28-1).
sudo is already the newest version (1.9.16p2-3+deb13u2).
jq is already the newest version (1.7.1-6+deb13u2).
python3-pip is already the newest version (25.1.1+dfsg-1+rpt1).
python3-venv is already the newest version (3.13.5-1).
python3-rrdtool is already the newest version (1.7.2-4.2+b5).
wget is already the newest version (1.25.0-2).
swig is already the newest version (4.3.0-1).
build-essential is already the newest version (12.12).
python3-dev is already the newest version (3.13.5-1).
i2c-tools is already the newest version (4.4-2).
The following packages were automatically installed and are no longer required:
alacarte gir1.2-gmenu-3.0 gnome-menus gtk-nop
libgnome-menu-3-0 python3-gi-cairo retry
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 256 not upgraded.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package policykit-1 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
polkitd:armhf pkexec:armhf polkitd pkexec
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
polkitd is already the newest version (126-2).
pkexec is already the newest version (126-2).
The following packages were automatically installed and are no longer required:
alacarte gir1.2-gmenu-3.0 gnome-menus gtk-nop
libgnome-menu-3-0 python3-gi-cairo retry
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 256 not upgraded.
✓ Dependencies updated
[4/9] Installing files...
✓ Files updated
[5/9] Validating and updating configuration...
Merging configuration...
✓ Backup created: /etc/openhop_repeater/config.yaml.backup.20260702_001612
✓ Configuration merged successfully
✓ Legacy pymc_* paths normalized
✓ User settings preserved, new options added
✓ Configuration validated and updated
[5.5/9] Ensuring user groups and udev rules...
✓ User groups updated
[6/9] Fixing permissions...
Polkit 0.106 or greater detected, using rules file
Updating openhop_repeater and dependencies (including openhop_core from PyPI)...
This may take a few minutes...
Upgrading to version: 1.1.1
Note: Using optimized binary wheels for faster installation
✓ Package and dependencies upgraded successfully!
[8/9] Starting service...
✓ Service started
[9/9] Verifying installation...
✓ Service is running
Upgrade completed successfully!
Version: 1.1.1 -> 1.1.1
✓ Service is running
✓ Configuration preserved
=== Upgrade Complete ===`
This works. Login into server, and: