Skip to content
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

Split required dependencies #6

Open
dennislemonmarkets opened this issue Jul 1, 2021 · 1 comment
Open

Split required dependencies #6

dennislemonmarkets opened this issue Jul 1, 2021 · 1 comment
Labels
enhancement New feature or request question Further information is requested

Comments

@dennislemonmarkets
Copy link

First things first: I really love what you did with this WTFix module. 👍🏻

Could we split the required installs to reduce the total installation size?

eg. aioredis is only required if you use RedisMessageStore or PubSub app. And gunicorn and flask_restulf are only required if you use the RESTfulServiceApp.

By using extras_required (https://setuptools.readthedocs.io/en/latest/userguide/dependency_management.html#optional-dependencies) those dependencies could be split leading to an overall more modular setup.
What do you think about this?

@jcass77
Copy link
Owner

jcass77 commented Jul 5, 2021

Thanks for your interest in WTFix. I am open to making the installation more modular as long as it does not make the package harder to figure out for new users.

At the moment we follow an 'enabled by default' approach for features, which means that new users will get a fully functional implementation out of the box to play with. They can then selectively start disabling features / uninstalling dependencies as they come to understand what they need for their specific project (I suspect this is similar to the approach that you took).

Taking the opposite approach, and disabling features by default, means that new users will need to spend a non trivial amount of time to understand which features they need, how to activate / configure them, and which dependencies they rely on.

All of this would probably be easier if we had more comprehensive documentation available. But I kind of like the idea that the current approach is simple enough that going through the README should hopefully be all that you need to get up and running.

Please submit a PR if you have a good approach that you think will work without compromising ease of use.

@jcass77 jcass77 added enhancement New feature or request question Further information is requested labels Jul 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants