permitio / fastapi_websocket_pubsub

A fast and durable Pub/Sub channel over Websockets. FastAPI + WebSockets + PubSub == ⚑ πŸ’ͺ ❀️

Home Page:https://permit.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

starlette requirement failing

opened this issue Β· comments

I'm trying to use fastapi_websocket_pubsub on a Raspberry Pi. pip install doesn't work


pi@raspberrypi:~ $ pip install fastapi_websocket_pubsub
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting fastapi_websocket_pubsub
  Could not find a version that satisfies the requirement fastapi_websocket_pubsub (from versions: )
No matching distribution found for fastapi_websocket_pubsub

so I tried to install from one of the release archives directly. This produced the error

fastapi 0.65.0 has requirement starlette==0.14.2, but you'll have starlette 0.13.6 which is incompatible.

Here's the complete output:


pi@raspberrypi:~/Downloads $ python3 -m pip install v0.1.18.tar.gz
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Processing ./v0.1.18.tar.gz
Collecting broadcaster==0.2.0 (from fastapi-websocket-pubsub==0.1.18)
  Downloading https://files.pythonhosted.org/packages/a8/28/500ebd98ca2cc8f70626bb3521fc3afed88c0d0c8a739630ccb5ec7ca47                                    2/broadcaster-0.2.0-py3-none-any.whl
Collecting fastapi-websocket-rpc>=0.1.18 (from fastapi-websocket-pubsub==0.1.18)
  Downloading https://files.pythonhosted.org/packages/5c/cd/fd643ea736ff81099f975cfaaaa1788014c98a0624035fed9a602d015ed                                    2/fastapi_websocket_rpc-0.1.18-py3-none-any.whl
Collecting fastapi (from fastapi-websocket-rpc>=0.1.18->fastapi-websocket-pubsub==0.1.18)
  Downloading https://files.pythonhosted.org/packages/2c/2a/4b5dcc2eabaa439f81387b0d3f80ebb2ea52b0436720b713fef79db32b7                                    e/fastapi-0.65.0-py3-none-any.whl (50kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 51kB 288kB/s
Collecting aiohttp>=3.7.2 (from fastapi-websocket-rpc>=0.1.18->fastapi-websocket-pubsub==0.1.18)
  Downloading https://www.piwheels.org/simple/aiohttp/aiohttp-3.7.4.post0-cp37-cp37m-linux_armv6l.whl (1.3MB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 1.3MB 67kB/s
Collecting pydantic (from fastapi-websocket-rpc>=0.1.18->fastapi-websocket-pubsub==0.1.18)
  Downloading https://files.pythonhosted.org/packages/8f/c4/a83f0b745d824a85ee5e4c8d26329d1c687b3a9303eca762dcc37372173                                    4/pydantic-1.8.1-py3-none-any.whl (125kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 133kB 418kB/s
Collecting uvicorn (from fastapi-websocket-rpc>=0.1.18->fastapi-websocket-pubsub==0.1.18)
  Downloading https://files.pythonhosted.org/packages/c8/de/953f0289508b1b92debdf0a6822d9b88ffb0c6ad471d709cf639a2c8a17                                    6/uvicorn-0.13.4-py3-none-any.whl (46kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 51kB 427kB/s
Collecting starlette==0.13.6 (from fastapi-websocket-rpc>=0.1.18->fastapi-websocket-pubsub==0.1.18)
  Downloading https://files.pythonhosted.org/packages/c5/a4/c9e228d7d47044ce4c83ba002f28ff479e542455f0499198a3f77c94f56                                    4/starlette-0.13.6-py3-none-any.whl (59kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 61kB 185kB/s
Collecting websockets (from fastapi-websocket-rpc>=0.1.18->fastapi-websocket-pubsub==0.1.18)
  Downloading https://www.piwheels.org/simple/websockets/websockets-9.0.1-cp37-cp37m-linux_armv6l.whl (101kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 102kB 265kB/s
Collecting requests>=2.25.0 (from fastapi-websocket-rpc>=0.1.18->fastapi-websocket-pubsub==0.1.18)
  Downloading https://files.pythonhosted.org/packages/29/c1/24814557f1d22c56d50280771a17307e6bf87b70727d975fd6b2ce6b014                                    a/requests-2.25.1-py2.py3-none-any.whl (61kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 61kB 192kB/s
Collecting tenacity>=6.3.1 (from fastapi-websocket-rpc>=0.1.18->fastapi-websocket-pubsub==0.1.18)
  Downloading https://files.pythonhosted.org/packages/41/ee/d6eddff86161c6a3a1753af4a66b06cbc508d3b77ca4698cd0374cd6653                                    1/tenacity-7.0.0-py2.py3-none-any.whl
Collecting multidict<7.0,>=4.5 (from aiohttp>=3.7.2->fastapi-websocket-rpc>=0.1.18->fastapi-websocket-pubsub==0.1.18)
  Downloading https://files.pythonhosted.org/packages/1c/74/e8b46156f37ca56d10d895d4e8595aa2b344cff3c1fb3629ec97a8656cc                                    b/multidict-5.1.0.tar.gz (53kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 61kB 265kB/s
  Installing build dependencies ... done
