-
-
Notifications
You must be signed in to change notification settings - Fork 753
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use optional package installs #666
Conversation
resolves encode#219
…almarklein-options
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My biggest gripe with this change is that as a person only just coming to uvicorn, I have no idea what "fast deps" are, what they give me, what "possibles" I am to gain or lose.
We'll have to expand readme's intro and describe what I get when I do pip install uvicorn
vs what I'll get when I do pip install uvicorn[smth]
.
I tried to be more explicit on what those 2 installation options mean @rafalp , you're right that was cryptic. |
How can I help to move this forward? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking ace yup! I think we might want some minor tweaks in the docs languages. (Eg maybe "optional extras" over "goodies", and something like "Cython-based" rather than "fast"?)
README.md
Outdated
|
||
In this context, "fast" means the following: | ||
In this context, "Cython-based" means the following: | ||
|
||
- the event loop `uvloop` will be installed and used if possible. | ||
- the http protocol will be handled by `httptools` if possible. | ||
- the websocket protocol will be handled by `websockets` (should you want to use `wsproto` you'd need to install it manually) if possible. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess the "websockets" one ought to go under optional extras really. (The "uvloop" and "httptools" cases here are kinda different in that they're not adding extra behaviour, so they're purely due to performance-something-something)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes this is indeeed the case !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
amended
https://github.com/encode/uvicorn/releases/tag/0.12.1 https://github.com/encode/uvicorn/blob/master/CHANGELOG.md encode/uvicorn#666 encode/uvicorn#788 encode/uvicorn#790 encode/uvicorn#792 encode/uvicorn#794 #13 079b432 059e28b Uvicorn now separates its optional dependencies from the base package installation. The install command is `poetry add "uvicorn[standard]"`.
continuation of #298
from last comments there this does:
pip install uvicorn
# A minimal installpip install uvicorn[standard]
# An install complete with extras and platform dependencies--reload
option--env-file
optionthat leaves wsproto aside as @tomchristie last comment suggests.