Custom component requirements from GitHub repo

I sure I’m doing something wrong here, but I’m trying to contribute a change to a library used by an integration custom component and I’m having a devil of a time when attempting to load that requirement from my forked GitHub repo. The docs seem to indicate it’s possible, but when using the format shown here Custom requirements during development & testing I get the following exception showing up in the logs

2022-12-05 20:52:50.866 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration openevse which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-12-05 20:53:49.479 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/pkg_resources/_vendor/packaging/requirements.py", line 102, in __init__
    req = REQUIREMENT.parseString(requirement_string)
  File "/usr/local/lib/python3.10/site-packages/pkg_resources/_vendor/pyparsing/core.py", line 1141, in parse_string
    raise exc.with_traceback(None)
pkg_resources._vendor.pyparsing.exceptions.ParseException: Expected string_end, found '+'  (at char 3), (line:1, col:4)

It goes on a bit with additional characters that it doesn’t seem to like as it moves through the string.

The requirements entry I’m using is

git+https://github.com/david81/python-openevse-http.git@session-usage

Has the format for specifying requirements during dev changed?

This is on a fresh docker instance setup specifically for dev work on this component.

1 Like

I think something about the Python library is causing the git+https substring in that URL to be interpreted as the version.

Forgive my ignorance on this, but are you saying the URL is invalid, something within the component itself is off, or something within a library used by HA is off?

Barring loading the requirement from github, I could just install the updated module locally, but I’m not quite sure how to do that in a docker setup. I would have thought dependencies would be in the “deps” directory, but that doesn’t seem to be the case. How could I manually install a module locally in a docker instance?

Have you found a solution to this? I’m experiencing the same.

I have not. Still hoping someone out there can point me in the right direction…

This seems to work (add a package name):

I haven’t checked, if it’s actually installed from my repo yet. But HA starts without errors now.

2 Likes