summary refs log blame commit diff
path: root/pkgs/servers/home-assistant/component-packages.nix
blob: f959bdf7612c3fc25fa9af230cb6aad3989972f7 (plain) (tree)
1
2
3
4
5
6
                                    


              
                      
                










                                                                           
                                                  





































                                                                                         
                                    

                                                       
                                                         
























                                                                                 
                                                                                         

                                                                                
                                                  





































                                                                                       
                                                                   





























                                                                                                                                                                  
                                                           






























                                                                                                              
                                                       





























                                                                              
                                                         

















































































                                                                                         
                                                              







                                                                        
                                            









                                                                     





                                                              
                                                                             















                                                                                                    
                                                             

























                                                                                       
                                                     


























































                                                                                                  
                                              























                                                                                                             
                                    












                                                                                   
                                                                                  









                                                                     





























                                                                              
                                                       
                                                                  
                                                                      







                                                                               
                                           

































































                                                                                                     
                                                                     















                                                                          
                                                                       






                                                                                         
                                                            



























                                                                                   
                                  















                                                                                                       
                                                                                                  

                                                                       
                                                                





















                                                                              
                                                                        








                                                                               
                                                             







































































                                                                                            
                                                                       








































































































                                                                                         
















































                                                                                                                                                 

    
# Generated by parse-requirements.py
# Do not edit!

{
  version = "0.108.2";
  components = {
    "abode" = ps: with ps; [ ]; # missing inputs: abodepy
    "acer_projector" = ps: with ps; [ pyserial];
    "actiontec" = ps: with ps; [ ];
    "adguard" = ps: with ps; [ ]; # missing inputs: adguardhome
    "ads" = ps: with ps; [ ]; # missing inputs: pyads
    "aftership" = ps: with ps; [ ]; # missing inputs: pyaftership
    "air_quality" = ps: with ps; [ ];
    "airly" = ps: with ps; [ ]; # missing inputs: airly
    "airvisual" = ps: with ps; [ pyairvisual];
    "aladdin_connect" = ps: with ps; [ ]; # missing inputs: aladdin_connect
    "alarm_control_panel" = ps: with ps; [ ];
    "alarmdecoder" = ps: with ps; [ alarmdecoder];
    "alert" = ps: with ps; [ ];
    "alexa" = ps: with ps; [ aiohttp-cors];
    "almond" = ps: with ps; [ aiohttp-cors]; # missing inputs: pyalmond
    "alpha_vantage" = ps: with ps; [ ]; # missing inputs: alpha_vantage
    "amazon_polly" = ps: with ps; [ boto3];
    "ambiclimate" = ps: with ps; [ aiohttp-cors]; # missing inputs: ambiclimate
    "ambient_station" = ps: with ps; [ ]; # missing inputs: aioambient
    "amcrest" = ps: with ps; [ ha-ffmpeg]; # missing inputs: amcrest
    "ampio" = ps: with ps; [ ]; # missing inputs: asmog
    "android_ip_webcam" = ps: with ps; [ ]; # missing inputs: pydroid-ipcam
    "androidtv" = ps: with ps; [ ]; # missing inputs: adb-shell androidtv pure-python-adb
    "anel_pwrctrl" = ps: with ps; [ ]; # missing inputs: anel_pwrctrl-homeassistant
    "anthemav" = ps: with ps; [ ]; # missing inputs: anthemav
    "apache_kafka" = ps: with ps; [ aiokafka];
    "apcupsd" = ps: with ps; [ ]; # missing inputs: apcaccess
    "api" = ps: with ps; [ aiohttp-cors];
    "apns" = ps: with ps; [ ]; # missing inputs: apns2
    "apple_tv" = ps: with ps; [ pyatv];
    "apprise" = ps: with ps; [ apprise];
    "aprs" = ps: with ps; [ ]; # missing inputs: aprslib geopy
    "aqualogic" = ps: with ps; [ ]; # missing inputs: aqualogic
    "aquostv" = ps: with ps; [ ]; # missing inputs: sharp_aquos_rc
    "arcam_fmj" = ps: with ps; [ ]; # missing inputs: arcam-fmj
    "arduino" = ps: with ps; [ ]; # missing inputs: PyMata
    "arest" = ps: with ps; [ ];
    "arlo" = ps: with ps; [ ha-ffmpeg]; # missing inputs: pyarlo
    "aruba" = ps: with ps; [ pexpect];
    "arwn" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt];
    "asterisk_cdr" = ps: with ps; [ ]; # missing inputs: asterisk_mbox
    "asterisk_mbox" = ps: with ps; [ ]; # missing inputs: asterisk_mbox
    "asuswrt" = ps: with ps; [ ]; # missing inputs: aioasuswrt
    "aten_pe" = ps: with ps; [ ]; # missing inputs: atenpdu
    "atome" = ps: with ps; [ ]; # missing inputs: pyatome
    "august" = ps: with ps; [ ]; # missing inputs: py-august
    "aurora" = ps: with ps; [ ];
    "aurora_abb_powerone" = ps: with ps; [ ]; # missing inputs: aurorapy
    "auth" = ps: with ps; [ aiohttp-cors];
    "automatic" = ps: with ps; [ aiohttp-cors]; # missing inputs: aioautomatic
    "automation" = ps: with ps; [ ];
    "avea" = ps: with ps; [ ]; # missing inputs: avea
    "avion" = ps: with ps; [ ]; # missing inputs: avion
    "avri" = ps: with ps; [ ]; # missing inputs: avri-api
    "awair" = ps: with ps; [ ]; # missing inputs: python_awair
    "aws" = ps: with ps; [ ]; # missing inputs: aiobotocore
    "axis" = ps: with ps; [ ]; # missing inputs: axis
    "azure_event_hub" = ps: with ps; [ ]; # missing inputs: azure-eventhub
    "azure_service_bus" = ps: with ps; [ azure-servicebus];
    "baidu" = ps: with ps; [ ]; # missing inputs: baidu-aip
    "bayesian" = ps: with ps; [ ];
    "bbb_gpio" = ps: with ps; [ ]; # missing inputs: Adafruit_BBIO
    "bbox" = ps: with ps; [ ]; # missing inputs: pybbox
    "beewi_smartclim" = ps: with ps; [ ]; # missing inputs: beewi_smartclim
    "bh1750" = ps: with ps; [ ]; # missing inputs: i2csense smbus-cffi
    "binary_sensor" = ps: with ps; [ ];
    "bitcoin" = ps: with ps; [ ]; # missing inputs: blockchain
    "bizkaibus" = ps: with ps; [ ]; # missing inputs: bizkaibus
    "blackbird" = ps: with ps; [ ]; # missing inputs: pyblackbird
    "blink" = ps: with ps; [ ]; # missing inputs: blinkpy
    "blinksticklight" = ps: with ps; [ BlinkStick];
    "blinkt" = ps: with ps; [ ]; # missing inputs: blinkt
    "blockchain" = ps: with ps; [ ]; # missing inputs: python-blockchain-api
    "bloomsky" = ps: with ps; [ ];
    "bluesound" = ps: with ps; [ xmltodict];
    "bluetooth_le_tracker" = ps: with ps; [ ]; # missing inputs: pygatt[GATTTOOL]
    "bluetooth_tracker" = ps: with ps; [ bt_proximity]; # missing inputs: pybluez
    "bme280" = ps: with ps; [ ]; # missing inputs: i2csense smbus-cffi
    "bme680" = ps: with ps; [ ]; # missing inputs: bme680 smbus-cffi
    "bmp280" = ps: with ps; [ ]; # missing inputs: RPi.GPIO adafruit-circuitpython-bmp280
    "bmw_connected_drive" = ps: with ps; [ ]; # missing inputs: bimmer_connected
    "bom" = ps: with ps; [ ]; # missing inputs: bomradarloop
    "braviatv" = ps: with ps; [ bravia-tv getmac];
    "broadlink" = ps: with ps; [ broadlink];
    "brother" = ps: with ps; [ ]; # missing inputs: brother
    "brottsplatskartan" = ps: with ps; [ ]; # missing inputs: brottsplatskartan
    "browser" = ps: with ps; [ ];
    "brunt" = ps: with ps; [ ]; # missing inputs: brunt
    "bt_home_hub_5" = ps: with ps; [ ]; # missing inputs: bthomehub5-devicelist
    "bt_smarthub" = ps: with ps; [ ]; # missing inputs: btsmarthub_devicelist
    "buienradar" = ps: with ps; [ ]; # missing inputs: buienradar
    "caldav" = ps: with ps; [ caldav];
    "calendar" = ps: with ps; [ aiohttp-cors];
    "camera" = ps: with ps; [ aiohttp-cors];
    "canary" = ps: with ps; [ ha-ffmpeg]; # missing inputs: py-canary
    "cast" = ps: with ps; [ PyChromecast];
    "cert_expiry" = ps: with ps; [ ];
    "channels" = ps: with ps; [ ]; # missing inputs: pychannels
    "cisco_ios" = ps: with ps; [ pexpect];
    "cisco_mobility_express" = ps: with ps; [ ]; # missing inputs: ciscomobilityexpress
    "cisco_webex_teams" = ps: with ps; [ ]; # missing inputs: webexteamssdk
    "citybikes" = ps: with ps; [ ];
    "clementine" = ps: with ps; [ ]; # missing inputs: python-clementine-remote
    "clickatell" = ps: with ps; [ ];
    "clicksend" = ps: with ps; [ ];
    "clicksend_tts" = ps: with ps; [ ];
    "climate" = ps: with ps; [ ];
    "cloud" = ps: with ps; [ aiohttp-cors hass-nabucasa];
    "cloudflare" = ps: with ps; [ ]; # missing inputs: pycfdns
    "cmus" = ps: with ps; [ ]; # missing inputs: pycmus
    "co2signal" = ps: with ps; [ ]; # missing inputs: co2signal
    "coinbase" = ps: with ps; [ ]; # missing inputs: coinbase
    "coinmarketcap" = ps: with ps; [ coinmarketcap];
    "comed_hourly_pricing" = ps: with ps; [ ];
    "comfoconnect" = ps: with ps; [ ]; # missing inputs: pycomfoconnect
    "command_line" = ps: with ps; [ ];
    "concord232" = ps: with ps; [ ]; # missing inputs: concord232
    "config" = ps: with ps; [ aiohttp-cors];
    "configurator" = ps: with ps; [ ];
    "conversation" = ps: with ps; [ aiohttp-cors];
    "coolmaster" = ps: with ps; [ ]; # missing inputs: pycoolmasternet
    "coronavirus" = ps: with ps; [ ]; # missing inputs: coronavirus
    "counter" = ps: with ps; [ ];
    "cover" = ps: with ps; [ ];
    "cppm_tracker" = ps: with ps; [ ]; # missing inputs: clearpasspy
    "cpuspeed" = ps: with ps; [ py-cpuinfo];
    "crimereports" = ps: with ps; [ ]; # missing inputs: crimereports
    "cups" = ps: with ps; [ pycups];
    "currencylayer" = ps: with ps; [ ];
    "daikin" = ps: with ps; [ ]; # missing inputs: pydaikin
    "danfoss_air" = ps: with ps; [ ]; # missing inputs: pydanfossair
    "darksky" = ps: with ps; [ python-forecastio];
    "datadog" = ps: with ps; [ datadog];
    "ddwrt" = ps: with ps; [ ];
    "deconz" = ps: with ps; [ ]; # missing inputs: pydeconz
    "decora" = ps: with ps; [ ]; # missing inputs: bluepy decora
    "decora_wifi" = ps: with ps; [ ]; # missing inputs: decora_wifi
    "default_config" = ps: with ps; [ pynacl aiohttp-cors defusedxml distro hass-nabucasa netdisco sqlalchemy zeroconf]; # missing inputs: home-assistant-frontend
    "delijn" = ps: with ps; [ ]; # missing inputs: pydelijn
    "deluge" = ps: with ps; [ deluge-client];
    "demo" = ps: with ps; [ aiohttp-cors];
    "denon" = ps: with ps; [ ];
    "denonavr" = ps: with ps; [ denonavr];
    "derivative" = ps: with ps; [ ];
    "deutsche_bahn" = ps: with ps; [ ]; # missing inputs: schiene
    "device_automation" = ps: with ps; [ aiohttp-cors];
    "device_sun_light_trigger" = ps: with ps; [ ];
    "device_tracker" = ps: with ps; [ ];
    "dht" = ps: with ps; [ ]; # missing inputs: Adafruit-DHT
    "dialogflow" = ps: with ps; [ aiohttp-cors];
    "digital_ocean" = ps: with ps; [ digital-ocean];
    "digitalloggers" = ps: with ps; [ ]; # missing inputs: dlipower
    "directv" = ps: with ps; [ ]; # missing inputs: directv
    "discogs" = ps: with ps; [ discogs_client];
    "discord" = ps: with ps; [ discordpy];
    "discovery" = ps: with ps; [ netdisco];
    "dlib_face_detect" = ps: with ps; [ face_recognition];
    "dlib_face_identify" = ps: with ps; [ face_recognition];
    "dlink" = ps: with ps; [ ]; # missing inputs: pyW215
    "dlna_dmr" = ps: with ps; [ ]; # missing inputs: async-upnp-client
    "dnsip" = ps: with ps; [ aiodns];
    "dominos" = ps: with ps; [ aiohttp-cors]; # missing inputs: pizzapi
    "doods" = ps: with ps; [ pillow]; # missing inputs: pydoods
    "doorbird" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: doorbirdpy home-assistant-frontend
    "dovado" = ps: with ps; [ ]; # missing inputs: dovado
    "downloader" = ps: with ps; [ ];
    "dsmr" = ps: with ps; [ ]; # missing inputs: dsmr_parser
    "dsmr_reader" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt];
    "dte_energy_bridge" = ps: with ps; [ ];
    "dublin_bus_transport" = ps: with ps; [ ];
    "duckdns" = ps: with ps; [ ];
    "dunehd" = ps: with ps; [ ]; # missing inputs: pdunehd
    "dwd_weather_warnings" = ps: with ps; [ ];
    "dweet" = ps: with ps; [ ]; # missing inputs: dweepy
    "dynalite" = ps: with ps; [ ]; # missing inputs: dynalite_devices
    "dyson" = ps: with ps; [ ]; # missing inputs: libpurecool
    "ebox" = ps: with ps; [ ]; # missing inputs: pyebox
    "ebusd" = ps: with ps; [ ]; # missing inputs: ebusdpy
    "ecoal_boiler" = ps: with ps; [ ]; # missing inputs: ecoaliface
    "ecobee" = ps: with ps; [ ]; # missing inputs: python-ecobee-api
    "econet" = ps: with ps; [ ]; # missing inputs: pyeconet
    "ecovacs" = ps: with ps; [ ]; # missing inputs: sucks
    "eddystone_temperature" = ps: with ps; [ construct]; # missing inputs: beacontools[scan]
    "edimax" = ps: with ps; [ ]; # missing inputs: pyedimax
    "edl21" = ps: with ps; [ ]; # missing inputs: pysml
    "ee_brightbox" = ps: with ps; [ ]; # missing inputs: eebrightbox
    "efergy" = ps: with ps; [ ];
    "egardia" = ps: with ps; [ ]; # missing inputs: pythonegardia
    "eight_sleep" = ps: with ps; [ ]; # missing inputs: pyeight
    "elgato" = ps: with ps; [ ]; # missing inputs: elgato
    "eliqonline" = ps: with ps; [ ]; # missing inputs: eliqonline
    "elkm1" = ps: with ps; [ ]; # missing inputs: elkm1-lib
    "elv" = ps: with ps; [ ]; # missing inputs: pypca
    "emby" = ps: with ps; [ ]; # missing inputs: pyemby
    "emoncms" = ps: with ps; [ ];
    "emoncms_history" = ps: with ps; [ ];
    "emulated_hue" = ps: with ps; [ aiohttp-cors];
    "emulated_roku" = ps: with ps; [ ]; # missing inputs: emulated_roku
    "enigma2" = ps: with ps; [ ]; # missing inputs: openwebifpy
    "enocean" = ps: with ps; [ ]; # missing inputs: enocean
    "enphase_envoy" = ps: with ps; [ ]; # missing inputs: envoy_reader
    "entur_public_transport" = ps: with ps; [ ]; # missing inputs: enturclient
    "environment_canada" = ps: with ps; [ ]; # missing inputs: env_canada
    "envirophat" = ps: with ps; [ ]; # missing inputs: envirophat smbus-cffi
    "envisalink" = ps: with ps; [ ]; # missing inputs: pyenvisalink
    "ephember" = ps: with ps; [ ]; # missing inputs: pyephember
    "epson" = ps: with ps; [ ]; # missing inputs: epson-projector
    "epsonworkforce" = ps: with ps; [ ]; # missing inputs: epsonprinter
    "eq3btsmart" = ps: with ps; [ construct]; # missing inputs: python-eq3bt
    "esphome" = ps: with ps; [ aioesphomeapi];
    "essent" = ps: with ps; [ ]; # missing inputs: PyEssent
    "etherscan" = ps: with ps; [ ]; # missing inputs: python-etherscan-api
    "eufy" = ps: with ps; [ ]; # missing inputs: lakeside
    "everlights" = ps: with ps; [ ]; # missing inputs: pyeverlights
    "evohome" = ps: with ps; [ ]; # missing inputs: evohome-async
    "ezviz" = ps: with ps; [ ]; # missing inputs: pyezviz
    "facebook" = ps: with ps; [ ];
    "facebox" = ps: with ps; [ ];
    "fail2ban" = ps: with ps; [ ];
    "familyhub" = ps: with ps; [ ]; # missing inputs: python-family-hub-local
    "fan" = ps: with ps; [ ];
    "fastdotcom" = ps: with ps; [ ]; # missing inputs: fastdotcom
    "feedreader" = ps: with ps; [ ]; # missing inputs: feedparser-homeassistant
    "ffmpeg" = ps: with ps; [ ha-ffmpeg];
    "ffmpeg_motion" = ps: with ps; [ ha-ffmpeg];
    "ffmpeg_noise" = ps: with ps; [ ha-ffmpeg];
    "fibaro" = ps: with ps; [ ]; # missing inputs: fiblary3
    "fido" = ps: with ps; [ ]; # missing inputs: pyfido
    "file" = ps: with ps; [ ];
    "filesize" = ps: with ps; [ ];
    "filter" = ps: with ps; [ aiohttp-cors sqlalchemy];
    "fints" = ps: with ps; [ fints];
    "fitbit" = ps: with ps; [ aiohttp-cors fitbit];
    "fixer" = ps: with ps; [ ]; # missing inputs: fixerio
    "fleetgo" = ps: with ps; [ ]; # missing inputs: ritassist
    "flexit" = ps: with ps; [ ]; # missing inputs: pyflexit pymodbus
    "flic" = ps: with ps; [ ]; # missing inputs: pyflic-homeassistant
    "flock" = ps: with ps; [ ];
    "flume" = ps: with ps; [ ]; # missing inputs: pyflume
    "flunearyou" = ps: with ps; [ ]; # missing inputs: pyflunearyou
    "flux" = ps: with ps; [ ];
    "flux_led" = ps: with ps; [ flux-led];
    "folder" = ps: with ps; [ ];
    "folder_watcher" = ps: with ps; [ watchdog];
    "foobot" = ps: with ps; [ ]; # missing inputs: foobot_async
    "fortigate" = ps: with ps; [ ]; # missing inputs: pyfgt
    "fortios" = ps: with ps; [ ]; # missing inputs: fortiosapi
    "foscam" = ps: with ps; [ ]; # missing inputs: libpyfoscam
    "foursquare" = ps: with ps; [ aiohttp-cors];
    "free_mobile" = ps: with ps; [ ]; # missing inputs: freesms
    "freebox" = ps: with ps; [ ]; # missing inputs: aiofreepybox
    "freedns" = ps: with ps; [ ];
    "fritz" = ps: with ps; [ fritzconnection];
    "fritzbox" = ps: with ps; [ ]; # missing inputs: pyfritzhome
    "fritzbox_callmonitor" = ps: with ps; [ fritzconnection];
    "fritzbox_netmonitor" = ps: with ps; [ fritzconnection];
    "fronius" = ps: with ps; [ ]; # missing inputs: pyfronius
    "frontend" = ps: with ps; [ aiohttp-cors]; # missing inputs: home-assistant-frontend
    "frontier_silicon" = ps: with ps; [ ]; # missing inputs: afsapi
    "futurenow" = ps: with ps; [ ]; # missing inputs: pyfnip
    "garadget" = ps: with ps; [ ];
    "garmin_connect" = ps: with ps; [ ]; # missing inputs: garminconnect
    "gc100" = ps: with ps; [ ]; # missing inputs: python-gc100
    "gdacs" = ps: with ps; [ ]; # missing inputs: aio_georss_gdacs
    "gearbest" = ps: with ps; [ ]; # missing inputs: gearbest_parser
    "geizhals" = ps: with ps; [ ]; # missing inputs: geizhals
    "generic" = ps: with ps; [ ];
    "generic_thermostat" = ps: with ps; [ ];
    "geniushub" = ps: with ps; [ ]; # missing inputs: geniushub-client
    "geo_json_events" = ps: with ps; [ ]; # missing inputs: geojson_client
    "geo_location" = ps: with ps; [ ];
    "geo_rss_events" = ps: with ps; [ ]; # missing inputs: georss_generic_client
    "geofency" = ps: with ps; [ aiohttp-cors];
    "geonetnz_quakes" = ps: with ps; [ ]; # missing inputs: aio_geojson_geonetnz_quakes
    "geonetnz_volcano" = ps: with ps; [ ]; # missing inputs: aio_geojson_geonetnz_volcano
    "gios" = ps: with ps; [ ]; # missing inputs: gios
    "github" = ps: with ps; [ PyGithub];
    "gitlab_ci" = ps: with ps; [ python-gitlab];
    "gitter" = ps: with ps; [ ]; # missing inputs: gitterpy
    "glances" = ps: with ps; [ ]; # missing inputs: glances_api
    "gntp" = ps: with ps; [ ]; # missing inputs: gntp
    "goalfeed" = ps: with ps; [ ]; # missing inputs: pysher
    "gogogate2" = ps: with ps; [ ]; # missing inputs: pygogogate2
    "google" = ps: with ps; [ google_api_python_client httplib2 oauth2client];
    "google_assistant" = ps: with ps; [ aiohttp-cors];
    "google_cloud" = ps: with ps; [ google_cloud_texttospeech];
    "google_domains" = ps: with ps; [ ];
    "google_maps" = ps: with ps; [ ]; # missing inputs: locationsharinglib
    "google_pubsub" = ps: with ps; [ google_cloud_pubsub];
    "google_translate" = ps: with ps; [ gtts-token];
    "google_travel_time" = ps: with ps; [ ]; # missing inputs: googlemaps
    "google_wifi" = ps: with ps; [ ];
    "gpmdp" = ps: with ps; [ websocket_client];
    "gpsd" = ps: with ps; [ ]; # missing inputs: gps3
    "gpslogger" = ps: with ps; [ aiohttp-cors];
    "graphite" = ps: with ps; [ ];
    "greeneye_monitor" = ps: with ps; [ ]; # missing inputs: greeneye_monitor
    "greenwave" = ps: with ps; [ ]; # missing inputs: greenwavereality
    "griddy" = ps: with ps; [ ]; # missing inputs: griddypower
    "group" = ps: with ps; [ ];
    "growatt_server" = ps: with ps; [ ]; # missing inputs: growattServer
    "gstreamer" = ps: with ps; [ ]; # missing inputs: gstreamer-player
    "gtfs" = ps: with ps; [ ]; # missing inputs: pygtfs
    "habitica" = ps: with ps; [ ]; # missing inputs: habitipy
    "hangouts" = ps: with ps; [ ]; # missing inputs: hangups
    "harman_kardon_avr" = ps: with ps; [ ]; # missing inputs: hkavr
    "harmony" = ps: with ps; [ ]; # missing inputs: aioharmony
    "hassio" = ps: with ps; [ aiohttp-cors];
    "haveibeenpwned" = ps: with ps; [ ];
    "hddtemp" = ps: with ps; [ ];
    "hdmi_cec" = ps: with ps; [ ]; # missing inputs: pyCEC
    "heatmiser" = ps: with ps; [ ]; # missing inputs: heatmiserV3
    "heos" = ps: with ps; [ ]; # missing inputs: pyheos
    "here_travel_time" = ps: with ps; [ ]; # missing inputs: herepy
    "hikvision" = ps: with ps; [ ]; # missing inputs: pyhik
    "hikvisioncam" = ps: with ps; [ ]; # missing inputs: hikvision
    "hisense_aehw4a1" = ps: with ps; [ ]; # missing inputs: pyaehw4a1
    "history" = ps: with ps; [ aiohttp-cors sqlalchemy];
    "history_stats" = ps: with ps; [ aiohttp-cors sqlalchemy];
    "hitron_coda" = ps: with ps; [ ];
    "hive" = ps: with ps; [ ]; # missing inputs: pyhiveapi
    "hlk_sw16" = ps: with ps; [ ]; # missing inputs: hlk-sw16
    "homeassistant" = ps: with ps; [ ];
    "homekit" = ps: with ps; [ ]; # missing inputs: HAP-python
    "homekit_controller" = ps: with ps; [ ]; # missing inputs: aiohomekit[IP]
    "homematic" = ps: with ps; [ pyhomematic];
    "homematicip_cloud" = ps: with ps; [ ]; # missing inputs: homematicip
    "homeworks" = ps: with ps; [ ]; # missing inputs: pyhomeworks
    "honeywell" = ps: with ps; [ ]; # missing inputs: somecomfort
    "horizon" = ps: with ps; [ ]; # missing inputs: horimote
    "hp_ilo" = ps: with ps; [ ]; # missing inputs: python-hpilo
    "html5" = ps: with ps; [ aiohttp-cors pywebpush];
    "http" = ps: with ps; [ aiohttp-cors];
    "htu21d" = ps: with ps; [ ]; # missing inputs: i2csense smbus-cffi
    "huawei_lte" = ps: with ps; [ getmac stringcase]; # missing inputs: huawei-lte-api url-normalize
    "huawei_router" = ps: with ps; [ ];
    "hue" = ps: with ps; [ aiohue];
    "hunterdouglas_powerview" = ps: with ps; [ ]; # missing inputs: aiopvapi
    "hydrawise" = ps: with ps; [ ]; # missing inputs: hydrawiser
    "hyperion" = ps: with ps; [ ];
    "ialarm" = ps: with ps; [ ]; # missing inputs: pyialarm
    "iammeter" = ps: with ps; [ ]; # missing inputs: iammeter
    "iaqualink" = ps: with ps; [ ]; # missing inputs: iaqualink
    "icloud" = ps: with ps; [ pyicloud];
    "idteck_prox" = ps: with ps; [ ]; # missing inputs: rfk101py
    "ifttt" = ps: with ps; [ aiohttp-cors pyfttt];
    "iglo" = ps: with ps; [ ]; # missing inputs: iglo
    "ign_sismologia" = ps: with ps; [ ]; # missing inputs: georss_ign_sismologia_client
    "ihc" = ps: with ps; [ defusedxml]; # missing inputs: ihcsdk
    "image_processing" = ps: with ps; [ aiohttp-cors];
    "imap" = ps: with ps; [ ]; # missing inputs: aioimaplib
    "imap_email_content" = ps: with ps; [ ];
    "incomfort" = ps: with ps; [ ]; # missing inputs: incomfort-client
    "influxdb" = ps: with ps; [ influxdb];
    "input_boolean" = ps: with ps; [ ];
    "input_datetime" = ps: with ps; [ ];
    "input_number" = ps: with ps; [ ];
    "input_select" = ps: with ps; [ ];
    "input_text" = ps: with ps; [ ];
    "insteon" = ps: with ps; [ ]; # missing inputs: insteonplm
    "integration" = ps: with ps; [ ];
    "intent" = ps: with ps; [ aiohttp-cors];
    "intent_script" = ps: with ps; [ ];
    "intesishome" = ps: with ps; [ ]; # missing inputs: pyintesishome
    "ios" = ps: with ps; [ aiohttp-cors zeroconf];
    "iota" = ps: with ps; [ ]; # missing inputs: pyota
    "iperf3" = ps: with ps; [ ]; # missing inputs: iperf3
    "ipma" = ps: with ps; [ ]; # missing inputs: pyipma
    "ipp" = ps: with ps; [ ]; # missing inputs: pyipp
    "iqvia" = ps: with ps; [ numpy]; # missing inputs: pyiqvia
    "irish_rail_transport" = ps: with ps; [ ]; # missing inputs: pyirishrail
    "islamic_prayer_times" = ps: with ps; [ ]; # missing inputs: prayer_times_calculator
    "iss" = ps: with ps; [ ]; # missing inputs: pyiss
    "isy994" = ps: with ps; [ ]; # missing inputs: PyISY
    "itach" = ps: with ps; [ ]; # missing inputs: pyitachip2ir
    "itunes" = ps: with ps; [ ];
    "izone" = ps: with ps; [ ]; # missing inputs: python-izone
    "jewish_calendar" = ps: with ps; [ ]; # missing inputs: hdate
    "joaoapps_join" = ps: with ps; [ ]; # missing inputs: python-join-api
    "juicenet" = ps: with ps; [ ]; # missing inputs: python-juicenet
    "kaiterra" = ps: with ps; [ ]; # missing inputs: kaiterra-async-client
    "kankun" = ps: with ps; [ ];
    "keba" = ps: with ps; [ ]; # missing inputs: keba-kecontact
    "keenetic_ndms2" = ps: with ps; [ ]; # missing inputs: ndms2_client
    "kef" = ps: with ps; [ getmac]; # missing inputs: aiokef
    "keyboard" = ps: with ps; [ ]; # missing inputs: pyuserinput
    "keyboard_remote" = ps: with ps; [ evdev]; # missing inputs: aionotify
    "kira" = ps: with ps; [ ]; # missing inputs: pykira
    "kiwi" = ps: with ps; [ ]; # missing inputs: kiwiki-client
    "knx" = ps: with ps; [ ]; # missing inputs: xknx
    "kodi" = ps: with ps; [ jsonrpc-async jsonrpc-websocket];
    "konnected" = ps: with ps; [ aiohttp-cors]; # missing inputs: konnected
    "kwb" = ps: with ps; [ ]; # missing inputs: pykwb
    "lacrosse" = ps: with ps; [ ]; # missing inputs: pylacrosse
    "lametric" = ps: with ps; [ ]; # missing inputs: lmnotify
    "lannouncer" = ps: with ps; [ ];
    "lastfm" = ps: with ps; [ pylast];
    "launch_library" = ps: with ps; [ ]; # missing inputs: pylaunches
    "lcn" = ps: with ps; [ ]; # missing inputs: pypck
    "lg_netcast" = ps: with ps; [ ]; # missing inputs: pylgnetcast-homeassistant
    "lg_soundbar" = ps: with ps; [ ]; # missing inputs: temescal
    "life360" = ps: with ps; [ ]; # missing inputs: life360
    "lifx" = ps: with ps; [ aiolifx aiolifx-effects];
    "lifx_cloud" = ps: with ps; [ ];
    "lifx_legacy" = ps: with ps; [ ]; # missing inputs: liffylights
    "light" = ps: with ps; [ ];
    "lightwave" = ps: with ps; [ ]; # missing inputs: lightwave
    "limitlessled" = ps: with ps; [ limitlessled];
    "linksys_smart" = ps: with ps; [ ];
    "linky" = ps: with ps; [ ]; # missing inputs: pylinky
    "linode" = ps: with ps; [ linode-api];
    "linux_battery" = ps: with ps; [ batinfo];
    "lirc" = ps: with ps; [ ]; # missing inputs: python-lirc
    "litejet" = ps: with ps; [ ]; # missing inputs: pylitejet
    "llamalab_automate" = ps: with ps; [ ];
    "local_file" = ps: with ps; [ ];
    "local_ip" = ps: with ps; [ ];
    "locative" = ps: with ps; [ aiohttp-cors];
    "lock" = ps: with ps; [ ];
    "lockitron" = ps: with ps; [ ];
    "logbook" = ps: with ps; [ aiohttp-cors sqlalchemy]; # missing inputs: home-assistant-frontend
    "logentries" = ps: with ps; [ ];
    "logger" = ps: with ps; [ ];
    "logi_circle" = ps: with ps; [ aiohttp-cors ha-ffmpeg]; # missing inputs: logi_circle
    "london_air" = ps: with ps; [ ];
    "london_underground" = ps: with ps; [ ]; # missing inputs: london-tube-status
    "loopenergy" = ps: with ps; [ ]; # missing inputs: pyloopenergy
    "lovelace" = ps: with ps; [ ];
    "luci" = ps: with ps; [ openwrt-luci-rpc];
    "luftdaten" = ps: with ps; [ luftdaten];
    "lupusec" = ps: with ps; [ ]; # missing inputs: lupupy
    "lutron" = ps: with ps; [ ]; # missing inputs: pylutron
    "lutron_caseta" = ps: with ps; [ ]; # missing inputs: pylutron-caseta
    "lw12wifi" = ps: with ps; [ ]; # missing inputs: lw12
    "lyft" = ps: with ps; [ ]; # missing inputs: lyft_rides
    "magicseaweed" = ps: with ps; [ ]; # missing inputs: magicseaweed
    "mailbox" = ps: with ps; [ aiohttp-cors];
    "mailgun" = ps: with ps; [ aiohttp-cors]; # missing inputs: pymailgunner
    "manual" = ps: with ps; [ ];
    "manual_mqtt" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt];
    "map" = ps: with ps; [ aiohttp-cors]; # missing inputs: home-assistant-frontend
    "marytts" = ps: with ps; [ ]; # missing inputs: speak2mary
    "mastodon" = ps: with ps; [ ]; # missing inputs: Mastodon.py
    "matrix" = ps: with ps; [ matrix-client];
    "maxcube" = ps: with ps; [ ]; # missing inputs: maxcube-api
    "mcp23017" = ps: with ps; [ ]; # missing inputs: RPi.GPIO adafruit-blinka adafruit-circuitpython-mcp230xx
    "media_extractor" = ps: with ps; [ aiohttp-cors youtube-dl-light];
    "media_player" = ps: with ps; [ aiohttp-cors];
    "mediaroom" = ps: with ps; [ ]; # missing inputs: pymediaroom
    "melcloud" = ps: with ps; [ ]; # missing inputs: pymelcloud
    "melissa" = ps: with ps; [ ]; # missing inputs: py-melissa-climate
    "meraki" = ps: with ps; [ aiohttp-cors];
    "message_bird" = ps: with ps; [ ]; # missing inputs: messagebird
    "met" = ps: with ps; [ pymetno];
    "meteo_france" = ps: with ps; [ ]; # missing inputs: meteofrance vigilancemeteo
    "meteoalarm" = ps: with ps; [ ]; # missing inputs: meteoalertapi
    "metoffice" = ps: with ps; [ ]; # missing inputs: datapoint
    "mfi" = ps: with ps; [ ]; # missing inputs: mficlient
    "mhz19" = ps: with ps; [ ]; # missing inputs: pmsensor
    "microsoft" = ps: with ps; [ ]; # missing inputs: pycsspeechtts
    "microsoft_face" = ps: with ps; [ aiohttp-cors];
    "microsoft_face_detect" = ps: with ps; [ aiohttp-cors];
    "microsoft_face_identify" = ps: with ps; [ aiohttp-cors];
    "miflora" = ps: with ps; [ ]; # missing inputs: bluepy miflora
    "mikrotik" = ps: with ps; [ ]; # missing inputs: librouteros
    "mill" = ps: with ps; [ ]; # missing inputs: millheater
    "min_max" = ps: with ps; [ ];
    "minecraft_server" = ps: with ps; [ aiodns getmac]; # missing inputs: mcstatus
    "minio" = ps: with ps; [ minio];
    "mitemp_bt" = ps: with ps; [ ]; # missing inputs: mitemp_bt
    "mjpeg" = ps: with ps; [ ];
    "mobile_app" = ps: with ps; [ pynacl aiohttp-cors];
    "mochad" = ps: with ps; [ ]; # missing inputs: pymochad
    "modbus" = ps: with ps; [ ]; # missing inputs: pymodbus
    "modem_callerid" = ps: with ps; [ ]; # missing inputs: basicmodem
    "mold_indicator" = ps: with ps; [ ];
    "monoprice" = ps: with ps; [ ]; # missing inputs: pymonoprice
    "moon" = ps: with ps; [ ];
    "mpchc" = ps: with ps; [ ];
    "mpd" = ps: with ps; [ mpd2];
    "mqtt" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt];
    "mqtt_eventstream" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt];
    "mqtt_json" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt];
    "mqtt_room" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt];
    "mqtt_statestream" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt];
    "msteams" = ps: with ps; [ ]; # missing inputs: pymsteams
    "mvglive" = ps: with ps; [ PyMVGLive];
    "mychevy" = ps: with ps; [ ]; # missing inputs: mychevy
    "mycroft" = ps: with ps; [ ]; # missing inputs: mycroftapi
    "myq" = ps: with ps; [ ]; # missing inputs: pymyq
    "mysensors" = ps: with ps; [ ]; # missing inputs: pymysensors
    "mystrom" = ps: with ps; [ aiohttp-cors]; # missing inputs: python-mystrom
    "mythicbeastsdns" = ps: with ps; [ ]; # missing inputs: mbddns
    "n26" = ps: with ps; [ ]; # missing inputs: n26
    "nad" = ps: with ps; [ ]; # missing inputs: nad_receiver
    "namecheapdns" = ps: with ps; [ defusedxml];
    "nanoleaf" = ps: with ps; [ ]; # missing inputs: pynanoleaf
    "neato" = ps: with ps; [ pybotvac];
    "nederlandse_spoorwegen" = ps: with ps; [ ]; # missing inputs: nsapi
    "nello" = ps: with ps; [ ]; # missing inputs: pynello
    "ness_alarm" = ps: with ps; [ ]; # missing inputs: nessclient
    "nest" = ps: with ps; [ ]; # missing inputs: python-nest
    "netatmo" = ps: with ps; [ aiohttp-cors pyatmo];
    "netdata" = ps: with ps; [ ]; # missing inputs: netdata
    "netgear" = ps: with ps; [ ]; # missing inputs: pynetgear
    "netgear_lte" = ps: with ps; [ ]; # missing inputs: eternalegypt
    "netio" = ps: with ps; [ aiohttp-cors]; # missing inputs: pynetio
    "neurio_energy" = ps: with ps; [ ]; # missing inputs: neurio
    "nexia" = ps: with ps; [ ]; # missing inputs: nexia
    "nextbus" = ps: with ps; [ ]; # missing inputs: py_nextbusnext
    "nextcloud" = ps: with ps; [ ]; # missing inputs: nextcloudmonitor
    "nfandroidtv" = ps: with ps; [ ];
    "niko_home_control" = ps: with ps; [ ]; # missing inputs: niko-home-control
    "nilu" = ps: with ps; [ ]; # missing inputs: niluclient
    "nissan_leaf" = ps: with ps; [ ]; # missing inputs: pycarwings2
    "nmap_tracker" = ps: with ps; [ getmac]; # missing inputs: python-nmap
    "nmbs" = ps: with ps; [ ]; # missing inputs: pyrail
    "no_ip" = ps: with ps; [ ];
    "noaa_tides" = ps: with ps; [ ]; # missing inputs: py_noaa
    "norway_air" = ps: with ps; [ pymetno];
    "notify" = ps: with ps; [ ];
    "notion" = ps: with ps; [ ]; # missing inputs: aionotion
    "nsw_fuel_station" = ps: with ps; [ ]; # missing inputs: nsw-fuel-api-client
    "nsw_rural_fire_service_feed" = ps: with ps; [ ]; # missing inputs: aio_geojson_nsw_rfs_incidents
    "nuheat" = ps: with ps; [ ]; # missing inputs: nuheat
    "nuimo_controller" = ps: with ps; [ ]; # missing inputs: --only-binary=all nuimo
    "nuki" = ps: with ps; [ ]; # missing inputs: pynuki
    "nut" = ps: with ps; [ ]; # missing inputs: pynut2
    "nws" = ps: with ps; [ ]; # missing inputs: pynws
    "nx584" = ps: with ps; [ ]; # missing inputs: pynx584
    "nzbget" = ps: with ps; [ ]; # missing inputs: pynzbgetapi
    "oasa_telematics" = ps: with ps; [ ]; # missing inputs: oasatelematics
    "obihai" = ps: with ps; [ ]; # missing inputs: pyobihai
    "octoprint" = ps: with ps; [ ];
    "oem" = ps: with ps; [ ]; # missing inputs: oemthermostat
    "ohmconnect" = ps: with ps; [ defusedxml];
    "ombi" = ps: with ps; [ ]; # missing inputs: pyombi
    "onboarding" = ps: with ps; [ aiohttp-cors];
    "onewire" = ps: with ps; [ ]; # missing inputs: pyownet
    "onkyo" = ps: with ps; [ onkyo-eiscp];
    "onvif" = ps: with ps; [ ha-ffmpeg]; # missing inputs: onvif-zeep-async
    "openalpr_cloud" = ps: with ps; [ ];
    "openalpr_local" = ps: with ps; [ ];
    "opencv" = ps: with ps; [ numpy]; # missing inputs: opencv-python-headless
    "openevse" = ps: with ps; [ ]; # missing inputs: openevsewifi
    "openexchangerates" = ps: with ps; [ ];
    "opengarage" = ps: with ps; [ ];
    "openhardwaremonitor" = ps: with ps; [ ];
    "openhome" = ps: with ps; [ ]; # missing inputs: openhomedevice
    "opensensemap" = ps: with ps; [ ]; # missing inputs: opensensemap-api
    "opensky" = ps: with ps; [ ];
    "opentherm_gw" = ps: with ps; [ ]; # missing inputs: pyotgw
    "openuv" = ps: with ps; [ ]; # missing inputs: pyopenuv
    "openweathermap" = ps: with ps; [ pyowm];
    "opnsense" = ps: with ps; [ ]; # missing inputs: pyopnsense
    "opple" = ps: with ps; [ ]; # missing inputs: pyoppleio
    "orangepi_gpio" = ps: with ps; [ ]; # missing inputs: OPi.GPIO
    "oru" = ps: with ps; [ ]; # missing inputs: oru
    "orvibo" = ps: with ps; [ ]; # missing inputs: orvibo
    "osramlightify" = ps: with ps; [ ]; # missing inputs: lightify
    "otp" = ps: with ps; [ pyotp];
    "owntracks" = ps: with ps; [ pynacl aiohttp-cors];
    "panasonic_bluray" = ps: with ps; [ ]; # missing inputs: panacotta
    "panasonic_viera" = ps: with ps; [ wakeonlan]; # missing inputs: panasonic_viera
    "pandora" = ps: with ps; [ pexpect];
    "panel_custom" = ps: with ps; [ aiohttp-cors]; # missing inputs: home-assistant-frontend
    "panel_iframe" = ps: with ps; [ aiohttp-cors]; # missing inputs: home-assistant-frontend
    "pcal9535a" = ps: with ps; [ ]; # missing inputs: pcal9535a
    "pencom" = ps: with ps; [ ]; # missing inputs: pencompy
    "persistent_notification" = ps: with ps; [ ];
    "person" = ps: with ps; [ ];
    "philips_js" = ps: with ps; [ ]; # missing inputs: ha-philipsjs
    "pi_hole" = ps: with ps; [ ]; # missing inputs: hole
    "picotts" = ps: with ps; [ ];
    "piglow" = ps: with ps; [ ]; # missing inputs: piglow
    "pilight" = ps: with ps; [ ]; # missing inputs: pilight
    "ping" = ps: with ps; [ ];
    "pioneer" = ps: with ps; [ ];
    "pjlink" = ps: with ps; [ ]; # missing inputs: pypjlink2
    "plaato" = ps: with ps; [ aiohttp-cors];
    "plant" = ps: with ps; [ ];
    "plex" = ps: with ps; [ aiohttp-cors plexapi plexauth plexwebsocket];
    "plugwise" = ps: with ps; [ ]; # missing inputs: haanna
    "plum_lightpad" = ps: with ps; [ ]; # missing inputs: plumlightpad
    "pocketcasts" = ps: with ps; [ ]; # missing inputs: pocketcasts
    "point" = ps: with ps; [ aiohttp-cors]; # missing inputs: pypoint
    "powerwall" = ps: with ps; [ ]; # missing inputs: tesla-powerwall
    "prezzibenzina" = ps: with ps; [ ]; # missing inputs: prezzibenzina-py
    "proliphix" = ps: with ps; [ ]; # missing inputs: proliphix
    "prometheus" = ps: with ps; [ aiohttp-cors prometheus_client];
    "prowl" = ps: with ps; [ ];
    "proximity" = ps: with ps; [ ];
    "proxmoxve" = ps: with ps; [ ]; # missing inputs: proxmoxer
    "proxy" = ps: with ps; [ pillow];
    "ps4" = ps: with ps; [ ]; # missing inputs: pyps4-2ndscreen
    "ptvsd" = ps: with ps; [ ]; # missing inputs: ptvsd
    "pulseaudio_loopback" = ps: with ps; [ ];
    "push" = ps: with ps; [ aiohttp-cors];
    "pushbullet" = ps: with ps; [ pushbullet];
    "pushetta" = ps: with ps; [ ]; # missing inputs: pushetta
    "pushover" = ps: with ps; [ pushover-complete];
    "pushsafer" = ps: with ps; [ ];
    "pvoutput" = ps: with ps; [ ];
    "pvpc_hourly_pricing" = ps: with ps; [ ]; # missing inputs: aiopvpc
    "pyload" = ps: with ps; [ ];
    "python_script" = ps: with ps; [ restrictedpython];
    "qbittorrent" = ps: with ps; [ ]; # missing inputs: python-qbittorrent
    "qld_bushfire" = ps: with ps; [ ]; # missing inputs: georss_qld_bushfire_alert_client
    "qnap" = ps: with ps; [ ]; # missing inputs: qnapstats
    "qrcode" = ps: with ps; [ pillow]; # missing inputs: pyzbar
    "quantum_gateway" = ps: with ps; [ ]; # missing inputs: quantum-gateway
    "qvr_pro" = ps: with ps; [ ]; # missing inputs: pyqvrpro
    "qwikswitch" = ps: with ps; [ ]; # missing inputs: pyqwikswitch
    "rachio" = ps: with ps; [ aiohttp-cors]; # missing inputs: rachiopy
    "radarr" = ps: with ps; [ ];
    "radiotherm" = ps: with ps; [ ]; # missing inputs: radiotherm
    "rainbird" = ps: with ps; [ ]; # missing inputs: pyrainbird
    "raincloud" = ps: with ps; [ ]; # missing inputs: raincloudy
    "rainforest_eagle" = ps: with ps; [ ]; # missing inputs: eagle200_reader uEagle
    "rainmachine" = ps: with ps; [ ]; # missing inputs: regenmaschine
    "random" = ps: with ps; [ ];
    "raspihats" = ps: with ps; [ ]; # missing inputs: raspihats smbus-cffi
    "raspyrfm" = ps: with ps; [ ]; # missing inputs: raspyrfm-client
    "recollect_waste" = ps: with ps; [ ]; # missing inputs: recollect-waste
    "recorder" = ps: with ps; [ sqlalchemy];
    "recswitch" = ps: with ps; [ ]; # missing inputs: pyrecswitch
    "reddit" = ps: with ps; [ praw];
    "rejseplanen" = ps: with ps; [ ]; # missing inputs: rjpl
    "remember_the_milk" = ps: with ps; [ httplib2]; # missing inputs: RtmAPI
    "remote" = ps: with ps; [ ];
    "remote_rpi_gpio" = ps: with ps; [ ]; # missing inputs: gpiozero
    "repetier" = ps: with ps; [ ]; # missing inputs: pyrepetier
    "rest" = ps: with ps; [ jsonpath xmltodict];
    "rest_command" = ps: with ps; [ ];
    "rflink" = ps: with ps; [ ]; # missing inputs: rflink
    "rfxtrx" = ps: with ps; [ ]; # missing inputs: pyRFXtrx
    "ring" = ps: with ps; [ ha-ffmpeg]; # missing inputs: ring_doorbell
    "ripple" = ps: with ps; [ ]; # missing inputs: python-ripple-api
    "rmvtransport" = ps: with ps; [ ]; # missing inputs: PyRMVtransport
    "rocketchat" = ps: with ps; [ ]; # missing inputs: rocketchat-API
    "roku" = ps: with ps; [ roku];
    "roomba" = ps: with ps; [ ]; # missing inputs: roombapy
    "route53" = ps: with ps; [ boto3]; # missing inputs: ipify
    "rova" = ps: with ps; [ ]; # missing inputs: rova
    "rpi_camera" = ps: with ps; [ ];
    "rpi_gpio" = ps: with ps; [ ]; # missing inputs: RPi.GPIO
    "rpi_gpio_pwm" = ps: with ps; [ ]; # missing inputs: pwmled
    "rpi_pfio" = ps: with ps; [ ]; # missing inputs: pifacecommon pifacedigitalio
    "rpi_rf" = ps: with ps; [ ]; # missing inputs: rpi-rf
    "rss_feed_template" = ps: with ps; [ aiohttp-cors];
    "rtorrent" = ps: with ps; [ ];
    "russound_rio" = ps: with ps; [ ]; # missing inputs: russound_rio
    "russound_rnet" = ps: with ps; [ ]; # missing inputs: russound
    "sabnzbd" = ps: with ps; [ ]; # missing inputs: pysabnzbd
    "safe_mode" = ps: with ps; [ aiohttp-cors hass-nabucasa]; # missing inputs: home-assistant-frontend
    "saj" = ps: with ps; [ ]; # missing inputs: pysaj
    "salt" = ps: with ps; [ ]; # missing inputs: saltbox
    "samsungtv" = ps: with ps; [ ]; # missing inputs: samsungctl[websocket] samsungtvws[websocket]
    "satel_integra" = ps: with ps; [ ]; # missing inputs: satel_integra
    "scene" = ps: with ps; [ ];
    "schluter" = ps: with ps; [ ]; # missing inputs: py-schluter
    "scrape" = ps: with ps; [ beautifulsoup4];
    "script" = ps: with ps; [ ];
    "scsgate" = ps: with ps; [ ]; # missing inputs: scsgate
    "search" = ps: with ps; [ aiohttp-cors];
    "season" = ps: with ps; [ ephem];
    "sendgrid" = ps: with ps; [ ]; # missing inputs: sendgrid
    "sense" = ps: with ps; [ ]; # missing inputs: sense_energy
    "sensehat" = ps: with ps; [ ]; # missing inputs: sense-hat
    "sensibo" = ps: with ps; [ ]; # missing inputs: pysensibo
    "sensor" = ps: with ps; [ ];
    "sentry" = ps: with ps; [ sentry-sdk];
    "serial" = ps: with ps; [ pyserial-asyncio];
    "serial_pm" = ps: with ps; [ ]; # missing inputs: pmsensor
    "sesame" = ps: with ps; [ ]; # missing inputs: pysesame2
    "seven_segments" = ps: with ps; [ pillow];
    "seventeentrack" = ps: with ps; [ ]; # missing inputs: py17track
    "shell_command" = ps: with ps; [ ];
    "shiftr" = ps: with ps; [ paho-mqtt];
    "shodan" = ps: with ps; [ shodan];
    "shopping_list" = ps: with ps; [ aiohttp-cors];
    "sht31" = ps: with ps; [ ]; # missing inputs: Adafruit-GPIO Adafruit-SHT31
    "sigfox" = ps: with ps; [ ];
    "sighthound" = ps: with ps; [ pillow]; # missing inputs: simplehound
    "signal_messenger" = ps: with ps; [ ]; # missing inputs: pysignalclirestapi
    "simplepush" = ps: with ps; [ ]; # missing inputs: simplepush
    "simplisafe" = ps: with ps; [ ]; # missing inputs: simplisafe-python
    "simulated" = ps: with ps; [ ];
    "sinch" = ps: with ps; [ ]; # missing inputs: clx-sdk-xms
    "sisyphus" = ps: with ps; [ ]; # missing inputs: sisyphus-control
    "sky_hub" = ps: with ps; [ ];
    "skybeacon" = ps: with ps; [ ]; # missing inputs: pygatt[GATTTOOL]
    "skybell" = ps: with ps; [ ]; # missing inputs: skybellpy
    "slack" = ps: with ps; [ ]; # missing inputs: slackclient
    "sleepiq" = ps: with ps; [ ]; # missing inputs: sleepyq
    "slide" = ps: with ps; [ ]; # missing inputs: goslide-api
    "sma" = ps: with ps; [ ]; # missing inputs: pysma
    "smappee" = ps: with ps; [ ]; # missing inputs: smappy
    "smarthab" = ps: with ps; [ ]; # missing inputs: smarthab
    "smartthings" = ps: with ps; [ aiohttp-cors]; # missing inputs: pysmartapp pysmartthings
    "smarty" = ps: with ps; [ ]; # missing inputs: pysmarty
    "smhi" = ps: with ps; [ ]; # missing inputs: smhi-pkg
    "sms" = ps: with ps; [ ]; # missing inputs: python-gammu
    "smtp" = ps: with ps; [ ];
    "snapcast" = ps: with ps; [ snapcast];
    "snips" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt];
    "snmp" = ps: with ps; [ pysnmp];
    "sochain" = ps: with ps; [ ]; # missing inputs: python-sochain-api
    "socialblade" = ps: with ps; [ ]; # missing inputs: socialbladeclient
    "solaredge" = ps: with ps; [ stringcase]; # missing inputs: solaredge
    "solaredge_local" = ps: with ps; [ ]; # missing inputs: solaredge-local
    "solarlog" = ps: with ps; [ ]; # missing inputs: sunwatcher
    "solax" = ps: with ps; [ ]; # missing inputs: solax
    "soma" = ps: with ps; [ ]; # missing inputs: pysoma
    "somfy" = ps: with ps; [ aiohttp-cors]; # missing inputs: pymfy
    "somfy_mylink" = ps: with ps; [ ]; # missing inputs: somfy-mylink-synergy
    "sonarr" = ps: with ps; [ ];
    "songpal" = ps: with ps; [ ]; # missing inputs: python-songpal
    "sonos" = ps: with ps; [ pysonos];
    "sony_projector" = ps: with ps; [ ]; # missing inputs: pysdcp
    "soundtouch" = ps: with ps; [ libsoundtouch];
    "spaceapi" = ps: with ps; [ aiohttp-cors];
    "spc" = ps: with ps; [ ]; # missing inputs: pyspcwebgw
    "speedtestdotnet" = ps: with ps; [ speedtest-cli];
    "spider" = ps: with ps; [ ]; # missing inputs: spiderpy
    "splunk" = ps: with ps; [ ];
    "spotcrime" = ps: with ps; [ ]; # missing inputs: spotcrime
    "spotify" = ps: with ps; [ aiohttp-cors spotipy];
    "sql" = ps: with ps; [ sqlalchemy];
    "squeezebox" = ps: with ps; [ ];
    "ssdp" = ps: with ps; [ defusedxml netdisco];
    "starline" = ps: with ps; [ ]; # missing inputs: starline
    "starlingbank" = ps: with ps; [ ]; # missing inputs: starlingbank
    "startca" = ps: with ps; [ xmltodict];
    "statistics" = ps: with ps; [ ];
    "statsd" = ps: with ps; [ statsd];
    "steam_online" = ps: with ps; [ ]; # missing inputs: steamodd
    "stiebel_eltron" = ps: with ps; [ ]; # missing inputs: pymodbus pystiebeleltron
    "stookalert" = ps: with ps; [ ]; # missing inputs: stookalert
    "stream" = ps: with ps; [ aiohttp-cors av];
    "streamlabswater" = ps: with ps; [ ]; # missing inputs: streamlabswater
    "stt" = ps: with ps; [ aiohttp-cors];
    "suez_water" = ps: with ps; [ ]; # missing inputs: pysuez
    "sun" = ps: with ps; [ ];
    "supervisord" = ps: with ps; [ ];
    "supla" = ps: with ps; [ ]; # missing inputs: pysupla
    "surepetcare" = ps: with ps; [ ]; # missing inputs: surepy
    "swiss_hydrological_data" = ps: with ps; [ ]; # missing inputs: swisshydrodata
    "swiss_public_transport" = ps: with ps; [ ]; # missing inputs: python_opendata_transport
    "swisscom" = ps: with ps; [ ];
    "switch" = ps: with ps; [ ];
    "switchbot" = ps: with ps; [ ]; # missing inputs: PySwitchbot
    "switcher_kis" = ps: with ps; [ ]; # missing inputs: aioswitcher
    "switchmate" = ps: with ps; [ ]; # missing inputs: pySwitchmate
    "syncthru" = ps: with ps; [ ]; # missing inputs: pysyncthru
    "synology" = ps: with ps; [ ]; # missing inputs: py-synology
    "synology_chat" = ps: with ps; [ ];
    "synology_srm" = ps: with ps; [ ]; # missing inputs: synology-srm
    "synologydsm" = ps: with ps; [ ]; # missing inputs: python-synology
    "syslog" = ps: with ps; [ ];
    "system_health" = ps: with ps; [ aiohttp-cors];
    "system_log" = ps: with ps; [ aiohttp-cors];
    "systemmonitor" = ps: with ps; [ psutil];
    "tado" = ps: with ps; [ ]; # missing inputs: python-tado
    "tahoma" = ps: with ps; [ ]; # missing inputs: tahoma-api
    "tank_utility" = ps: with ps; [ ]; # missing inputs: tank_utility
    "tankerkoenig" = ps: with ps; [ ]; # missing inputs: pytankerkoenig
    "tapsaff" = ps: with ps; [ ]; # missing inputs: tapsaff
    "tautulli" = ps: with ps; [ ]; # missing inputs: pytautulli
    "tcp" = ps: with ps; [ ];
    "ted5000" = ps: with ps; [ xmltodict];
    "teksavvy" = ps: with ps; [ ];
    "telegram" = ps: with ps; [ pysocks aiohttp-cors python-telegram-bot];
    "telegram_bot" = ps: with ps; [ pysocks aiohttp-cors python-telegram-bot];
    "tellduslive" = ps: with ps; [ ]; # missing inputs: tellduslive
    "tellstick" = ps: with ps; [ ]; # missing inputs: tellcore-net tellcore-py
    "telnet" = ps: with ps; [ ];
    "temper" = ps: with ps; [ ]; # missing inputs: temperusb
    "template" = ps: with ps; [ ];
    "tensorflow" = ps: with ps; [ numpy pillow protobuf tensorflow];
    "tesla" = ps: with ps; [ ]; # missing inputs: teslajsonpy
    "tfiac" = ps: with ps; [ ]; # missing inputs: pytfiac
    "thermoworks_smoke" = ps: with ps; [ stringcase]; # missing inputs: thermoworks_smoke
    "thethingsnetwork" = ps: with ps; [ ];
    "thingspeak" = ps: with ps; [ ]; # missing inputs: thingspeak
    "thinkingcleaner" = ps: with ps; [ ]; # missing inputs: pythinkingcleaner
    "thomson" = ps: with ps; [ ];
    "threshold" = ps: with ps; [ ];
    "tibber" = ps: with ps; [ ]; # missing inputs: pyTibber
    "tikteck" = ps: with ps; [ ]; # missing inputs: tikteck
    "tile" = ps: with ps; [ ]; # missing inputs: pytile
    "time_date" = ps: with ps; [ ];
    "timer" = ps: with ps; [ ];
    "tmb" = ps: with ps; [ ]; # missing inputs: tmb
    "tod" = ps: with ps; [ ];
    "todoist" = ps: with ps; [ todoist];
    "tof" = ps: with ps; [ ]; # missing inputs: RPi.GPIO VL53L1X2
    "tomato" = ps: with ps; [ ];
    "toon" = ps: with ps; [ ]; # missing inputs: toonapilib
    "torque" = ps: with ps; [ aiohttp-cors];
    "totalconnect" = ps: with ps; [ ]; # missing inputs: total_connect_client
    "touchline" = ps: with ps; [ ]; # missing inputs: pytouchline
    "tplink" = ps: with ps; [ ]; # missing inputs: pyHS100
    "tplink_lte" = ps: with ps; [ ]; # missing inputs: tp-connected
    "traccar" = ps: with ps; [ aiohttp-cors stringcase]; # missing inputs: pytraccar
    "trackr" = ps: with ps; [ ]; # missing inputs: pytrackr
    "tradfri" = ps: with ps; [ ]; # missing inputs: pytradfri[async]
    "trafikverket_train" = ps: with ps; [ ]; # missing inputs: pytrafikverket
    "trafikverket_weatherstation" = ps: with ps; [ ]; # missing inputs: pytrafikverket
    "transmission" = ps: with ps; [ transmissionrpc];
    "transport_nsw" = ps: with ps; [ ]; # missing inputs: PyTransportNSW
    "travisci" = ps: with ps; [ ]; # missing inputs: TravisPy
    "trend" = ps: with ps; [ numpy];
    "tts" = ps: with ps; [ aiohttp-cors mutagen];
    "tuya" = ps: with ps; [ ]; # missing inputs: tuyaha
    "twentemilieu" = ps: with ps; [ ]; # missing inputs: twentemilieu
    "twilio" = ps: with ps; [ aiohttp-cors twilio];
    "twilio_call" = ps: with ps; [ aiohttp-cors twilio];
    "twilio_sms" = ps: with ps; [ aiohttp-cors twilio];
    "twitch" = ps: with ps; [ ]; # missing inputs: python-twitch-client
    "twitter" = ps: with ps; [ ]; # missing inputs: TwitterAPI
    "ubee" = ps: with ps; [ ]; # missing inputs: pyubee
    "ubus" = ps: with ps; [ ];
    "ue_smart_radio" = ps: with ps; [ ];
    "uk_transport" = ps: with ps; [ ];
    "unifi" = ps: with ps; [ aiounifi];
    "unifi_direct" = ps: with ps; [ pexpect];
    "unifiled" = ps: with ps; [ ]; # missing inputs: unifiled
    "universal" = ps: with ps; [ ];
    "upc_connect" = ps: with ps; [ ]; # missing inputs: connect-box
    "upcloud" = ps: with ps; [ ]; # missing inputs: upcloud-api
    "updater" = ps: with ps; [ distro];
    "upnp" = ps: with ps; [ ]; # missing inputs: async-upnp-client
    "uptime" = ps: with ps; [ ];
    "uptimerobot" = ps: with ps; [ ]; # missing inputs: pyuptimerobot
    "uscis" = ps: with ps; [ ]; # missing inputs: uscisstatus
    "usgs_earthquakes_feed" = ps: with ps; [ ]; # missing inputs: geojson_client
    "utility_meter" = ps: with ps; [ ];
    "uvc" = ps: with ps; [ ]; # missing inputs: uvcclient
    "vacuum" = ps: with ps; [ ];
    "vallox" = ps: with ps; [ ]; # missing inputs: vallox-websocket-api
    "vasttrafik" = ps: with ps; [ ]; # missing inputs: vtjp
    "velbus" = ps: with ps; [ ]; # missing inputs: python-velbus
    "velux" = ps: with ps; [ ]; # missing inputs: pyvlx
    "venstar" = ps: with ps; [ ]; # missing inputs: venstarcolortouch
    "vera" = ps: with ps; [ ]; # missing inputs: pyvera
    "verisure" = ps: with ps; [ jsonpath]; # missing inputs: vsure
    "versasense" = ps: with ps; [ ]; # missing inputs: pyversasense
    "version" = ps: with ps; [ pyhaversion];
    "vesync" = ps: with ps; [ ]; # missing inputs: pyvesync
    "viaggiatreno" = ps: with ps; [ ];
    "vicare" = ps: with ps; [ ]; # missing inputs: PyViCare
    "vilfo" = ps: with ps; [ ]; # missing inputs: vilfo-api-client
    "vivotek" = ps: with ps; [ ]; # missing inputs: libpyvivotek
    "vizio" = ps: with ps; [ ]; # missing inputs: pyvizio
    "vlc" = ps: with ps; [ python-vlc];
    "vlc_telnet" = ps: with ps; [ ]; # missing inputs: python-telnet-vlc
    "voicerss" = ps: with ps; [ ];
    "volkszaehler" = ps: with ps; [ ]; # missing inputs: volkszaehler
    "volumio" = ps: with ps; [ ];
    "volvooncall" = ps: with ps; [ ]; # missing inputs: volvooncall
    "vultr" = ps: with ps; [ vultr];
    "w800rf32" = ps: with ps; [ ]; # missing inputs: pyW800rf32
    "wake_on_lan" = ps: with ps; [ wakeonlan];
    "waqi" = ps: with ps; [ ]; # missing inputs: waqiasync
    "water_heater" = ps: with ps; [ ];
    "waterfurnace" = ps: with ps; [ ]; # missing inputs: waterfurnace
    "watson_iot" = ps: with ps; [ ]; # missing inputs: ibmiotf
    "watson_tts" = ps: with ps; [ ]; # missing inputs: ibm-watson
    "waze_travel_time" = ps: with ps; [ WazeRouteCalculator];
    "weather" = ps: with ps; [ ];
    "webhook" = ps: with ps; [ aiohttp-cors];
    "webostv" = ps: with ps; [ ]; # missing inputs: aiopylgtv
    "websocket_api" = ps: with ps; [ aiohttp-cors];
    "wemo" = ps: with ps; [ ]; # missing inputs: pywemo
    "whois" = ps: with ps; [ ]; # missing inputs: python-whois
    "wink" = ps: with ps; [ aiohttp-cors]; # missing inputs: pubnubsub-handler python-wink
    "wirelesstag" = ps: with ps; [ ]; # missing inputs: wirelesstagpy
    "withings" = ps: with ps; [ aiohttp-cors]; # missing inputs: withings-api
    "wled" = ps: with ps; [ ]; # missing inputs: wled
    "workday" = ps: with ps; [ holidays];
    "worldclock" = ps: with ps; [ ];
    "worldtidesinfo" = ps: with ps; [ ];
    "worxlandroid" = ps: with ps; [ ];
    "wsdot" = ps: with ps; [ ];
    "wunderground" = ps: with ps; [ ];
    "wunderlist" = ps: with ps; [ ]; # missing inputs: wunderpy2
    "wwlln" = ps: with ps; [ ]; # missing inputs: aiowwlln
    "x10" = ps: with ps; [ ];
    "xbox_live" = ps: with ps; [ ]; # missing inputs: xboxapi
    "xeoma" = ps: with ps; [ ]; # missing inputs: pyxeoma
    "xfinity" = ps: with ps; [ ]; # missing inputs: xfinity-gateway
    "xiaomi" = ps: with ps; [ ha-ffmpeg];
    "xiaomi_aqara" = ps: with ps; [ ]; # missing inputs: PyXiaomiGateway
    "xiaomi_miio" = ps: with ps; [ construct python-miio];
    "xiaomi_tv" = ps: with ps; [ ]; # missing inputs: pymitv
    "xmpp" = ps: with ps; [ slixmpp];
    "xs1" = ps: with ps; [ ]; # missing inputs: xs1-api-client
    "yale_smart_alarm" = ps: with ps; [ ]; # missing inputs: yalesmartalarmclient
    "yamaha" = ps: with ps; [ rxv];
    "yamaha_musiccast" = ps: with ps; [ ]; # missing inputs: pymusiccast
    "yandex_transport" = ps: with ps; [ ]; # missing inputs: ya_ma
    "yandextts" = ps: with ps; [ ];
    "yeelight" = ps: with ps; [ ]; # missing inputs: yeelight
    "yeelightsunflower" = ps: with ps; [ ]; # missing inputs: yeelightsunflower
    "yessssms" = ps: with ps; [ ]; # missing inputs: YesssSMS
    "yi" = ps: with ps; [ aioftp ha-ffmpeg];
    "yr" = ps: with ps; [ xmltodict];
    "yweather" = ps: with ps; [ yahooweather];
    "zabbix" = ps: with ps; [ ]; # missing inputs: pyzabbix
    "zamg" = ps: with ps; [ ];
    "zengge" = ps: with ps; [ ]; # missing inputs: zengge
    "zeroconf" = ps: with ps; [ aiohttp-cors zeroconf];
    "zestimate" = ps: with ps; [ xmltodict];
    "zha" = ps: with ps; [ zha-quirks zigpy-deconz zigpy]; # missing inputs: bellows-homeassistant zigpy-cc zigpy-xbee-homeassistant zigpy-zigate
    "zhong_hong" = ps: with ps; [ ]; # missing inputs: zhong_hong_hvac
    "zigbee" = ps: with ps; [ ]; # missing inputs: xbee-helper
    "ziggo_mediabox_xl" = ps: with ps; [ ]; # missing inputs: ziggo-mediabox-xl
    "zone" = ps: with ps; [ ];
    "zoneminder" = ps: with ps; [ zm-py];
    "zwave" = ps: with ps; [ homeassistant-pyozw pydispatcher];
  };
}