mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-09-23 05:37:27 +03:00
Merge pull request #91234 from Mic92/hass
home-assistant: also collect after_dependencies
This commit is contained in:
commit
681b4034bd
@ -19,7 +19,7 @@
|
|||||||
"alarm_control_panel" = ps: with ps; [ ];
|
"alarm_control_panel" = ps: with ps; [ ];
|
||||||
"alarmdecoder" = ps: with ps; [ alarmdecoder];
|
"alarmdecoder" = ps: with ps; [ alarmdecoder];
|
||||||
"alert" = ps: with ps; [ ];
|
"alert" = ps: with ps; [ ];
|
||||||
"alexa" = ps: with ps; [ aiohttp-cors];
|
"alexa" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: home-assistant-frontend
|
||||||
"almond" = ps: with ps; [ aiohttp-cors]; # missing inputs: pyalmond
|
"almond" = ps: with ps; [ aiohttp-cors]; # missing inputs: pyalmond
|
||||||
"alpha_vantage" = ps: with ps; [ ]; # missing inputs: alpha_vantage
|
"alpha_vantage" = ps: with ps; [ ]; # missing inputs: alpha_vantage
|
||||||
"amazon_polly" = ps: with ps; [ boto3];
|
"amazon_polly" = ps: with ps; [ boto3];
|
||||||
@ -35,7 +35,7 @@
|
|||||||
"apcupsd" = ps: with ps; [ ]; # missing inputs: apcaccess
|
"apcupsd" = ps: with ps; [ ]; # missing inputs: apcaccess
|
||||||
"api" = ps: with ps; [ aiohttp-cors];
|
"api" = ps: with ps; [ aiohttp-cors];
|
||||||
"apns" = ps: with ps; [ ]; # missing inputs: apns2
|
"apns" = ps: with ps; [ ]; # missing inputs: apns2
|
||||||
"apple_tv" = ps: with ps; [ pyatv];
|
"apple_tv" = ps: with ps; [ aiohttp-cors netdisco pyatv zeroconf];
|
||||||
"apprise" = ps: with ps; [ apprise];
|
"apprise" = ps: with ps; [ apprise];
|
||||||
"aprs" = ps: with ps; [ ]; # missing inputs: aprslib geopy
|
"aprs" = ps: with ps; [ ]; # missing inputs: aprslib geopy
|
||||||
"aqualogic" = ps: with ps; [ ]; # missing inputs: aqualogic
|
"aqualogic" = ps: with ps; [ ]; # missing inputs: aqualogic
|
||||||
@ -57,13 +57,13 @@
|
|||||||
"aurora" = ps: with ps; [ ];
|
"aurora" = ps: with ps; [ ];
|
||||||
"aurora_abb_powerone" = ps: with ps; [ ]; # missing inputs: aurorapy
|
"aurora_abb_powerone" = ps: with ps; [ ]; # missing inputs: aurorapy
|
||||||
"auth" = ps: with ps; [ aiohttp-cors];
|
"auth" = ps: with ps; [ aiohttp-cors];
|
||||||
"automation" = ps: with ps; [ ];
|
"automation" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: home-assistant-frontend
|
||||||
"avea" = ps: with ps; [ ]; # missing inputs: avea
|
"avea" = ps: with ps; [ ]; # missing inputs: avea
|
||||||
"avion" = ps: with ps; [ ]; # missing inputs: avion
|
"avion" = ps: with ps; [ ]; # missing inputs: avion
|
||||||
"avri" = ps: with ps; [ ]; # missing inputs: avri-api
|
"avri" = ps: with ps; [ ]; # missing inputs: avri-api
|
||||||
"awair" = ps: with ps; [ ]; # missing inputs: python_awair
|
"awair" = ps: with ps; [ ]; # missing inputs: python_awair
|
||||||
"aws" = ps: with ps; [ ]; # missing inputs: aiobotocore
|
"aws" = ps: with ps; [ ]; # missing inputs: aiobotocore
|
||||||
"axis" = ps: with ps; [ ]; # missing inputs: axis
|
"axis" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt]; # missing inputs: axis
|
||||||
"azure_event_hub" = ps: with ps; [ ]; # missing inputs: azure-eventhub
|
"azure_event_hub" = ps: with ps; [ ]; # missing inputs: azure-eventhub
|
||||||
"azure_service_bus" = ps: with ps; [ azure-servicebus];
|
"azure_service_bus" = ps: with ps; [ azure-servicebus];
|
||||||
"baidu" = ps: with ps; [ ]; # missing inputs: baidu-aip
|
"baidu" = ps: with ps; [ ]; # missing inputs: baidu-aip
|
||||||
@ -104,7 +104,7 @@
|
|||||||
"calendar" = ps: with ps; [ aiohttp-cors];
|
"calendar" = ps: with ps; [ aiohttp-cors];
|
||||||
"camera" = ps: with ps; [ aiohttp-cors];
|
"camera" = ps: with ps; [ aiohttp-cors];
|
||||||
"canary" = ps: with ps; [ ha-ffmpeg]; # missing inputs: py-canary
|
"canary" = ps: with ps; [ ha-ffmpeg]; # missing inputs: py-canary
|
||||||
"cast" = ps: with ps; [ PyChromecast];
|
"cast" = ps: with ps; [ aiohttp-cors hass-nabucasa PyChromecast sqlalchemy zeroconf]; # missing inputs: home-assistant-frontend
|
||||||
"cert_expiry" = ps: with ps; [ ];
|
"cert_expiry" = ps: with ps; [ ];
|
||||||
"channels" = ps: with ps; [ ]; # missing inputs: pychannels
|
"channels" = ps: with ps; [ ]; # missing inputs: pychannels
|
||||||
"circuit" = ps: with ps; [ ]; # missing inputs: circuit-webhook
|
"circuit" = ps: with ps; [ ]; # missing inputs: circuit-webhook
|
||||||
@ -117,7 +117,7 @@
|
|||||||
"clicksend" = ps: with ps; [ ];
|
"clicksend" = ps: with ps; [ ];
|
||||||
"clicksend_tts" = ps: with ps; [ ];
|
"clicksend_tts" = ps: with ps; [ ];
|
||||||
"climate" = ps: with ps; [ ];
|
"climate" = ps: with ps; [ ];
|
||||||
"cloud" = ps: with ps; [ aiohttp-cors hass-nabucasa];
|
"cloud" = ps: with ps; [ aiohttp-cors hass-nabucasa sqlalchemy]; # missing inputs: home-assistant-frontend
|
||||||
"cloudflare" = ps: with ps; [ ]; # missing inputs: pycfdns
|
"cloudflare" = ps: with ps; [ ]; # missing inputs: pycfdns
|
||||||
"cmus" = ps: with ps; [ ]; # missing inputs: pycmus
|
"cmus" = ps: with ps; [ ]; # missing inputs: pycmus
|
||||||
"co2signal" = ps: with ps; [ ]; # missing inputs: co2signal
|
"co2signal" = ps: with ps; [ ]; # missing inputs: co2signal
|
||||||
@ -166,7 +166,7 @@
|
|||||||
"directv" = ps: with ps; [ ]; # missing inputs: directv
|
"directv" = ps: with ps; [ ]; # missing inputs: directv
|
||||||
"discogs" = ps: with ps; [ discogs_client];
|
"discogs" = ps: with ps; [ discogs_client];
|
||||||
"discord" = ps: with ps; [ discordpy];
|
"discord" = ps: with ps; [ discordpy];
|
||||||
"discovery" = ps: with ps; [ netdisco];
|
"discovery" = ps: with ps; [ aiohttp-cors netdisco zeroconf];
|
||||||
"dlib_face_detect" = ps: with ps; [ face_recognition];
|
"dlib_face_detect" = ps: with ps; [ face_recognition];
|
||||||
"dlib_face_identify" = ps: with ps; [ face_recognition];
|
"dlib_face_identify" = ps: with ps; [ face_recognition];
|
||||||
"dlink" = ps: with ps; [ ]; # missing inputs: pyW215
|
"dlink" = ps: with ps; [ ]; # missing inputs: pyW215
|
||||||
@ -183,10 +183,10 @@
|
|||||||
"dublin_bus_transport" = ps: with ps; [ ];
|
"dublin_bus_transport" = ps: with ps; [ ];
|
||||||
"duckdns" = ps: with ps; [ ];
|
"duckdns" = ps: with ps; [ ];
|
||||||
"dunehd" = ps: with ps; [ ]; # missing inputs: pdunehd
|
"dunehd" = ps: with ps; [ ]; # missing inputs: pdunehd
|
||||||
"dwd_weather_warnings" = ps: with ps; [ ];
|
"dwd_weather_warnings" = ps: with ps; [ jsonpath xmltodict];
|
||||||
"dweet" = ps: with ps; [ ]; # missing inputs: dweepy
|
"dweet" = ps: with ps; [ ]; # missing inputs: dweepy
|
||||||
"dynalite" = ps: with ps; [ ]; # missing inputs: dynalite_devices
|
"dynalite" = ps: with ps; [ ]; # missing inputs: dynalite_devices
|
||||||
"dyson" = ps: with ps; [ ]; # missing inputs: libpurecool
|
"dyson" = ps: with ps; [ aiohttp-cors zeroconf]; # missing inputs: libpurecool
|
||||||
"ebox" = ps: with ps; [ ]; # missing inputs: pyebox
|
"ebox" = ps: with ps; [ ]; # missing inputs: pyebox
|
||||||
"ebusd" = ps: with ps; [ ]; # missing inputs: ebusdpy
|
"ebusd" = ps: with ps; [ ]; # missing inputs: ebusdpy
|
||||||
"ecoal_boiler" = ps: with ps; [ ]; # missing inputs: ecoaliface
|
"ecoal_boiler" = ps: with ps; [ ]; # missing inputs: ecoaliface
|
||||||
@ -263,14 +263,14 @@
|
|||||||
"foscam" = ps: with ps; [ ]; # missing inputs: libpyfoscam
|
"foscam" = ps: with ps; [ ]; # missing inputs: libpyfoscam
|
||||||
"foursquare" = ps: with ps; [ aiohttp-cors];
|
"foursquare" = ps: with ps; [ aiohttp-cors];
|
||||||
"free_mobile" = ps: with ps; [ ]; # missing inputs: freesms
|
"free_mobile" = ps: with ps; [ ]; # missing inputs: freesms
|
||||||
"freebox" = ps: with ps; [ ]; # missing inputs: aiofreepybox
|
"freebox" = ps: with ps; [ aiohttp-cors netdisco zeroconf]; # missing inputs: aiofreepybox
|
||||||
"freedns" = ps: with ps; [ ];
|
"freedns" = ps: with ps; [ ];
|
||||||
"fritz" = ps: with ps; [ fritzconnection];
|
"fritz" = ps: with ps; [ fritzconnection];
|
||||||
"fritzbox" = ps: with ps; [ ]; # missing inputs: pyfritzhome
|
"fritzbox" = ps: with ps; [ ]; # missing inputs: pyfritzhome
|
||||||
"fritzbox_callmonitor" = ps: with ps; [ fritzconnection];
|
"fritzbox_callmonitor" = ps: with ps; [ fritzconnection];
|
||||||
"fritzbox_netmonitor" = ps: with ps; [ fritzconnection];
|
"fritzbox_netmonitor" = ps: with ps; [ fritzconnection];
|
||||||
"fronius" = ps: with ps; [ ]; # missing inputs: pyfronius
|
"fronius" = ps: with ps; [ ]; # missing inputs: pyfronius
|
||||||
"frontend" = ps: with ps; [ aiohttp-cors]; # missing inputs: home-assistant-frontend
|
"frontend" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: home-assistant-frontend
|
||||||
"frontier_silicon" = ps: with ps; [ ]; # missing inputs: afsapi
|
"frontier_silicon" = ps: with ps; [ ]; # missing inputs: afsapi
|
||||||
"futurenow" = ps: with ps; [ ]; # missing inputs: pyfnip
|
"futurenow" = ps: with ps; [ ]; # missing inputs: pyfnip
|
||||||
"garadget" = ps: with ps; [ ];
|
"garadget" = ps: with ps; [ ];
|
||||||
@ -320,7 +320,7 @@
|
|||||||
"hangouts" = ps: with ps; [ ]; # missing inputs: hangups
|
"hangouts" = ps: with ps; [ ]; # missing inputs: hangups
|
||||||
"harman_kardon_avr" = ps: with ps; [ ]; # missing inputs: hkavr
|
"harman_kardon_avr" = ps: with ps; [ ]; # missing inputs: hkavr
|
||||||
"harmony" = ps: with ps; [ aioharmony];
|
"harmony" = ps: with ps; [ aioharmony];
|
||||||
"hassio" = ps: with ps; [ aiohttp-cors];
|
"hassio" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: home-assistant-frontend
|
||||||
"haveibeenpwned" = ps: with ps; [ ];
|
"haveibeenpwned" = ps: with ps; [ ];
|
||||||
"hddtemp" = ps: with ps; [ ];
|
"hddtemp" = ps: with ps; [ ];
|
||||||
"hdmi_cec" = ps: with ps; [ ]; # missing inputs: pyCEC
|
"hdmi_cec" = ps: with ps; [ ]; # missing inputs: pyCEC
|
||||||
@ -337,7 +337,7 @@
|
|||||||
"hlk_sw16" = ps: with ps; [ ]; # missing inputs: hlk-sw16
|
"hlk_sw16" = ps: with ps; [ ]; # missing inputs: hlk-sw16
|
||||||
"home_connect" = ps: with ps; [ aiohttp-cors]; # missing inputs: homeconnect
|
"home_connect" = ps: with ps; [ aiohttp-cors]; # missing inputs: homeconnect
|
||||||
"homeassistant" = ps: with ps; [ ];
|
"homeassistant" = ps: with ps; [ ];
|
||||||
"homekit" = ps: with ps; [ HAP-python pyqrcode aiohttp-cors ha-ffmpeg]; # missing inputs: PyTurboJPEG base36 fnvhash
|
"homekit" = ps: with ps; [ HAP-python pyqrcode aiohttp-cors ha-ffmpeg sqlalchemy zeroconf]; # missing inputs: PyTurboJPEG base36 fnvhash home-assistant-frontend
|
||||||
"homekit_controller" = ps: with ps; [ ]; # missing inputs: aiohomekit[IP]
|
"homekit_controller" = ps: with ps; [ ]; # missing inputs: aiohomekit[IP]
|
||||||
"homematic" = ps: with ps; [ pyhomematic];
|
"homematic" = ps: with ps; [ pyhomematic];
|
||||||
"homematicip_cloud" = ps: with ps; [ ]; # missing inputs: homematicip
|
"homematicip_cloud" = ps: with ps; [ ]; # missing inputs: homematicip
|
||||||
@ -454,7 +454,7 @@
|
|||||||
"mailgun" = ps: with ps; [ aiohttp-cors]; # missing inputs: pymailgunner
|
"mailgun" = ps: with ps; [ aiohttp-cors]; # missing inputs: pymailgunner
|
||||||
"manual" = ps: with ps; [ ];
|
"manual" = ps: with ps; [ ];
|
||||||
"manual_mqtt" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt];
|
"manual_mqtt" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt];
|
||||||
"map" = ps: with ps; [ aiohttp-cors]; # missing inputs: home-assistant-frontend
|
"map" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: home-assistant-frontend
|
||||||
"marytts" = ps: with ps; [ ]; # missing inputs: speak2mary
|
"marytts" = ps: with ps; [ ]; # missing inputs: speak2mary
|
||||||
"mastodon" = ps: with ps; [ ]; # missing inputs: Mastodon.py
|
"mastodon" = ps: with ps; [ ]; # missing inputs: Mastodon.py
|
||||||
"matrix" = ps: with ps; [ matrix-client];
|
"matrix" = ps: with ps; [ matrix-client];
|
||||||
@ -485,7 +485,7 @@
|
|||||||
"minio" = ps: with ps; [ minio];
|
"minio" = ps: with ps; [ minio];
|
||||||
"mitemp_bt" = ps: with ps; [ ]; # missing inputs: mitemp_bt
|
"mitemp_bt" = ps: with ps; [ ]; # missing inputs: mitemp_bt
|
||||||
"mjpeg" = ps: with ps; [ ];
|
"mjpeg" = ps: with ps; [ ];
|
||||||
"mobile_app" = ps: with ps; [ pynacl aiohttp-cors];
|
"mobile_app" = ps: with ps; [ pynacl aiohttp-cors hass-nabucasa sqlalchemy]; # missing inputs: home-assistant-frontend
|
||||||
"mochad" = ps: with ps; [ ]; # missing inputs: pymochad
|
"mochad" = ps: with ps; [ ]; # missing inputs: pymochad
|
||||||
"modbus" = ps: with ps; [ ]; # missing inputs: pymodbus
|
"modbus" = ps: with ps; [ ]; # missing inputs: pymodbus
|
||||||
"modem_callerid" = ps: with ps; [ ]; # missing inputs: basicmodem
|
"modem_callerid" = ps: with ps; [ ]; # missing inputs: basicmodem
|
||||||
@ -504,7 +504,7 @@
|
|||||||
"mychevy" = ps: with ps; [ ]; # missing inputs: mychevy
|
"mychevy" = ps: with ps; [ ]; # missing inputs: mychevy
|
||||||
"mycroft" = ps: with ps; [ ]; # missing inputs: mycroftapi
|
"mycroft" = ps: with ps; [ ]; # missing inputs: mycroftapi
|
||||||
"myq" = ps: with ps; [ ]; # missing inputs: pymyq
|
"myq" = ps: with ps; [ ]; # missing inputs: pymyq
|
||||||
"mysensors" = ps: with ps; [ ]; # missing inputs: pymysensors
|
"mysensors" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt]; # missing inputs: pymysensors
|
||||||
"mystrom" = ps: with ps; [ aiohttp-cors]; # missing inputs: python-mystrom
|
"mystrom" = ps: with ps; [ aiohttp-cors]; # missing inputs: python-mystrom
|
||||||
"mythicbeastsdns" = ps: with ps; [ ]; # missing inputs: mbddns
|
"mythicbeastsdns" = ps: with ps; [ ]; # missing inputs: mbddns
|
||||||
"n26" = ps: with ps; [ ]; # missing inputs: n26
|
"n26" = ps: with ps; [ ]; # missing inputs: n26
|
||||||
@ -516,7 +516,7 @@
|
|||||||
"nello" = ps: with ps; [ ]; # missing inputs: pynello
|
"nello" = ps: with ps; [ ]; # missing inputs: pynello
|
||||||
"ness_alarm" = ps: with ps; [ ]; # missing inputs: nessclient
|
"ness_alarm" = ps: with ps; [ ]; # missing inputs: nessclient
|
||||||
"nest" = ps: with ps; [ ]; # missing inputs: python-nest
|
"nest" = ps: with ps; [ ]; # missing inputs: python-nest
|
||||||
"netatmo" = ps: with ps; [ aiohttp-cors pyatmo];
|
"netatmo" = ps: with ps; [ aiohttp-cors hass-nabucasa pyatmo sqlalchemy]; # missing inputs: home-assistant-frontend
|
||||||
"netdata" = ps: with ps; [ ]; # missing inputs: netdata
|
"netdata" = ps: with ps; [ ]; # missing inputs: netdata
|
||||||
"netgear" = ps: with ps; [ ]; # missing inputs: pynetgear
|
"netgear" = ps: with ps; [ ]; # missing inputs: pynetgear
|
||||||
"netgear_lte" = ps: with ps; [ ]; # missing inputs: eternalegypt
|
"netgear_lte" = ps: with ps; [ ]; # missing inputs: eternalegypt
|
||||||
@ -548,7 +548,7 @@
|
|||||||
"nzbget" = ps: with ps; [ ]; # missing inputs: pynzbgetapi
|
"nzbget" = ps: with ps; [ ]; # missing inputs: pynzbgetapi
|
||||||
"oasa_telematics" = ps: with ps; [ ]; # missing inputs: oasatelematics
|
"oasa_telematics" = ps: with ps; [ ]; # missing inputs: oasatelematics
|
||||||
"obihai" = ps: with ps; [ ]; # missing inputs: pyobihai
|
"obihai" = ps: with ps; [ ]; # missing inputs: pyobihai
|
||||||
"octoprint" = ps: with ps; [ ];
|
"octoprint" = ps: with ps; [ aiohttp-cors netdisco zeroconf];
|
||||||
"oem" = ps: with ps; [ ]; # missing inputs: oemthermostat
|
"oem" = ps: with ps; [ ]; # missing inputs: oemthermostat
|
||||||
"ohmconnect" = ps: with ps; [ defusedxml];
|
"ohmconnect" = ps: with ps; [ defusedxml];
|
||||||
"ombi" = ps: with ps; [ ]; # missing inputs: pyombi
|
"ombi" = ps: with ps; [ ]; # missing inputs: pyombi
|
||||||
@ -577,13 +577,13 @@
|
|||||||
"orvibo" = ps: with ps; [ ]; # missing inputs: orvibo
|
"orvibo" = ps: with ps; [ ]; # missing inputs: orvibo
|
||||||
"osramlightify" = ps: with ps; [ ]; # missing inputs: lightify
|
"osramlightify" = ps: with ps; [ ]; # missing inputs: lightify
|
||||||
"otp" = ps: with ps; [ pyotp];
|
"otp" = ps: with ps; [ pyotp];
|
||||||
"owntracks" = ps: with ps; [ pynacl aiohttp-cors];
|
"owntracks" = ps: with ps; [ pynacl aiohttp-cors hass-nabucasa hbmqtt paho-mqtt sqlalchemy]; # missing inputs: home-assistant-frontend
|
||||||
"ozw" = ps: with ps; [ ]; # missing inputs: python-openzwave-mqtt
|
"ozw" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt]; # missing inputs: python-openzwave-mqtt
|
||||||
"panasonic_bluray" = ps: with ps; [ ]; # missing inputs: panacotta
|
"panasonic_bluray" = ps: with ps; [ ]; # missing inputs: panacotta
|
||||||
"panasonic_viera" = ps: with ps; [ ]; # missing inputs: panasonic_viera
|
"panasonic_viera" = ps: with ps; [ ]; # missing inputs: panasonic_viera
|
||||||
"pandora" = ps: with ps; [ pexpect];
|
"pandora" = ps: with ps; [ pexpect];
|
||||||
"panel_custom" = ps: with ps; [ aiohttp-cors]; # missing inputs: home-assistant-frontend
|
"panel_custom" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: home-assistant-frontend
|
||||||
"panel_iframe" = ps: with ps; [ aiohttp-cors]; # missing inputs: home-assistant-frontend
|
"panel_iframe" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: home-assistant-frontend
|
||||||
"pcal9535a" = ps: with ps; [ ]; # missing inputs: pcal9535a
|
"pcal9535a" = ps: with ps; [ ]; # missing inputs: pcal9535a
|
||||||
"pencom" = ps: with ps; [ ]; # missing inputs: pencompy
|
"pencom" = ps: with ps; [ ]; # missing inputs: pencompy
|
||||||
"persistent_notification" = ps: with ps; [ ];
|
"persistent_notification" = ps: with ps; [ ];
|
||||||
@ -598,8 +598,8 @@
|
|||||||
"pioneer" = ps: with ps; [ ];
|
"pioneer" = ps: with ps; [ ];
|
||||||
"pjlink" = ps: with ps; [ ]; # missing inputs: pypjlink2
|
"pjlink" = ps: with ps; [ ]; # missing inputs: pypjlink2
|
||||||
"plaato" = ps: with ps; [ aiohttp-cors];
|
"plaato" = ps: with ps; [ aiohttp-cors];
|
||||||
"plant" = ps: with ps; [ ];
|
"plant" = ps: with ps; [ sqlalchemy];
|
||||||
"plex" = ps: with ps; [ aiohttp-cors plexapi plexauth plexwebsocket];
|
"plex" = ps: with ps; [ aiohttp-cors plexapi plexauth plexwebsocket pysonos];
|
||||||
"plugwise" = ps: with ps; [ ]; # missing inputs: Plugwise_Smile
|
"plugwise" = ps: with ps; [ ]; # missing inputs: Plugwise_Smile
|
||||||
"plum_lightpad" = ps: with ps; [ ]; # missing inputs: plumlightpad
|
"plum_lightpad" = ps: with ps; [ ]; # missing inputs: plumlightpad
|
||||||
"pocketcasts" = ps: with ps; [ ]; # missing inputs: pocketcasts
|
"pocketcasts" = ps: with ps; [ ]; # missing inputs: pocketcasts
|
||||||
@ -619,7 +619,7 @@
|
|||||||
"pushbullet" = ps: with ps; [ pushbullet];
|
"pushbullet" = ps: with ps; [ pushbullet];
|
||||||
"pushover" = ps: with ps; [ pushover-complete];
|
"pushover" = ps: with ps; [ pushover-complete];
|
||||||
"pushsafer" = ps: with ps; [ ];
|
"pushsafer" = ps: with ps; [ ];
|
||||||
"pvoutput" = ps: with ps; [ ];
|
"pvoutput" = ps: with ps; [ jsonpath xmltodict];
|
||||||
"pvpc_hourly_pricing" = ps: with ps; [ ]; # missing inputs: aiopvpc
|
"pvpc_hourly_pricing" = ps: with ps; [ ]; # missing inputs: aiopvpc
|
||||||
"pyload" = ps: with ps; [ ];
|
"pyload" = ps: with ps; [ ];
|
||||||
"python_script" = ps: with ps; [ restrictedpython];
|
"python_script" = ps: with ps; [ restrictedpython];
|
||||||
@ -630,7 +630,7 @@
|
|||||||
"quantum_gateway" = ps: with ps; [ ]; # missing inputs: quantum-gateway
|
"quantum_gateway" = ps: with ps; [ ]; # missing inputs: quantum-gateway
|
||||||
"qvr_pro" = ps: with ps; [ ]; # missing inputs: pyqvrpro
|
"qvr_pro" = ps: with ps; [ ]; # missing inputs: pyqvrpro
|
||||||
"qwikswitch" = ps: with ps; [ ]; # missing inputs: pyqwikswitch
|
"qwikswitch" = ps: with ps; [ ]; # missing inputs: pyqwikswitch
|
||||||
"rachio" = ps: with ps; [ aiohttp-cors]; # missing inputs: rachiopy
|
"rachio" = ps: with ps; [ aiohttp-cors hass-nabucasa sqlalchemy]; # missing inputs: home-assistant-frontend rachiopy
|
||||||
"radarr" = ps: with ps; [ ];
|
"radarr" = ps: with ps; [ ];
|
||||||
"radiotherm" = ps: with ps; [ ]; # missing inputs: radiotherm
|
"radiotherm" = ps: with ps; [ ]; # missing inputs: radiotherm
|
||||||
"rainbird" = ps: with ps; [ ]; # missing inputs: pyrainbird
|
"rainbird" = ps: with ps; [ ]; # missing inputs: pyrainbird
|
||||||
@ -670,18 +670,18 @@
|
|||||||
"rtorrent" = ps: with ps; [ ];
|
"rtorrent" = ps: with ps; [ ];
|
||||||
"russound_rio" = ps: with ps; [ ]; # missing inputs: russound_rio
|
"russound_rio" = ps: with ps; [ ]; # missing inputs: russound_rio
|
||||||
"russound_rnet" = ps: with ps; [ ]; # missing inputs: russound
|
"russound_rnet" = ps: with ps; [ ]; # missing inputs: russound
|
||||||
"sabnzbd" = ps: with ps; [ ]; # missing inputs: pysabnzbd
|
"sabnzbd" = ps: with ps; [ aiohttp-cors netdisco zeroconf]; # missing inputs: pysabnzbd
|
||||||
"safe_mode" = ps: with ps; [ aiohttp-cors hass-nabucasa]; # missing inputs: home-assistant-frontend
|
"safe_mode" = ps: with ps; [ aiohttp-cors hass-nabucasa sqlalchemy]; # missing inputs: home-assistant-frontend
|
||||||
"saj" = ps: with ps; [ ]; # missing inputs: pysaj
|
"saj" = ps: with ps; [ ]; # missing inputs: pysaj
|
||||||
"salt" = ps: with ps; [ ]; # missing inputs: saltbox
|
"salt" = ps: with ps; [ ]; # missing inputs: saltbox
|
||||||
"samsungtv" = ps: with ps; [ ]; # missing inputs: samsungctl[websocket] samsungtvws[websocket]
|
"samsungtv" = ps: with ps; [ ]; # missing inputs: samsungctl[websocket] samsungtvws[websocket]
|
||||||
"satel_integra" = ps: with ps; [ ]; # missing inputs: satel_integra
|
"satel_integra" = ps: with ps; [ ]; # missing inputs: satel_integra
|
||||||
"scene" = ps: with ps; [ ];
|
"scene" = ps: with ps; [ ];
|
||||||
"schluter" = ps: with ps; [ ]; # missing inputs: py-schluter
|
"schluter" = ps: with ps; [ ]; # missing inputs: py-schluter
|
||||||
"scrape" = ps: with ps; [ beautifulsoup4];
|
"scrape" = ps: with ps; [ beautifulsoup4 jsonpath xmltodict];
|
||||||
"script" = ps: with ps; [ ];
|
"script" = ps: with ps; [ ];
|
||||||
"scsgate" = ps: with ps; [ ]; # missing inputs: scsgate
|
"scsgate" = ps: with ps; [ ]; # missing inputs: scsgate
|
||||||
"search" = ps: with ps; [ aiohttp-cors];
|
"search" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: home-assistant-frontend
|
||||||
"season" = ps: with ps; [ ephem];
|
"season" = ps: with ps; [ ephem];
|
||||||
"sendgrid" = ps: with ps; [ ]; # missing inputs: sendgrid
|
"sendgrid" = ps: with ps; [ ]; # missing inputs: sendgrid
|
||||||
"sense" = ps: with ps; [ ]; # missing inputs: sense_energy
|
"sense" = ps: with ps; [ ]; # missing inputs: sense_energy
|
||||||
@ -716,7 +716,7 @@
|
|||||||
"sma" = ps: with ps; [ ]; # missing inputs: pysma
|
"sma" = ps: with ps; [ ]; # missing inputs: pysma
|
||||||
"smappee" = ps: with ps; [ ]; # missing inputs: smappy
|
"smappee" = ps: with ps; [ ]; # missing inputs: smappy
|
||||||
"smarthab" = ps: with ps; [ ]; # missing inputs: smarthab
|
"smarthab" = ps: with ps; [ ]; # missing inputs: smarthab
|
||||||
"smartthings" = ps: with ps; [ aiohttp-cors]; # missing inputs: pysmartapp pysmartthings
|
"smartthings" = ps: with ps; [ aiohttp-cors hass-nabucasa sqlalchemy]; # missing inputs: home-assistant-frontend pysmartapp pysmartthings
|
||||||
"smarty" = ps: with ps; [ ]; # missing inputs: pysmarty
|
"smarty" = ps: with ps; [ ]; # missing inputs: pysmarty
|
||||||
"smhi" = ps: with ps; [ ]; # missing inputs: smhi-pkg
|
"smhi" = ps: with ps; [ ]; # missing inputs: smhi-pkg
|
||||||
"sms" = ps: with ps; [ ]; # missing inputs: python-gammu
|
"sms" = ps: with ps; [ ]; # missing inputs: python-gammu
|
||||||
@ -737,7 +737,7 @@
|
|||||||
"songpal" = ps: with ps; [ ]; # missing inputs: python-songpal
|
"songpal" = ps: with ps; [ ]; # missing inputs: python-songpal
|
||||||
"sonos" = ps: with ps; [ pysonos];
|
"sonos" = ps: with ps; [ pysonos];
|
||||||
"sony_projector" = ps: with ps; [ ]; # missing inputs: pysdcp
|
"sony_projector" = ps: with ps; [ ]; # missing inputs: pysdcp
|
||||||
"soundtouch" = ps: with ps; [ libsoundtouch];
|
"soundtouch" = ps: with ps; [ aiohttp-cors libsoundtouch zeroconf];
|
||||||
"spaceapi" = ps: with ps; [ aiohttp-cors];
|
"spaceapi" = ps: with ps; [ aiohttp-cors];
|
||||||
"spc" = ps: with ps; [ ]; # missing inputs: pyspcwebgw
|
"spc" = ps: with ps; [ ]; # missing inputs: pyspcwebgw
|
||||||
"speedtestdotnet" = ps: with ps; [ speedtest-cli];
|
"speedtestdotnet" = ps: with ps; [ speedtest-cli];
|
||||||
@ -747,11 +747,11 @@
|
|||||||
"spotify" = ps: with ps; [ aiohttp-cors spotipy];
|
"spotify" = ps: with ps; [ aiohttp-cors spotipy];
|
||||||
"sql" = ps: with ps; [ sqlalchemy];
|
"sql" = ps: with ps; [ sqlalchemy];
|
||||||
"squeezebox" = ps: with ps; [ ]; # missing inputs: pysqueezebox
|
"squeezebox" = ps: with ps; [ ]; # missing inputs: pysqueezebox
|
||||||
"ssdp" = ps: with ps; [ defusedxml netdisco];
|
"ssdp" = ps: with ps; [ aiohttp-cors defusedxml netdisco zeroconf];
|
||||||
"starline" = ps: with ps; [ ]; # missing inputs: starline
|
"starline" = ps: with ps; [ ]; # missing inputs: starline
|
||||||
"starlingbank" = ps: with ps; [ ]; # missing inputs: starlingbank
|
"starlingbank" = ps: with ps; [ ]; # missing inputs: starlingbank
|
||||||
"startca" = ps: with ps; [ xmltodict];
|
"startca" = ps: with ps; [ xmltodict];
|
||||||
"statistics" = ps: with ps; [ ];
|
"statistics" = ps: with ps; [ sqlalchemy];
|
||||||
"statsd" = ps: with ps; [ statsd];
|
"statsd" = ps: with ps; [ statsd];
|
||||||
"steam_online" = ps: with ps; [ ]; # missing inputs: steamodd
|
"steam_online" = ps: with ps; [ ]; # missing inputs: steamodd
|
||||||
"stiebel_eltron" = ps: with ps; [ ]; # missing inputs: pymodbus pystiebeleltron
|
"stiebel_eltron" = ps: with ps; [ ]; # missing inputs: pymodbus pystiebeleltron
|
||||||
@ -911,7 +911,7 @@
|
|||||||
"xeoma" = ps: with ps; [ ]; # missing inputs: pyxeoma
|
"xeoma" = ps: with ps; [ ]; # missing inputs: pyxeoma
|
||||||
"xfinity" = ps: with ps; [ ]; # missing inputs: xfinity-gateway
|
"xfinity" = ps: with ps; [ ]; # missing inputs: xfinity-gateway
|
||||||
"xiaomi" = ps: with ps; [ ha-ffmpeg];
|
"xiaomi" = ps: with ps; [ ha-ffmpeg];
|
||||||
"xiaomi_aqara" = ps: with ps; [ ]; # missing inputs: PyXiaomiGateway
|
"xiaomi_aqara" = ps: with ps; [ aiohttp-cors netdisco zeroconf]; # missing inputs: PyXiaomiGateway
|
||||||
"xiaomi_miio" = ps: with ps; [ construct python-miio];
|
"xiaomi_miio" = ps: with ps; [ construct python-miio];
|
||||||
"xiaomi_tv" = ps: with ps; [ ]; # missing inputs: pymitv
|
"xiaomi_tv" = ps: with ps; [ ]; # missing inputs: pymitv
|
||||||
"xmpp" = ps: with ps; [ slixmpp];
|
"xmpp" = ps: with ps; [ slixmpp];
|
||||||
@ -921,7 +921,7 @@
|
|||||||
"yamaha_musiccast" = ps: with ps; [ ]; # missing inputs: pymusiccast
|
"yamaha_musiccast" = ps: with ps; [ ]; # missing inputs: pymusiccast
|
||||||
"yandex_transport" = ps: with ps; [ ]; # missing inputs: ya_ma
|
"yandex_transport" = ps: with ps; [ ]; # missing inputs: ya_ma
|
||||||
"yandextts" = ps: with ps; [ ];
|
"yandextts" = ps: with ps; [ ];
|
||||||
"yeelight" = ps: with ps; [ ]; # missing inputs: yeelight
|
"yeelight" = ps: with ps; [ aiohttp-cors netdisco zeroconf]; # missing inputs: yeelight
|
||||||
"yeelightsunflower" = ps: with ps; [ ]; # missing inputs: yeelightsunflower
|
"yeelightsunflower" = ps: with ps; [ ]; # missing inputs: yeelightsunflower
|
||||||
"yessssms" = ps: with ps; [ ]; # missing inputs: YesssSMS
|
"yessssms" = ps: with ps; [ ]; # missing inputs: YesssSMS
|
||||||
"yi" = ps: with ps; [ aioftp ha-ffmpeg];
|
"yi" = ps: with ps; [ aioftp ha-ffmpeg];
|
||||||
|
@ -24,7 +24,7 @@ import sys
|
|||||||
import tarfile
|
import tarfile
|
||||||
import tempfile
|
import tempfile
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from typing import Dict, Optional
|
from typing import Dict, Optional, Set, Any
|
||||||
from urllib.request import urlopen
|
from urllib.request import urlopen
|
||||||
|
|
||||||
COMPONENT_PREFIX = "homeassistant.components"
|
COMPONENT_PREFIX = "homeassistant.components"
|
||||||
@ -79,11 +79,14 @@ def parse_components(version: str = "master"):
|
|||||||
|
|
||||||
|
|
||||||
# Recursively get the requirements of a component and its dependencies
|
# Recursively get the requirements of a component and its dependencies
|
||||||
def get_reqs(components, component):
|
def get_reqs(components: Dict[str, Dict[str, Any]], component: str, processed: Set[str]) -> Set[str]:
|
||||||
requirements = set(components[component].get("requirements", []))
|
requirements = set(components[component].get("requirements", []))
|
||||||
deps = components[component].get("dependencies", [])
|
deps = components[component].get("dependencies", [])
|
||||||
|
deps.extend(components[component].get("after_dependencies", []))
|
||||||
|
processed.add(component)
|
||||||
for dependency in deps:
|
for dependency in deps:
|
||||||
requirements.update(get_reqs(components, dependency))
|
if dependency not in processed:
|
||||||
|
requirements.update(get_reqs(components, dependency, processed))
|
||||||
return requirements
|
return requirements
|
||||||
|
|
||||||
|
|
||||||
@ -143,7 +146,7 @@ def main() -> None:
|
|||||||
for component in sorted(components.keys()):
|
for component in sorted(components.keys()):
|
||||||
attr_paths = []
|
attr_paths = []
|
||||||
missing_reqs = []
|
missing_reqs = []
|
||||||
reqs = sorted(get_reqs(components, component))
|
reqs = sorted(get_reqs(components, component, set()))
|
||||||
for req in reqs:
|
for req in reqs:
|
||||||
# Some requirements are specified by url, e.g. https://example.org/foobar#xyz==1.0.0
|
# Some requirements are specified by url, e.g. https://example.org/foobar#xyz==1.0.0
|
||||||
# Therefore, if there's a "#" in the line, only take the part after it
|
# Therefore, if there's a "#" in the line, only take the part after it
|
||||||
|
Loading…
Reference in New Issue
Block a user