Is your feature request related to a problem? Please describe.
Listing all your package (optional) dependencies as required leads to dependency hell. If someone doesn't need to use the tool as CLI, he doesn't need click. If someone doesn't need to use REST API, he doesn't need FastAPI and uvicorn. And most likely, nobody needs things like watchdog unless you're in development mode. I suggest moving all optional dependencies to extras_require (just like you did with gpu).
Describe the solution you'd like
Avoid dependency hell. Move some dependencies from install_requires to extras_require.
Describe alternatives you've considered
No alternatives, except fork the package, clean things up and keep syncing with upstream.
Is your feature request related to a problem? Please describe. Listing all your package (optional) dependencies as required leads to dependency hell. If someone doesn't need to use the tool as CLI, he doesn't need
click
. If someone doesn't need to use REST API, he doesn't needFastAPI
anduvicorn
. And most likely, nobody needs things likewatchdog
unless you're in development mode. I suggest moving all optional dependencies toextras_require
(just like you did withgpu
).Describe the solution you'd like Avoid dependency hell. Move some dependencies from
install_requires
toextras_require
.Describe alternatives you've considered No alternatives, except fork the package, clean things up and keep syncing with upstream.