Requirement already satisfied: chardet<5.0,>=2.0 in /usr/lib/python3/dist-packages (from aiohttp>=3.7.2->fastapi-websoc                                    ket-rpc>=0.1.18->fastapi-websocket-pubsub==0.1.18) (3.0.4)
Collecting yarl<2.0,>=1.0 (from aiohttp>=3.7.2->fastapi-websocket-rpc>=0.1.18->fastapi-websocket-pubsub==0.1.18)
  Downloading https://www.piwheels.org/simple/yarl/yarl-1.6.3-cp37-cp37m-linux_armv6l.whl (262kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 266kB 260kB/s
Collecting async-timeout<4.0,>=3.0 (from aiohttp>=3.7.2->fastapi-websocket-rpc>=0.1.18->fastapi-websocket-pubsub==0.1.1                                    8)
  Downloading https://files.pythonhosted.org/packages/e1/1e/5a4441be21b0726c4464f3f23c8b19628372f606755a9d2e46c187e65ec                                    4/async_timeout-3.0.1-py3-none-any.whl
Collecting typing-extensions>=3.6.5 (from aiohttp>=3.7.2->fastapi-websocket-rpc>=0.1.18->fastapi-websocket-pubsub==0.1.                                    18)
  Downloading https://files.pythonhosted.org/packages/2e/35/6c4fff5ab443b57116cb1aad46421fb719bed2825664e8fe77d66d99bcb                                    c/typing_extensions-3.10.0.0-py3-none-any.whl
Collecting attrs>=17.3.0 (from aiohttp>=3.7.2->fastapi-websocket-rpc>=0.1.18->fastapi-websocket-pubsub==0.1.18)
  Downloading https://files.pythonhosted.org/packages/20/a9/ba6f1cd1a1517ff022b35acd6a7e4246371dfab08b8e42b829b6d07913c                                    c/attrs-21.2.0-py2.py3-none-any.whl (53kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 61kB 491kB/s
Collecting h11>=0.8 (from uvicorn->fastapi-websocket-rpc>=0.1.18->fastapi-websocket-pubsub==0.1.18)
  Downloading https://files.pythonhosted.org/packages/60/0f/7a0eeea938eaf61074f29fed9717f2010e8d0e0905d36b38d3275a1e462                                    2/h11-0.12.0-py3-none-any.whl (54kB)
    100% |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 61kB 519kB/s
Requirement already satisfied: click==7.* in /usr/lib/python3/dist-packages (from uvicorn->fastapi-websocket-rpc>=0.1.1                                    8->fastapi-websocket-pubsub==0.1.18) (7.0)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/lib/python3/dist-packages (from requests>=2.25.0->fastapi-                                    websocket-rpc>=0.1.18->fastapi-websocket-pubsub==0.1.18) (1.24.1)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from requests>=2.25.0->fastapi-web                                    socket-rpc>=0.1.18->fastapi-websocket-pubsub==0.1.18) (2018.8.24)
Requirement already satisfied: idna<3,>=2.5 in /usr/lib/python3/dist-packages (from requests>=2.25.0->fastapi-websocket                                    -rpc>=0.1.18->fastapi-websocket-pubsub==0.1.18) (2.6)
Requirement already satisfied: six>=1.9.0 in /usr/lib/python3/dist-packages (from tenacity>=6.3.1->fastapi-websocket-rp                                    c>=0.1.18->fastapi-websocket-pubsub==0.1.18) (1.12.0)
Building wheels for collected packages: fastapi-websocket-pubsub, multidict
  Running setup.py bdist_wheel for fastapi-websocket-pubsub ... done
  Stored in directory: /tmp/pip-ephem-wheel-cache-zmte8q0s/wheels/2d/ec/39/e3f0b6ac2e50b81155acd465120b86bb85aa6fd78248                                    eb3d22
  Running setup.py bdist_wheel for multidict ... done
  Stored in directory: /home/pi/.cache/pip/wheels/e7/05/d2/f5c04c29d0e4b234dbcd4b609b51f8c65d67ff9bbd01c904b1
Successfully built fastapi-websocket-pubsub multidict
fastapi 0.65.0 has requirement starlette==0.14.2, but you'll have starlette 0.13.6 which is incompatible.
Installing collected packages: broadcaster, typing-extensions, pydantic, starlette, fastapi, multidict, yarl, async-tim                                    eout, attrs, aiohttp, h11, uvicorn, websockets, requests, tenacity, fastapi-websocket-rpc, fastapi-websocket-pubsub
  The script uvicorn is installed in '/home/pi/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed aiohttp-3.7.4.post0 async-timeout-3.0.1 attrs-21.2.0 broadcaster-0.2.0 fastapi-0.65.0 fastapi-we                                    bsocket-pubsub-0.1.18 fastapi-websocket-rpc-0.1.18 h11-0.12.0 multidict-5.1.0 pydantic-1.8.1 requests-2.25.1 starlette-                                    0.13.6 tenacity-7.0.0 typing-extensions-3.10.0.0 uvicorn-0.13.4 websockets-9.0.1 yarl-1.6.3

Hi @bluetooth-mdw :)
Thanks for reporting. This seems to be an issue with the requirements configuration we have for fastapi_websocekt_rpc, which failed with the new version of fastapi which upgraded to a new starlette.
I'll issue a new version of fastapi_websocekt_rpc to fix this.

I've published - https://pypi.org/project/fastapi-websocket-rpc/0.1.19/ which would fix this issue. You many need to clear you pip cache and/or explicitly upgrade fastapi_websocket_rpc (i.e.pip install fastapi-websocket-rpc --upgrade)

If this doesn't resolve the issue for you, please feel free to reopen this thread.

That was quick! Thank you :-)